Commit Graph
10149 Commits
Author SHA1 Message Date
Daniel Gehriger b25d4b47ca Enabled support for \$Extend\$Deleted special MTF folder when using USN 2020-08-06 16:37:48 +02:00
warwickmmandGitHub 8f631a99f0 Merge pull request #4274 from dferreyra/CommandLineOperationsTests_setup
Fix setup/teardown for CommandLineOperationsTests
2020-07-31 16:55:26 -07:00
Kenneth Hsu d99d40717d Merge remote-tracking branch 'upstream/master' into test_invalid_windows_paths
This allows us to simplify the ProblematicPathTests because the test
teardown methods can now handle deleting directories containing
problematic paths.
2020-07-31 16:29:28 -07:00
warwickmmandGitHub db2235ad17 Merge pull request #4270 from dferreyra/windows_unit_tests
Fix tests to work with long paths in Windows
2020-07-31 16:23:45 -07:00
Dean Ferreyra c70508b96e Fix setup/teardown for CommandLineOperationsTests
Change Duplicati.UnitTest.CommandLineOperationsTests to use `Setup()`
instead of `OneTimeSetUp()` to make sure the test files are in place
for each test.

This fixes #4273.
2020-07-31 07:47:09 -07:00
Dean Ferreyra 2e777b2711 Change tests to work with long paths in Windows
Change SystemIOWindows.PathGetFullPath() to convert forward
slashes to backslashes.

Change Duplicati.UnitTest.BasicSetupHelper.ZipFileExtractToDirectory()
to rely on slash fix-ups.
2020-07-30 05:08:18 -07:00
Kenneth Hsu c3c80f58ef Update version of mono used in GUI tests.
The selenium docker image is based on Ubuntu bionic, whose version of
mono-complete is 4.6.2.7.  Since we require mono 5.10.0 or greater, we
will explicitly install the latest version.
2020-07-29 18:04:43 -07:00
Dean Ferreyra 73e31a79a1 Change tests to work with long paths in Windows
Even in .NET 4.6.2
`System.IO.Compression.ZipFile.ExtractToDirectory()` cannot handle
long paths.  Replace call to
`System.IO.Compression.ZipFile.ExtractToDirectory()` with an
equivalent that extracts files to a temporary location and uses I/O
functions that support long paths to move them to their final
location.

In CommandLineOperationsTests.cs, use ISystemIO functions to handle
potentially long paths.

Add a fix to RecoveryTool for long paths that was missed by #4258.

This fixes #3863.
2020-07-28 05:51:53 -07:00
Kenneth Hsu 70e8c93d26 Update mono versions in deb and rpm package requirements. 2020-07-27 16:09:26 -07:00
Kenneth Hsu e964072690 Target .NET Framework 4.7.1.
This updates all projects to target .NET Framework 4.7.1.  The
TencentCOS and Tardigrade backends depend on .NET Standard 2.0.  When a
.NET Framework prior to 4.7.1 is targeted, the system cannot be sure
that all the dependencies exist, so it copies all dependent assemblies
to the output directory.  This causes many assemblies from the System
namespace to become bundled in the release.

https://stackoverflow.com/a/48875007

