Commit Graph
431 Commits
Author SHA1 Message Date
Kenneth Hsu a58f6b5d69 Add test for restoring file with newline character in name.
This concerns #4508.
2021-05-14 18:36:28 -07:00
Kenneth Hsu 4cc7beea2c Add test for restoring directory containing problematic filenames. 2021-05-14 18:34:52 -07:00
Kenneth Hsu 53621c984d Simplify verification of restored file in test. 2021-05-14 18:34:52 -07:00
warwickmmandGitHub 50ed059e11 Merge pull request #4469 from tygill/fix/ms-graph-throttling
Fix OneDrive throttling and respect retry-after header.
2021-05-04 09:42:52 -07:00
warwickmmandGitHub da2e51a80b Merge pull request #4431 from warwickmm/add_workflow_for_tests
Add GitHub workflow to run tests
2021-05-03 11:47:18 -07:00
Kenneth Skovhede b550e61d9b Re-added compatibility analyzers 2021-04-03 21:49:51 +02:00
Kenneth Skovhede 8892ff7df3 Cleaned up all .csproj files.
Moved things around to make cleaner build files.
Implementing everything with `netstandard2.1` and then thin wrapper executables using .net5
2021-04-03 13:57:02 +02:00
Thomas Suckow 70727b9f68 Merge remote-tracking branch 'duplicati/master'
# Conflicts:
#	.appveyor.yml
#	Duplicati.sln
#	Duplicati/CommandLine/BackendTester/Duplicati.CommandLine.BackendTester.csproj
#	Duplicati/CommandLine/BackendTool/Duplicati.CommandLine.BackendTool.csproj
#	Duplicati/CommandLine/Duplicati.CommandLine.csproj
#	Duplicati/CommandLine/RecoveryTool/Duplicati.CommandLine.RecoveryTool.csproj
#	Duplicati/GUI/Duplicati.GUI.TrayIcon/Duplicati.GUI.TrayIcon.csproj
#	Duplicati/Library/Backend/SSHv2/Duplicati.Library.Backend.SSHv2.csproj
#	Duplicati/Library/Backend/SSHv2/packages.config
#	Duplicati/Library/Backend/Tardigrade/Duplicati.Library.Backend.Tardigrade.csproj
#	Duplicati/Library/Backend/Telegram/Duplicati.Library.Backend.Telegram.csproj
#	Duplicati/Library/Backend/Telegram/Properties/AssemblyInfo.cs
#	Duplicati/License/Duplicati.License.csproj
#	Duplicati/Server/Duplicati.Server.csproj
#	Duplicati/UnitTest/Duplicati.UnitTest.csproj
#	Duplicati/UnitTest/PurgeTesting.cs
#	Installer/fedora/duplicati-binary.spec
#	Installer/fedora/duplicati.spec
#	guiTests/guiTest.py
#	pipeline/shared/duplicati.sh
#	pipeline/stage_build/trigger.sh
#	pipeline/stage_integrationtests/job.sh
#	pipeline/stage_integrationtests/trigger.sh
#	pipeline/stage_unittests/trigger.sh
2021-04-01 20:30:19 -07:00
Kenneth Skovhede 4f565a004f Merge branch 'netstandard' of https://github.com/mnaiman/duplicati into netstandard
# Conflicts:
#	Duplicati.sln
#	Duplicati/CommandLine/BackendTester/Duplicati.CommandLine.BackendTester.csproj
#	Duplicati/CommandLine/BackendTool/Duplicati.CommandLine.BackendTool.csproj
#	Duplicati/CommandLine/Duplicati.CommandLine.csproj
#	Duplicati/CommandLine/RecoveryTool/Duplicati.CommandLine.RecoveryTool.csproj
#	Duplicati/GUI/Duplicati.GUI.TrayIcon/Duplicati.GUI.TrayIcon.csproj
#	Duplicati/Library/Backend/SSHv2/Duplicati.Library.Backend.SSHv2.csproj
#	Duplicati/Library/Backend/SSHv2/packages.config
#	Duplicati/Library/Backend/Tardigrade/Duplicati.Library.Backend.Tardigrade.csproj
#	Duplicati/Library/Backend/Telegram/Duplicati.Library.Backend.Telegram.csproj
#	Duplicati/Library/Backend/Telegram/Properties/AssemblyInfo.cs
#	Duplicati/License/Duplicati.License.csproj
#	Duplicati/Server/Duplicati.Server.csproj
#	Duplicati/UnitTest/Duplicati.UnitTest.csproj
2021-04-01 15:08:42 +02:00
Tyler Gill 70583f5d93 Add a bit more test coverage. 2021-03-20 12:29:57 -06:00
Tyler Gill 719adbf1f1 Clean up a few more bugs and inconsistencies in ReadLimitLengthStream. 2021-03-19 13:59:09 -06:00
Tyler Gill 7f1b6bc7a2 Fix some bugs in ReadLimitLengthStream changes, and add a unit test for some of the new behavior.
Also make NonSeekableStream block seeks via the Position setter.
2021-03-18 12:24:11 -06:00
Kenneth Skovhede 88a1ec59c3 Added delay to purge-broken-files unittest.
Since the repair introduces artifical filelists, there is sometimes a race in CI where the purge is faster than a second causing the time sequences to not line up during testing.
2021-03-08 11:53:13 +01:00
Kenneth SkovhedeandGitHub 5498f16f7a Merge pull request #4414 from warwickmm/test/run_script_after
Add test for run-script-after option
2021-03-06 15:00:38 +01:00
Kenneth SkovhedeandGitHub 90a8c34c06 Merge pull request #4398 from warwickmm/bugfix/repair_missing_blocklists
Fix bug in repairing multiple missing blocklist hashes
2021-03-06 14:23:20 +01:00
Kenneth SkovhedeandGitHub 713b0b0746 Merge pull request #4417 from warwickmm/handle_unsupported_run_script_exit_codes
Abort with error if run-script-before script returns unsupported code
2021-03-06 14:12:33 +01:00
Kenneth Hsu d6e9e08272 Increase tolerance for last write time tests on macOS.
There are occasionally times where the difference is greater than 500ms.

