summaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAge
* Add support for OpenSSL 1.1 and replace deprecated function callsChris Wilson2018-01-01
| | | | | | | | | | | | | | | | | | | | | | | See https://github.com/boxbackup/boxbackup/issues/16 for details. Thanks to Chris West @FauxFaux for the initial patch! Use OpenSSL 1.1.0g for Windows superbuild. Fix Windows build by removing calls to obsolete do_ms.bat <https://stackoverflow.com/questions/39076244/why-there-is-no-ms-do-ms-bat-after-perl-configure-vc-win64a/39247560#39247560>. Workaround for incorrect library suffixes searched by FindOpenSSL <https://gitlab.kitware.com/cmake/cmake/issues/17604>. Link OpenSSL statically and fix missing dependency on crypt32.lib. (cherry picked from commit edd3687f067c68b131822e0064cdeff5bf7a3835) (cherry picked from commit b003e009d1fccadf55a0f59a01c66f7b80f9b3e5) (cherry picked from commit cc6e20466b857f7e20d816a2c20cb36f112398ab) (cherry picked from commit 303c6405e3bc1e673dbc691792e0633742c01f4e) (cherry picked from commit 4e24006f75142a254f1a7db76cf9da1e752d9283) (cherry picked from commit 448ac48a89538f67f508f8d21931c5e6e90472c0) (cherry picked from commit 00b3bb0697219ef8c742698dd43d53b538e362b1)
* Merge branch 'master' into windows_binary_packagesChris Wilson2017-11-28
|\
| * Fix -Wundefined-bool-conversion compile failure of master branchChris Wilson2017-10-16
| | | | | | | | | | | | | | | | | | | | Master build fails with: lib/common/Timer.cpp:171:10: error: reference cannot be bound to dereferenced null pointer in well-defined C++ code; pointer may be assumed to always convert to true [-Werror,-Wundefined-bool-conversion]. Cannot get regtests to pass on this feature branch without fixing this. Also remove unused code from Timers.
* | Remove invalid use of null references (undefined behaviour)Chris Wilson2017-11-26
|/ | | | | | | | | | | Enable the relevant compiler warning as an error, if supported (-Werror=undefined-bool-conversion). http://www.gotw.ca/conv/002.htm http://stackoverflow.com/questions/2165078/a-reference-can-not-be-null-or-it-can-be-null (cherry picked from commit f2911acac0c8375a08ecc0a55f853a5a59c4d511) (cherry picked from commit 5a50b98401302a5ba89366e4c0f8cccdd88d8722)
* Increase precision of timing on Windows.Chris Wilson2017-06-22
| | | | | | | Should hopefully reduce random failures of timing-dependent tests which rely on subsecond precision for accuracy. (cherry picked from commit c845b2e39fffeb560983a301d810616a6495469d)
* Reduce precision of common timer testChris Wilson2017-06-22
| | | | | | | | | | | | | | | | | | Ideally timers would be perfectly accurate and we could sleep for 1.0 seconds, but on OSX in particular they could fire 50-100 ms late (I've seen 4 ms in practice) and we don't want the tests to fail because of this, because we don't really need that kind of precision in practice. So we reduce the timer intervals by 100ms to be safe. Increase logging level and add timestamps in testcommon. Should help to debug frequent test failures such as Condition [t2.HasExpired()] on OSX hosts on Travis. Add a SettingsGuard to the Console logger for its specific settings, such as showing times and microseconds. (cherry picked from commit a5e6cff1d435329b0121417ed9509e315ce0edd5) (cherry picked from commit 8d02eebce553ed822e0fcd60d6e319384e15ba4b)
* Fix intercept of SYS_open on platforms that only have SYS_openat (e.g. arm64)Chris Wilson2017-06-22
|
* Relax timings on test_changing_client_store_marker_pauses_daemonChris Wilson2017-06-18
| | | | | | Also increase test verbosity to help debug the test if it fails again. (cherry picked from commit 00c2127e9832591c248fa6eea05dfaf785b8380d)
* Extend timeout in test/basicserver for slow machines.Chris Wilson2016-09-29
|
* Lock account before modifying in backupstorefix.Chris Wilson2016-09-19
| | | | Hopefully this will fix intermittent test failures on AppVeyor.
* Remove deletion of random files in testbackupstorefix.Chris Wilson2016-09-16
| | | | | | Deleting random files tends to cause random test failures. The results are not predictable and depend on the order in which files are uploaded and directories created.
* Speed up testbackupstorepatch on Windows.Chris Wilson2016-09-16
| | | | | Detect when housekeeping has run and account is unlocked, and stop the loop early, so that we don't have to wait for 32 iterations of the loop.
* Improve error messages in test httpserver perl client script.Chris Wilson2016-09-16
|
* Use IPv4 localhost address to access test httpserver.Chris Wilson2016-09-16
| | | | | Fixes test failures on IPv6 enabled hosts where localhost can resolve to an IPv6 address, but the server is only bound to the IPv4 localhost address.
* Break dependency on Cygwin commands in Windows tests.Chris Wilson2016-09-03
| | | | | | Define WIN32 properly when building with CMake, and in this case, use native commands such as attrib.exe instead of Cygwin chmod, so that users don't have to install Cygwin or msys-git.
* Fix case of filenames of "text" files used to generate protocols and docs.Chris Wilson2016-08-28
|
* Try listing files to help debug random failures of test_multiple_uploads().Chris Wilson2015-12-27
|
* Exclude one more symlink from untarring on Windows with 7za.Chris Wilson2015-12-26
|
* Fix keepalive test on Windows, which depends on number of files present.Chris Wilson2015-12-26
| | | | | On Windows there are no symlinks, so there should be 3 fewer files in the directory, and thus 6 fewer keepalives sent.
* Replace Unix-specific paths used by test/bbackupd with native paths.Chris Wilson2015-12-26
| | | | | Should fix some problems with running the perl scripts, causing test failures on Windows.
* Fix test/backupstorefix random failures caused by file upload order.Chris Wilson2015-12-26
| | | | | | | | Previously, files were uploaded using bbackupd, which did it in the order that it read the directories, which was OS-dependent. So destroying certain fixed RaidFiles would have an unpredictable effect on the store. Now, we write a manifest when creating the test files, and upload them in exactly that order, so that the ID of each file will always be the same.
* Fix recursive directory deletion on Windows.Chris Wilson2015-12-24
|
* Replace shell implementation of test/bbackupd kill_running_daemons() with ↵Chris Wilson2015-12-24
| | | | | | pure C++. Allows it to work with Visual Studio and no Cygwin/MSYS shell.
* Use 7za to extract tgz files on Windows, as there's no (reliable) tar command.Chris Wilson2015-12-24
|
* We don't need to redefine TEST_EXECUTABLE here, Test.h does it for us.Chris Wilson2015-12-24
|
* Remove unix shell-isms from test/s3store, to make it work on Windows.Chris Wilson2015-12-24
|
* Fix test/httpserver startup on Windows (compiled with MSVC).Chris Wilson2015-12-24
| | | | | Avoid using the rm command, and use the correct name for the test executables compiled by our cmake alternate build system.
* Use 127.0.0.1 instead of localhost in test/httpserver, to force use of IPv4.Chris Wilson2015-12-24
| | | | | Perl on Windows tends to use IPv6 for localhost if possible, but the server binds to IPv4, breaking the test.
* Don't start and stop bbstored on Windows.Chris Wilson2015-12-22
| | | | | StopServer() does a hard terminate on Windows, which can leave temporary files in place, causing problems later in the test.
* Change a generated filename to avoid creating files called "con".Chris Wilson2015-12-22
| | | | | Con is a special filename on Windows and you just can't create a file with that name.
* Check file counts before messing with the store in test/backupstorefix.Chris Wilson2015-12-22
| | | | | Otherwise when the counts differ later, we won't know whether we did the setup properly in the first place or not.
* Use rd instead of rmdir command, to try to work properly in appveyor.Chris Wilson2015-12-20
| | | | | I think something is on the PATH in Appveyor that makes rmdir /s/q fail, especially when run through Perl.
* Move reusable files from bin/bbstored to lib/bbstored.Chris Wilson2015-12-20
| | | | Break dependendency of test/bbackupd on individual files from other modules.
* Replace mv command with rename(), and replace rm -r with rmdir /s/q on Windows.Chris Wilson2015-12-19
| | | | Fixes test/backupstorefix.
* Remove asserts that caused tests to blow up when directory permissions were ↵Chris Wilson2015-12-14
| | | | wrong
* Fix Windows file locking to work with MSVCChris Wilson2015-12-14
|
* Add CTest configurations to CMake. Make some tests work on Windows/MSVC.Chris Wilson2015-12-13
|
* Fix invalid constant name, picked up by MSVC (and not by GCC or LLVM)Chris Wilson2015-12-13
|
* Define TEST_EXECUTABLE to allow it to have different names on MSVC/CMake.Chris Wilson2015-12-13
|
* Remove more references to unistd.h.Chris Wilson2015-12-10
|
* Fix mismatched start and end test macros on WindowsChris Wilson2015-12-09
|
* Merge Arnaud Grandville's Windows fixes.Chris Wilson2015-12-09
|\ | | | | | | Merge branch 'master' of https://github.com/agrandville/boxbackup into appveyor
| * Merge branch 'master' into fix_arm_struct_packingChris Wilson2015-09-21
| |\
| | * Remove all timing dependency from test_ssl_keepalives().Chris Wilson2015-09-20
| | | | | | | | | | | | | | | | | | | | | | | | This test has always been fragile, and usually fails on Travis for reasons unknown, so replace the log parsing and intercepts with simple mocking code. This doesn't cover 100% of what the old test did, including diff timer aborts and the number of blocks used by the uploaded files, but it should be completely robust.
| | * Rename global TLSContext variable to avoid conflicts.Chris Wilson2015-09-20
| | | | | | | | | | | | | | | "context" might easily be used in a test function, and doesn't follow our naming convention anyway, so renamed to sTlsContext.
| * | Add a test for reading and writing BackupStoreDirectory binary data.Chris Wilson2015-09-20
| |/ | | | | | | | | | | | | | | | | See discussion of incompatible struct packing on ARM processors: http://lists.boxbackup.org/pipermail/boxbackup/2010-November/005818.html http://lists.boxbackup.org/pipermail/boxbackup/2011-February/005978.html Thanks to Leif Linderstam for identifying the problem and proposing a solution. This is just a test for the problem, not a fix in itself.
* | Remove unused headers to aid compilation on Windows (MSVC).Chris Wilson2015-12-08
|/
* Disable httpserver keepalive tests until keepalive support is implemented.Chris Wilson2015-08-29
| | | | Switch httpserver daemon start/stop to use standard functions.
* Whitespace, import order and comment fixesChris Wilson2015-08-29
|
* Improve exception handling on backup store side.Chris Wilson2015-08-15
| | | | | | | | | | | | | | | | Add a new exception code to represent an object being completely missing (not found on the store at all), separate from not being found in a particular directory. Improve mapping of server-side exceptions to protocol error messages returned to the client. Add handling for missing exceptions, such as BackupStoreException::PatchChainInfoBadInDirectory, and the new BackupStoreException::ObjectDoesNotExist. Fix mapping for BackupStoreException::CouldNotFindEntryInDirectory to make it distinguistable from BackupStoreException::ObjectDoesNotExist.