Skip to content

Commit 9e11e27

Browse files
committed
Update PR
Update PR
1 parent 73b1867 commit 9e11e27

2 files changed

Lines changed: 64 additions & 62 deletions

File tree

ci/e2e/run.py

Lines changed: 62 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -78,68 +78,68 @@
7878

7979
def build_test_suite() -> list:
8080
return [
81-
#TestCase0001BasicResync(),
82-
#TestCase0002SyncListValidation(),
83-
#TestCase0003DryRunValidation(),
84-
#TestCase0004SingleDirectorySync(),
85-
#TestCase0005ForceSyncOverride(),
86-
#TestCase0006DownloadOnly(),
87-
#TestCase0007DownloadOnlyCleanupLocalFiles(),
88-
#TestCase0008UploadOnly(),
89-
#TestCase0009UploadOnlyNoRemoteDelete(),
90-
#TestCase0010UploadOnlyRemoveSourceFiles(),
91-
#TestCase0011SkipFileValidation(),
92-
#TestCase0012SkipDirValidation(),
93-
#TestCase0013SkipDotfilesValidation(),
94-
#TestCase0014SkipSizeValidation(),
95-
#TestCase0015SkipSymlinksValidation(),
96-
#TestCase0016CheckNosyncValidation(),
97-
#TestCase0017CheckNomountValidation(),
98-
#TestCase0018RecycleBinValidation(),
99-
#TestCase0019LoggingAndRunningConfig(),
100-
#TestCase0020MonitorModeValidation(),
101-
#TestCase0021ResumableTransfersValidation(),
102-
#TestCase0022LocalFirstValidation(),
103-
#TestCase0023BypassDataPreservationValidation(),
104-
#TestCase0024BigDeleteSafeguardValidation(),
105-
#TestCase0025InvalidCharacterFilenameValidation(),
106-
#TestCase0026ReservedDeviceNameValidation(),
107-
#TestCase0027WhitespaceTrailingDotValidation(),
108-
#TestCase0028ControlCharacterNonUtf8FilenameValidation(),
109-
#TestCase0029LocalFirstUploadOnlyTimestampPreservationValidation(),
110-
#TestCase0030LocalRenamePropagationValidation(),
111-
#TestCase0031LocalDirectoryRenamePropagationValidation(),
112-
#TestCase0032RemoteRenameReconciliation(),
113-
#TestCase0033RemoteDirectoryRenameReconciliation(),
114-
#TestCase0034LocalMoveBetweenDirectoriesValidation(),
115-
#TestCase0035RemoteMoveBetweenDirectoriesReconciliation(),
116-
#TestCase0036OverwriteReplaceExistingFileContentValidation(),
117-
#TestCase0037MtimeOnlyLocalChangeHandling(),
118-
#TestCase0038DeleteAndRecreateWithSameNameValidation(),
119-
#TestCase0039EmptyDirectoryHandling(),
120-
#TestCase0040NestedTreeRenameAndDeleteStressValidation(),
121-
#TestCase0041MonitorModeLocalCreateUpload(),
122-
#TestCase0042MonitorModeLocalModifyUpload(),
123-
#TestCase0043MonitorModeLocalDeletePropagation(),
124-
#TestCase0044MonitorModeLocalRenamePropagation(),
125-
#TestCase0045MonitorModeLocalDirectoryCreatePropagation(),
126-
#TestCase0046MonitorModeLocalDirectoryRenamePropagation(),
127-
#TestCase0047MonitorModeLocalDirectoryDeletePropagation(),
128-
#TestCase0048MonitorModeBurstLocalFileCreates(),
129-
#TestCase0049MonitorModeMixedBurstOperations(),
130-
#TestCase0050MonitorModeNestedFileCreateInsideNewDirectory(),
131-
#TestCase0051MonitorModeMtimeOnlyLocalChangeHandling(),
132-
#TestCase0052MonitorModeLargeFileCreateSessionUpload(),
133-
#TestCase0053MonitorModeRenameThenModify(),
134-
#TestCase0054MonitorModeAtomicSaveEditorReplaceWorkflow(),
135-
#TestCase0055UploadOnlyRemoveSourceFolders(),
136-
#TestCase0056MonitorModeCreateThenDeleteQuickly(),
137-
#TestCase0057RecycleBinDeleteBehaviourValidation(),
138-
#TestCase0058MonitorDownloadOnlyCleanupCadence(),
139-
#TestCase0059WebSocketRemoteUploadNotification(),
140-
#TestCase0060MonitorModeLocalMoveNoDeleteReupload(),
141-
#TestCase0061RemoteMoveIntoSkipDirReconciliation(),
142-
#TestCase0062TransferMetricsValidation(),
81+
TestCase0001BasicResync(),
82+
TestCase0002SyncListValidation(),
83+
TestCase0003DryRunValidation(),
84+
TestCase0004SingleDirectorySync(),
85+
TestCase0005ForceSyncOverride(),
86+
TestCase0006DownloadOnly(),
87+
TestCase0007DownloadOnlyCleanupLocalFiles(),
88+
TestCase0008UploadOnly(),
89+
TestCase0009UploadOnlyNoRemoteDelete(),
90+
TestCase0010UploadOnlyRemoveSourceFiles(),
91+
TestCase0011SkipFileValidation(),
92+
TestCase0012SkipDirValidation(),
93+
TestCase0013SkipDotfilesValidation(),
94+
TestCase0014SkipSizeValidation(),
95+
TestCase0015SkipSymlinksValidation(),
96+
TestCase0016CheckNosyncValidation(),
97+
TestCase0017CheckNomountValidation(),
98+
TestCase0018RecycleBinValidation(),
99+
TestCase0019LoggingAndRunningConfig(),
100+
TestCase0020MonitorModeValidation(),
101+
TestCase0021ResumableTransfersValidation(),
102+
TestCase0022LocalFirstValidation(),
103+
TestCase0023BypassDataPreservationValidation(),
104+
TestCase0024BigDeleteSafeguardValidation(),
105+
TestCase0025InvalidCharacterFilenameValidation(),
106+
TestCase0026ReservedDeviceNameValidation(),
107+
TestCase0027WhitespaceTrailingDotValidation(),
108+
TestCase0028ControlCharacterNonUtf8FilenameValidation(),
109+
TestCase0029LocalFirstUploadOnlyTimestampPreservationValidation(),
110+
TestCase0030LocalRenamePropagationValidation(),
111+
TestCase0031LocalDirectoryRenamePropagationValidation(),
112+
TestCase0032RemoteRenameReconciliation(),
113+
TestCase0033RemoteDirectoryRenameReconciliation(),
114+
TestCase0034LocalMoveBetweenDirectoriesValidation(),
115+
TestCase0035RemoteMoveBetweenDirectoriesReconciliation(),
116+
TestCase0036OverwriteReplaceExistingFileContentValidation(),
117+
TestCase0037MtimeOnlyLocalChangeHandling(),
118+
TestCase0038DeleteAndRecreateWithSameNameValidation(),
119+
TestCase0039EmptyDirectoryHandling(),
120+
TestCase0040NestedTreeRenameAndDeleteStressValidation(),
121+
TestCase0041MonitorModeLocalCreateUpload(),
122+
TestCase0042MonitorModeLocalModifyUpload(),
123+
TestCase0043MonitorModeLocalDeletePropagation(),
124+
TestCase0044MonitorModeLocalRenamePropagation(),
125+
TestCase0045MonitorModeLocalDirectoryCreatePropagation(),
126+
TestCase0046MonitorModeLocalDirectoryRenamePropagation(),
127+
TestCase0047MonitorModeLocalDirectoryDeletePropagation(),
128+
TestCase0048MonitorModeBurstLocalFileCreates(),
129+
TestCase0049MonitorModeMixedBurstOperations(),
130+
TestCase0050MonitorModeNestedFileCreateInsideNewDirectory(),
131+
TestCase0051MonitorModeMtimeOnlyLocalChangeHandling(),
132+
TestCase0052MonitorModeLargeFileCreateSessionUpload(),
133+
TestCase0053MonitorModeRenameThenModify(),
134+
TestCase0054MonitorModeAtomicSaveEditorReplaceWorkflow(),
135+
TestCase0055UploadOnlyRemoveSourceFolders(),
136+
TestCase0056MonitorModeCreateThenDeleteQuickly(),
137+
TestCase0057RecycleBinDeleteBehaviourValidation(),
138+
TestCase0058MonitorDownloadOnlyCleanupCadence(),
139+
TestCase0059WebSocketRemoteUploadNotification(),
140+
TestCase0060MonitorModeLocalMoveNoDeleteReupload(),
141+
TestCase0061RemoteMoveIntoSkipDirReconciliation(),
142+
TestCase0062TransferMetricsValidation(),
143143
TestCase0063LocalParentRenameDuringDownload(),
144144
]
145145