1) Failed : Duplicati.UnitTest.BorderTests.Run100k
  Restore, creation time mismatch for /Users/runner/duplicati_testdata/backup-data/c-m2 and /Users/runner/duplicati_testdata/restored/c-m2
  Expected: 2021-02-08 18:39:04.9202665 +/- 00:00:00.5000000
  But was:  2021-02-08 18:39:05.572262
  at Duplicati.UnitTest.TestUtils.AssertFilesAreEqual (System.String
  expectedFile, System.String actualFile, System.Boolean verifymetadata,
  System.String contextMessage) [0x0016f] in
  /Users/runner/work/duplicati/duplicati/Duplicati/UnitTest/TestUtils.cs:256
2021-02-08 11:48:05 -08:00
Kenneth Hsu cb89d50862 Increase tolerance for last write time tests on macOS.
There are occasionally times where the difference is greater than 200ms.

1) Failed : Duplicati.UnitTest.BorderTests.Run100k
  Restore, creation time mismatch for /Users/runner/duplicati_testdata/backup-data/b-p500 and /Users/runner/duplicati_testdata/restored/b-p500
  Expected: 2021-02-08 00:34:08.0221856 +/- 00:00:00.2500000
  But was:  2021-02-08 00:34:08.296859

  at Duplicati.UnitTest.TestUtils.AssertFilesAreEqual (System.String
  expectedFile, System.String actualFile, System.Boolean verifymetadata,
  System.String contextMessage) [0x0016f] in
  /Users/runner/work/duplicati/duplicati/Duplicati/UnitTest/TestUtils.cs:256
2021-02-07 20:22:23 -08:00
Kenneth Hsu 1e8752a0cd Increase tolerance for last write time tests on macOS.
There are occasionally times where the difference is greater than 100ms.
2021-02-07 13:59:34 -08:00
Kenneth Hsu 6ec037acc0 Use helper method to determine platform.
We should eventually make this method use
RuntimeInformation.IsOSPlatform.
2021-02-07 11:59:20 -08:00
Kenneth Hsu 97c33a0e13 Fix comment style. 2021-02-07 11:58:37 -08:00
Thomas SuckowandKenneth Hsu 06850697bd Relax unit test file time checking on osx 2021-02-07 11:58:02 -08:00
Kenneth Hsu 64410b4284 Dispose HttpWebResponse after use.
This seems to help avoid "System.Net.WebException : The operation has
timed out." issues when downloading test data.
2021-02-07 11:12:39 -08:00
Kenneth Hsu c47ab50892 Revert "Test deliberate test failure."
This reverts commit aca2f18634.
2021-02-06 18:38:48 -08:00
Kenneth Hsu aca2f18634 Test deliberate test failure. 2021-02-06 11:51:30 -08:00
Kenneth Hsu 11bd54d160 Fix test for DUPLICATI__PARSED_RESULT on Windows. 2021-01-14 20:21:47 -08:00
Kenneth Hsu 148788a879 Add test for DUPLICATI__PARSED_RESULT environment variable.
This concerns issue #4222.
2021-01-14 19:39:03 -08:00
Kenneth Hsu c11f7c2e47 Avoid testing scripts with exit code -1.
The behavior is not consistent or well-defined across shells.

