Commit Graph
587 Commits
Author SHA1 Message Date
Kenneth Skovhede 11a27042bc Merge remote-tracking branch 'origin/master' into feature/alternate-source-provider 2025-02-26 19:25:46 +01:00
Kenneth Skovhede f77e529eb6 Merge commit '2339aeff28adba15442d0be60c56568ae642ad0b' into feature/make-backends-async 2025-02-26 15:23:48 +01:00
Kenneth Skovhede 1428d8cc6f Preserve order of input sources 2025-02-24 12:53:48 +01:00
Kenneth Skovhede 655f5ef635 Added interuption test
This adds a test with a failed upload.

The failed upload is done in parallel, so (at least) one of the uploads succeeeds and one upload fails.

The backup then errors, but a subsequent backup continues without errors and creates a synthetic filelist.

Also refactored the DeterministicErrorBackend to not use magic strings.
And made it actually deterministic.
2025-02-20 11:00:28 +01:00
Kenneth Skovhede 0f9669b273 Final conversion to async backends
This PR is the final change, where all backends are now purely implemented with async interfaces.

The code changes here replace the LIST call with an async version. This affect all backends (and then some) but the changes are mostly mechanical rewrites of the code.

In many places, the backeds were already prepared for async output, in other some glue was needed.

To reduce the scope of this change, some backends simply report a synchronous result as an async list.
2025-02-17 16:45:51 +01:00
Kenneth Skovhede 6bbc93b8df Merge remote-tracking branch 'origin/master' into feature/alternate-source-provider 2025-02-16 16:37:12 +01:00
Kenneth Skovhede 4a9ad45250 Repaired import/export test 2025-02-16 16:33:15 +01:00
Kenneth Skovhede 8cead82274 Moved a sanity check up 2025-02-16 16:09:48 +01:00
Kenneth Skovhede d8f6b3370a Removed unused code 2025-02-16 16:09:20 +01:00
Kenneth SkovhedeandGitHub e76bbc478f Merge pull request #5950 from duplicati/feature/fix-zip-fallback
Handle automatic fallback when reading zip files
2025-02-10 21:06:39 +01:00
Kenneth SkovhedeandGitHub 11df878673 Merge pull request #5949 from duplicati/feature/protect-datafolder
Add permission protection to data folder and database
2025-02-10 21:06:15 +01:00
Kenneth SkovhedeandGitHub 6693b77d85 Merge pull request #5948 from duplicati/feature/fix-not-storing-updated-timestamps
Fix not storing updated timestamps
2025-02-10 21:05:46 +01:00
Carl Johnsen d33fa0caf9 Fixed a typo in a unit test assertion 2025-02-10 14:02:36 +01:00
Carl Johnsen 3962cc1297 Added a test to cover Issue #5957 2025-02-10 13:44:21 +01:00
Kenneth Skovhede 14207848ab Fix test instability 2025-02-07 19:19:19 +01:00
Kenneth Skovhede adbd6b6a7c Added support for fallback when reading zip files with unsupported compression methods 2025-02-06 21:35:49 +01:00
Kenneth Skovhede ebdfc774c2 Removed static IO_WIN and IO_SYS as cross-platform calls are not possible. 2025-02-06 16:57:12 +01:00
Kenneth Skovhede 74d5b757e8 Added test that replicates issue #4312 2025-02-06 15:30:28 +01:00
Carl Johnsen 4943a0de2d Found another suffix > prefix change 2025-02-03 19:40:55 +01:00
Carl Johnsen f38fc6ba18 Extended the general remote synchronization test with more general usage 2025-02-03 19:21:08 +01:00
Carl Johnsen 4d007795a8 Added a test for the two verify flags 2025-02-03 13:47:18 +01:00
Carl Johnsen 0e86f44593 Added a test for dry run 2025-02-03 13:41:01 +01:00
Carl Johnsen 2dd3aaffb3 Added a test for the retention option with an empty source directory 2025-02-03 13:21:45 +01:00
Carl Johnsen 55aca59aeb Added a test for whether an empty source deletes destination files. 2025-02-03 13:13:53 +01:00
Carl Johnsen a8edca231b Added a test with everything being empty 2025-02-03 13:12:38 +01:00
Carl Johnsen 217c26c663 Added more tests of the log level enum 2025-02-03 10:32:30 +01:00
Carl Johnsen 347e299132 Merge branch 'master' into feature/rsync_tool 2025-02-03 09:48:52 +01:00
Carl Johnsen f88c2971a3 Added a test for parsing all of the commandline options 2025-02-03 09:06:30 +01:00
Carl Johnsen 4b6d73ddbd Included Duplicati.CommandLine to get the console output sink for logging. 2025-01-30 13:22:45 +01:00
Carl Johnsen c40ee2e156 Added light profiling to the console output of the rsync tool test 2025-01-29 04:33:54 +01:00
Carl Johnsen 35f75ce70e Proper forwarding of the test options to the rsync tool during test 2025-01-29 04:33:29 +01:00
Carl Johnsen dc75b4c09c Proper OS independant paths in the rsync tool test 2025-01-29 04:32:51 +01:00
Carl Johnsen 3d194e8da5 Reworded confirm commandline option description 2025-01-28 14:39:29 +01:00
Carl Johnsen 552f9747e2 Modified ToolTests.GenerateTestData to use async/await for improved performance 2025-01-28 09:49:22 +01:00
Carl Johnsen 2df0710d7e Added the capability to forward multiple tokens to an option 2025-01-28 09:48:51 +01:00
Kenneth SkovhedeandGitHub f7b7555e87 Fixes for tests (#5918)
* Two small test fixes

* Ignore exceptions when comitting an empty transaction

* Attempt to fix FTP connection issue

* Unified test by having a single download function.
Added DNS probing call to attempt fixing sporadic DNS errors.

* Fixed argument order

* Avoid creating temp file during tests, if not needed
2025-01-28 08:55:28 +01:00
Kenneth SkovhedeandGitHub d99f74ed94 Rewrite the backend manager. (#5896)
* Rewrite the backend manager.

This creates a new more logic backend manager that handles all backend operations.

For each top-level operation, there is now a single backend manager instance that is passed to sub-commands.

The internals of the backend manager are now rewritten to use async logic instead of threading.

The design uses a single task runner that dispatches operations and honors concurrent settings and limits from one place.

The logic for each operation has been moved into a separate files/classes to make it easier to understand each operation.

This fixes #5804

* Fixed a few issues with not awaiting tasks

* Fixed not creating empty databases

* Fixed an issue with hashes not being recorded on download

* Reworked the download logic to avoid attempting to decrypt the file if it has been modified.

* Review fixes

* Renamed db collector to better reflect the purpose.

* Review fixes
2025-01-28 08:54:50 +01:00
Carl Johnsen c0f4146ba7 Changed the rsync unit test to use the test folders and generate test data 2025-01-27 10:06:49 +01:00
Carl Johnsen 3c62fb7e39 Preliminary rsync tool test implemented. 2025-01-27 09:53:48 +01:00
Kenneth SkovhedeandGitHub 6c493186a7 Changed MissingFileDetected message to Warning (#5893)
* Changed `MissingFileDetected` message to `Warning`

* Updated tests to match errors/warning counts
2025-01-22 21:18:33 +01:00
Kenneth SkovhedeandGitHub 997891525a Updated license-updater to update csproj files (#5898)
* Updated license-updater to update csproj files

* License updates
2025-01-22 21:04:19 +01:00
Carl Johnsen af69436a1e Added preliminary unittest for the remote synchronization tool 2025-01-22 06:10:43 +01:00
Carl Johnsen 628684a2f7 Added the correct PR number to the new test 2025-01-17 12:34:52 +01:00
Carl Johnsen 35bf86799b Added a unit test for restore of a partial file 2025-01-17 12:29:11 +01:00
Kenneth SkovhedeandGitHub 52a73c3418 Fixed issue 5845 (#5880)
* Fixed issue 5845

This commit introduces the test that makes the error.

* Fixed query cleaning up duplicates, in the case that where a block has multiple valid source candidates.

* Reduced number of replicas for the test
2025-01-16 14:27:15 +01:00
Kenneth SkovhedeandGitHub d64c7e721f Handle duplicated missing blocks (#5858)
* Implemented test for #5845

* Removed unittests not executing cleanup.

* Cleanup commit

* Fixed the query that causes the constraint violation
2025-01-10 09:24:54 +01:00
Kenneth SkovhedeandGitHub 382ba172b3 Fixed duplicate entries in index files (#5856)
* Added test to verify that compression modules will mask duplicate entries, if present

* Because there are likely many, otherwise valid, dindex zip archives with duplicated blocklists out there, the log message is now verbose.

To make sure we no longer create archives with duplicated entries, the `--unittest-mode` option makes this a warning that is checked in most tests.

* Added guard in `IndexVolumeCreator` to prevent creating zip files with duplicated block lists.

* Added debug check for duplicates

* Fixed the duplicate test
2025-01-10 09:24:31 +01:00
Kenneth SkovhedeandGitHub 9464caf622 Feature/update license 2025 (#5851)
* Fixed some minor whitespace issues

* Updated all copyright to 2025
2025-01-07 09:40:39 +01:00
Carl Johnsen 284b14b72f Merge branch 'master' into bugfix/restore-overwrite 2025-01-06 14:43:03 +01:00
Carl Johnsen e88b16dd86 Add assertions to verify untouched files during restore operations 2025-01-05 12:28:08 +01:00