docs/end_to_end_testing.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,8 @@ SharePoint end-to-end testing uses the same complete automated test suite as Per
8989
| 0060 | Monitor mode local move reconciliation without delete/re-upload |-&nbsp;Personal<br>-&nbsp;Business<br>-&nbsp;SharePoint| This test validates that moving already synchronised local files and populated directory trees while running under `--monitor --verbose` is correctly propagated as remote move operations rather than delete and re-upload behaviour. The test performs local inotify-triggered move operations while the client is actively monitoring the filesystem, validates that remote state is updated to the new path location, and confirms through debug log analysis that stale descendant delete operations and unnecessary re-upload activity do not occur during reconciliation. |
9090
| 0061 | Remote move into skip_dir reconciliation |-&nbsp;Personal<br>-&nbsp;Business<br>-&nbsp;SharePoint| This test validates that when a second synchronising endpoint running in --monitor mode moves previously synchronised files from a normal synced path into a destination excluded via skip_dir, the original Linux client correctly reconciles the remote move using its existing local database state. The test confirms that stale local source files are removed from the original synced location, skipped destination content is not downloaded locally, unrelated sibling files remain preserved, and the moved files remain correctly online in the skipped destination path. |
9191
| 0062 | Transfer Metrics validation |-&nbsp;Personal<br>-&nbsp;Business<br>-&nbsp;SharePoint| This test validates that upload and download transfer metric reporting is generated correctly when running with --verbose --verbose. The test confirms that transfer statistics are emitted for both upload and download operations, validates reported file size accuracy, verifies the presence of separate network transfer and end-to-end processing duration fields, and ensures transfer speed reporting is correctly formatted using Mbps units. |
92+
| 0063 | Local parent path rename during active download |-&nbsp;Personal<br>-&nbsp;Business<br>-&nbsp;SharePoint| This test validates client behaviour when a local parent directory is renamed while a file download is actively in progress during a normal synchronisation operation using `local_first = true`. The test confirms that local filesystem races are correctly detected and reported, that download failures are handled safely without client instability or database corruption, and that local filesystem failures are not incorrectly reported as Microsoft Graph API HTTP status code errors.|
93+
9294

9395
### OneDrive Personal Shared Folder Testing
9496
Personal Shared Folder end-to-end testing validates client behaviour when synchronising content accessed via OneDrive shared folder shortcuts.

0 commit comments

Comments
 (0)