https://unix.stackexchange.com/questions/418784/what-is-the-min-and-max-values-of-exit-codes-in-linux
2021-01-10 15:53:51 -08:00
Kenneth Hsu 359ae2c85b Add test for unsupported script exit codes. 2021-01-10 10:44:58 -08:00
Kenneth Hsu c377e33e3d Remove spaces around redirection operator.
This was failing in AppVeyor with the message:

Expected string length 5 but was 6. Strings differ at index 5.
Expected: "Hello"
But was:  "Hello "
2021-01-09 12:26:20 -08:00
Kenneth Hsu 232544e5a3 Remove quotes from echo statement in run-script-after test.
The behavior appears to be different between Windows and Linux.
2021-01-09 12:00:01 -08:00
Kenneth Hsu 80028005c1 Add test for run-script-after. 2021-01-09 11:14:31 -08:00
Thomas Suckow f424c1e999 Don't publish the unit tests 2021-01-08 07:51:13 -08:00
Thomas Suckow f2d209cfaf Even more relaxed 2021-01-03 22:26:35 -08:00
Thomas Suckow 4cdeaa94c7 Relax unit test file time checking on osx 2021-01-03 19:49:35 -08:00
Thomas Suckow 238a31fea0 FIXME: Strange time issue with backups 2021-01-03 09:40:58 -08:00
Thomas Suckow acea2fe10f upstream
Update Telegram SharpAESCrypt dep
Update SystemIOWindows to split the difference