We had previously attempted to make individual projects target 4.7.1
(see pull request #4242), but this can cause compatibility issues when
4.6.2 projects depend on 4.7.1. projects.

This will require Mono 5.10.0 or greater (previously, we required 5.0.0
or greater).

https://www.mono-project.com/docs/about-mono/releases/5.10.0/#class-libraries

This fixes issue #4234.
2020-07-26 19:46:01 -07:00
Kenneth Hsu 568fadbcec Merge remote-tracking branch 'upstream/master' into test_invalid_windows_paths 2020-07-25 17:52:09 -07:00
warwickmmandGitHub e7daffcb31 Merge pull request #4256 from dferreyra/support_problematic_windows_paths
Support problematic Windows paths that end with spaces or periods.
2020-07-25 17:48:50 -07:00
Kenneth Hsu ef8209bc21 Add test to verify number of included paths. 2020-07-23 19:46:23 -07:00
Kenneth Hsu 443514dabd Rename test method. 2020-07-23 19:44:10 -07:00
Kenneth Hsu 466bc3786b Extract creation of problematic file to method. 2020-07-23 19:43:24 -07:00
Kenneth Hsu 1b7d1533ee Add test for excluding problematic paths. 2020-07-23 19:40:00 -07:00
warwickmmandGitHub 670b1666d7 Merge pull request #4262 from TopperDEL/tardigrade-fix-download-issue
Bump uplink.NET to v2.3.4 to fix issue with downloading files.
2020-07-22 10:07:42 -07:00
TopperDEL fde7e84afc fix: Resovle codacy-issue 2020-07-22 14:31:03 +02:00
TopperDEL c451724520 build: Switch to uplink.NET v2.3.4 fixing one download-issue 2020-07-22 12:40:37 +02:00
TopperDEL 6a8a029c70 cleanup: Reduce one line 2020-07-22 12:40:21 +02:00
Kenneth Hsu 0314c388ef Rename test method. 2020-07-21 13:49:41 -07:00
Kenneth Hsu 00cd10062b Add test to check that only backend files with correct prefix are deleted.
This concerns issue #2678.
2020-07-21 13:20:42 -07:00
Kenneth Hsu 77a4918f36 Add test to check that only relevant backend files are deleted.
This concerns issues #3845, and #4244.
2020-07-21 13:20:42 -07:00
Kenneth Hsu fea55b9981 Avoid removing files unrelated to backup being deleted.
This fixes issues #3845 and #4244.
2020-07-21 12:59:28 -07:00
Kenneth Hsu f47299d7a1 Remove unnecessary call to Path.Combine. 2020-07-20 20:08:14 -07:00
warwickmmandGitHub 512aa9b979 Merge pull request #4258 from dferreyra/fix_recovery_tool_path_with_dashes
Fix Recovery Tool handling of paths with dashes
2020-07-20 09:48:30 -07:00
Kenneth Hsu 27c5b9ef5a Check for errors and warnings in unit tests. 2020-07-19 19:51:05 -07:00
Dean Ferreyra f53876d0a4 Fix Recovery Tool handling of paths with dashes
In Duplicati.CommandLine.RecoveryTool, the `index` and `list` commands
do not recognize Duplicati backup files when those files are in paths
containing dashes.

For example, without this change, if you call
```
Duplicati.CommandLine.RecoveryTool index C:\Temp\duplicati-tests\recovery-tool\backup-files
```
the Duplicati backup files are displayed, but the recovery tool
reports "Not a Duplicati file, ignoring" for each of them.
2020-07-19 18:01:52 -07:00
Dean Ferreyra d154702020 Support problematic Windows paths
Fix pull request string comparisons in SystemIOWindows.cs to use
StringComparison.Ordinal.

Fix pull request to use SystemIO.IO_WIN.PathCombine() in
WindowsSnapshot.cs.
2020-07-19 16:24:51 -07:00
Kenneth Hsu 654ca45892 Verify contents of restored problematic paths.
This is somewhat redundant since the RestoreHandler verifies the hash of
the restored file, but it doesn't hurt to check again.
2020-07-19 14:07:26 -07:00
warwickmmandGitHub 47df16063f Merge pull request #4254 from TopperDEL/tardigrade-add-partnerid
Fix deployment of Mac binaries for Tardigrade backend.

This also updates the version of uplink.NET to v2.3.2 and adds Duplicati to the Storj Open Source Partnership Program.
2020-07-19 10:27:59 -07:00
Dean Ferreyra fd186712b4 Support problematic Windows paths
Change "Duplicati.CommandLine.RecoveryTool restore" to support
restoring long paths, and files and directories that end in a dot or a
space when run on Windows.
2020-07-19 06:43:30 -07:00
TopperDEL 17c639cb26 fix: Build error 2020-07-19 11:14:33 +02:00
TopperDEL 6d5e8bfc77 feat: Add new Tardigrade-Satellite-Adresses 2020-07-19 11:00:10 +02:00
TopperDEL badcb7dbfc fix: Correc failing build - referencing correct uplink.NET-nuget 2020-07-19 10:58:36 +02:00
Kenneth Hsu 941c8892b0 Rename test methods. 2020-07-18 18:54:10 -07:00
Kenneth Hsu c8b1e093fb Add test to backup and restore paths with problematic suffixes.
Paths that end with a dot or space are problematic on Windows.

This concerns issue #3839.
This concerns pull request #4256.
2020-07-18 18:20:27 -07:00
Kenneth Hsu 7f6411eca9 Add test to backup and restore problematic long path.
This tests a path that exceeds typical limits on Windows.

This concerns issue #3839.
This concerns pull request #4256.
2020-07-18 18:15:34 -07:00
Kenneth Hsu a837144b42 Add class to help remove problematic paths from tests.
This will make it easier to create and clean up tests that involve
problematic paths (e.g., paths that end with a dot or space on Windows).
2020-07-18 18:10:02 -07:00
Kenneth Hsu ebde1c9f01 Add methods to delete empty directory. 2020-07-18 17:30:26 -07:00
Dean Ferreyra 6acbbf2136 Support problematic Windows paths
Allow historically problematic Windows paths (i.e., files or
directories that end in a dot or a space) to be backed up with
Duplicati in Windows.

This fixes #3839.
2020-07-17 21:50:29 -07:00
TopperDEL 37e0d36348 fix: Remove unnecessary windows storj_uplink.dll 2020-07-16 16:34:28 +02:00
TopperDEL e115dd7149 build: Switch to uplink.NET 2.3.2 2020-07-16 16:32:11 +02:00
TopperDEL 0b0fc23d97 fix: Remove renamed MacOS-dylib on windows-installer 2020-07-16 15:59:26 +02:00
TopperDEL 79ba47f6ef feat: Add Tardigrade-Partner-ID 2020-07-16 15:57:50 +02:00
TopperDEL 78065fde53 fix: Rename storj_uplink.dylib to libstorj_uplink.dylib 2020-07-16 15:57:15 +02:00
warwickmmandGitHub 45da5a4e2b Merge pull request #4249 from jpschewe/report-compression-errors
Ensure that compression errors are thrown and logged.

This also prevents FilesetVolumeWriter.Dispose from calling Close prematurely, which
can result in a JsonWriter exception.
2020-07-11 16:49:10 -07:00
Jon Schewe e5f57e8f66 Remove unused LOGTAG field 2020-07-11 18:12:59 -05:00
Jon Schewe 2747f78c40 Remove unneeded catch statement
Using the finally block to close out the writer allows the exception to
show up in the log.
2020-07-11 17:33:38 -05:00
Jon Schewe 36336ac6f1 Rethrow exception after logging
This ensures that the backup properly fails.
2020-07-10 06:55:41 -05:00