# Conflicts:
#	BuildTools/AutoUpdateBuilder/AutoUpdateBuilder.csproj
#	BuildTools/AutoUpdateBuilder/packages.config
#	BuildTools/DependencyFinder/DependencyFinder.csproj
#	BuildTools/DependencyFinder/packages.config
#	BuildTools/GnupgSigningTool/GnupgSigningTool.csproj
#	BuildTools/UpdateVersionStamp/UpdateVersionStamp.csproj
#	BuildTools/UpdateVersionStamp/app.config
#	Duplicati/CommandLine/BackendTester/Duplicati.CommandLine.BackendTester.csproj
#	Duplicati/CommandLine/BackendTester/app.config
#	Duplicati/CommandLine/BackendTool/Duplicati.CommandLine.BackendTool.csproj
#	Duplicati/CommandLine/BackendTool/app.config
#	Duplicati/CommandLine/ConfigurationImporter/Duplicati.CommandLine.ConfigurationImporter.csproj
#	Duplicati/CommandLine/Duplicati.CommandLine.csproj
#	Duplicati/CommandLine/RecoveryTool/Duplicati.CommandLine.RecoveryTool.csproj
#	Duplicati/CommandLine/RecoveryTool/packages.config
#	Duplicati/CommandLine/app.config
#	Duplicati/GUI/Duplicati.GUI.TrayIcon/Duplicati.GUI.TrayIcon.csproj
#	Duplicati/GUI/Duplicati.GUI.TrayIcon/app.config
#	Duplicati/GUI/Duplicati.GUI.TrayIcon/packages.config
#	Duplicati/Library/AutoUpdater/Duplicati.Library.AutoUpdater.csproj
#	Duplicati/Library/AutoUpdater/app.config
#	Duplicati/Library/AutoUpdater/packages.config
#	Duplicati/Library/Backend/AlternativeFTP/Duplicati.Library.Backend.AlternativeFTP.csproj
#	Duplicati/Library/Backend/AlternativeFTP/app.config
#	Duplicati/Library/Backend/AlternativeFTP/packages.config
#	Duplicati/Library/Backend/AzureBlob/Duplicati.Library.Backend.AzureBlob.csproj
#	Duplicati/Library/Backend/AzureBlob/packages.config
#	Duplicati/Library/Backend/Backblaze/Duplicati.Library.Backend.Backblaze.csproj
#	Duplicati/Library/Backend/Backblaze/packages.config
#	Duplicati/Library/Backend/Box/Duplicati.Library.Backend.Box.csproj
#	Duplicati/Library/Backend/Box/packages.config
#	Duplicati/Library/Backend/CloudFiles/Duplicati.Library.Backend.CloudFiles.csproj
#	Duplicati/Library/Backend/CloudFiles/app.config
#	Duplicati/Library/Backend/Dropbox/Duplicati.Library.Backend.Dropbox.csproj
#	Duplicati/Library/Backend/Dropbox/packages.config
#	Duplicati/Library/Backend/FTP/Duplicati.Library.Backend.FTP.csproj
#	Duplicati/Library/Backend/FTP/app.config
#	Duplicati/Library/Backend/File/Duplicati.Library.Backend.File.csproj
#	Duplicati/Library/Backend/File/app.config
#	Duplicati/Library/Backend/GoogleServices/Duplicati.Library.Backend.GoogleServices.csproj
#	Duplicati/Library/Backend/GoogleServices/packages.config
#	Duplicati/Library/Backend/HubiC/Duplicati.Library.Backend.HubiC.csproj
#	Duplicati/Library/Backend/Jottacloud/Duplicati.Library.Backend.Jottacloud.csproj
#	Duplicati/Library/Backend/Mega/Duplicati.Library.Backend.Mega.csproj
#	Duplicati/Library/Backend/Mega/packages.config
#	Duplicati/Library/Backend/OAuthHelper/Duplicati.Library.OAuthHelper.csproj
#	Duplicati/Library/Backend/OAuthHelper/packages.config
#	Duplicati/Library/Backend/OneDrive/Duplicati.Library.Backend.OneDrive.csproj
#	Duplicati/Library/Backend/OneDrive/packages.config
#	Duplicati/Library/Backend/OpenStack/Duplicati.Library.Backend.OpenStack.csproj
#	Duplicati/Library/Backend/OpenStack/packages.config
#	Duplicati/Library/Backend/Rclone/Duplicati.Library.Backend.Rclone.csproj
#	Duplicati/Library/Backend/Rclone/packages.config
#	Duplicati/Library/Backend/S3/Duplicati.Library.Backend.S3.csproj
#	Duplicati/Library/Backend/S3/app.config
#	Duplicati/Library/Backend/S3/packages.config
#	Duplicati/Library/Backend/SSHv2/Duplicati.Library.Backend.SSHv2.csproj
#	Duplicati/Library/Backend/SSHv2/packages.config
#	Duplicati/Library/Backend/SharePoint/Duplicati.Library.Backend.SharePoint.csproj
#	Duplicati/Library/Backend/SharePoint/app.config
#	Duplicati/Library/Backend/Sia/Duplicati.Library.Backend.Sia.csproj
#	Duplicati/Library/Backend/Sia/packages.config
#	Duplicati/Library/Backend/TahoeLAFS/Duplicati.Library.Backend.TahoeLAFS.csproj
#	Duplicati/Library/Backend/TahoeLAFS/packages.config
#	Duplicati/Library/Backend/Tardigrade/Duplicati.Library.Backend.Tardigrade.csproj
#	Duplicati/Library/Backend/Tardigrade/packages.config
#	Duplicati/Library/Backend/WEBDAV/Duplicati.Library.Backend.WEBDAV.csproj
#	Duplicati/Library/Backend/WEBDAV/app.config
#	Duplicati/Library/Common/Duplicati.Library.Common.csproj
#	Duplicati/Library/Common/IO/SystemIOWindows.cs
#	Duplicati/Library/Common/app.config
#	Duplicati/Library/Common/packages.config
#	Duplicati/Library/Compression/Duplicati.Library.Compression.csproj
#	Duplicati/Library/Compression/app.config
#	Duplicati/Library/Compression/packages.config
#	Duplicati/Library/DynamicLoader/Duplicati.Library.DynamicLoader.csproj
#	Duplicati/Library/DynamicLoader/app.config
#	Duplicati/Library/Encryption/Duplicati.Library.Encryption.csproj
#	Duplicati/Library/Encryption/packages.config
#	Duplicati/Library/Interface/Duplicati.Library.Interface.csproj
#	Duplicati/Library/Localization/Duplicati.Library.Localization.csproj
#	Duplicati/Library/Localization/packages.config
#	Duplicati/Library/Logging/Duplicati.Library.Logging.csproj
#	Duplicati/Library/Logging/app.config
#	Duplicati/Library/Main/Duplicati.Library.Main.csproj
#	Duplicati/Library/Main/app.config
#	Duplicati/Library/Main/packages.config
#	Duplicati/Library/Modules/Builtin/Duplicati.Library.Modules.Builtin.csproj
#	Duplicati/Library/Modules/Builtin/packages.config
#	Duplicati/Library/SQLiteHelper/Duplicati.Library.SQLiteHelper.csproj
#	Duplicati/Library/Snapshots/Duplicati.Library.Snapshots.csproj
#	Duplicati/Library/Snapshots/app.config
#	Duplicati/Library/Snapshots/packages.config
#	Duplicati/Library/UsageReporter/Duplicati.Library.UsageReporter.csproj
#	Duplicati/Library/UsageReporter/packages.config
#	Duplicati/Library/Utility/Duplicati.Library.Utility.csproj
#	Duplicati/Library/Utility/app.config
#	Duplicati/Library/Utility/packages.config
#	Duplicati/License/Duplicati.License.csproj
#	Duplicati/Server/Duplicati.Server.Serialization/Duplicati.Server.Serialization.csproj
#	Duplicati/Server/Duplicati.Server.Serialization/packages.config
#	Duplicati/Server/Duplicati.Server.csproj
#	Duplicati/Server/app.config
#	Duplicati/Server/packages.config
#	Duplicati/Service/Duplicati.Service.csproj
#	Duplicati/Service/app.config
#	Duplicati/Tools/Duplicati.Tools.csproj
#	Duplicati/UnitTest/Duplicati.UnitTest.csproj
#	Duplicati/UnitTest/RestoreHandlerTests.cs
#	Duplicati/UnitTest/app.config
#	Duplicati/UnitTest/packages.config
#	Duplicati/WindowsService/App.config
#	Duplicati/WindowsService/WindowsService.csproj
#	Tools/SQLiteTool/App.config
#	Tools/SQLiteTool/SQLiteTool.csproj
#	thirdparty/TlsTest/TlsTest.csproj
#	thirdparty/UnixSupport/UnixSupport.csproj
#	thirdparty/mozroots/mozroots.csproj
2020-12-29 09:59:42 -08:00
Kenneth Hsu d4b349bb99 Add test for repairing multiple missing blocklist hashes.
This concerns issue #4397.
2020-12-26 21:43:43 -08:00
Kenneth SkovhedeandGitHub ca073a2d0c Merge pull request #4380 from warwickmm/fix_purge_broken_files_dry_run
Fix error encountered during dry-run of purge-broken-files
2020-12-19 14:44:21 +01:00
Kenneth Hsu 780f53b89a Add test for purging broken files with dry-run.
This concerns #4379.
2020-11-30 19:56:08 -08:00
Kenneth Hsu 6570cd954c Add test for specifying remote URL using run-script-before.
This concerns issue #3651.
2020-11-01 14:19:09 -08:00
Kenneth Hsu ca5aad9ccb Allow custom commands to be provided to CreateScript test helper. 2020-11-01 13:14:00 -08:00
Kenneth SkovhedeandGitHub 40416560e6 Merge pull request #4352 from duplicati/feature/new_unittest_datahost
Changed unittes datahost to reduce S3 transfer charges
2020-10-27 11:28:50 +01:00
Kenneth Skovhede 5fd1c883e3 Changed to using a proxied host to reduce S3 transfer charges from unittests 2020-10-19 00:44:10 +02:00
Kenneth Hsu d5b6386cfe Use helper method to compare contents of directories. 2020-09-27 14:06:03 -07:00
Kenneth Hsu a8b0df57d4 Avoid clock issues when quickly running successive backups in tests.
This is an attempt to avoid errors like "System.Exception : The previous
backup has time 9/27/2020 5:25:56 PM, but this backup has time 9/27/2020
5:25:55 PM. Something is wrong with the clock."  We are seeing these
errors often recently in AppVeyor.
2020-09-27 10:44:25 -07:00
Kenneth SkovhedeandGitHub a5cea90867 Merge pull request #4293 from warwickmm/fix_export_encoding
Avoid decoding URL parameters when removing passwords
2020-09-23 11:10:02 +02:00
Dean Ferreyra a3c27a2ba2 Add Assert.Fail to catch unexpected symlink policies 2020-09-13 08:12:23 -07:00
Dean Ferreyra 641a590d89 For "Ignore" policy, also ensure a file doesn't exist 2020-09-12 20:33:39 -07:00
Dean Ferreyra e3b8a12ec1 Unit test improvements per review comments 2020-09-12 17:03:48 -07:00