path: root/test/backupstore
Commit message (Collapse)AuthorAge
* Try listing files to help debug random failures of test_multiple_uploads().Chris Wilson2015-12-27
* Remove asserts that caused tests to blow up when directory permissions were ↵Chris Wilson2015-12-14
| | | | wrong
* Fix invalid constant name, picked up by MSVC (and not by GCC or LLVM)Chris Wilson2015-12-13
* Fix mismatched start and end test macros on WindowsChris Wilson2015-12-09
* Add a test for reading and writing BackupStoreDirectory binary data.Chris Wilson2015-09-20
| | | | | | | | | See discussion of incompatible struct packing on ARM processors: 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.
* 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.
* Add a BackupStoreFile encoding streaming verifierChris Wilson2015-08-07
* Replace TEST_CHECK_THROWS() with TEST_COMMAND_RETURNS_ERROR().Chris Wilson2015-08-06
| | | | | Also checks the returned error code, and gives more useful diagnostics on failure.
* Major test refactor to support test suites.Chris Wilson2015-07-01
| | | | | | | Refactor all common code from testbbackupd and testbackupstore to allow other test suites to contain multiple tests and execute selected tests more easily. Report all test results within a suite in a standard, easy to read summary.
* Fix test failures on Windows caused by keeping files open too long.Chris Wilson2015-05-16
| | | | | | Once again, the Windows issue of being unable to delete or overwrite an open file causes issues. In this case it's only test failures. We need to be diligent about closing open file handles and protocol sessions in tests.
* Fix system exit codes from tests, so we can use them in the shell.Chris Wilson2015-05-04
| | | | | I needed reliable exit codes to run the tests in a loop to catch an intermittent failure.
* Fix warning caused by saving a const string in a non-const pointerChris Wilson2015-04-06
* Fix test failures caused by failure to commit the temporary refcount DB.Chris Wilson2015-04-06
| | | | Files need to be closed before renaming over them on Windows.
* Fix test failures caused by reference count database changes.Chris Wilson2014-11-16
* Merge branch 'master' of /home/chris/projects/2004/boxi/bb-gitChris Wilson2014-10-31
* Delay daemon startup while it's not being used, for clarity.Chris Wilson2014-10-31
* Add a test that temporary and permanent refcount dbs are independentChris Wilson2014-10-31
| | | | | | Conflicts: test/backupstore/testbackupstore.cpp
* Whitespace, comment and readability fixesChris Wilson2014-10-31
* Whitespace fixesChris Wilson2014-09-18
* Catch exceptions while executing store commands, and return an error message.Chris Wilson2014-09-04
| | | | | | | | | This will allow the client to eventually have more information about what went wrong on the server, if the server admin agrees, and makes test debugging easier. Backport some additional testbackupstore tests from the test refactor branch. Merged back changes from the test refactor branch to reduce diffs.
* Split test_multiple_uploads in two.Chris Wilson2014-09-04
| | | | Merged back changes from the test refactor branch to reduce diffs.
* More use of functions to simplify testbbackupd.Chris Wilson2014-09-04
| | | | Merged back changes from the test refactor branch to reduce diffs.
* Define setup and teardown functions and macros, and use them.Chris Wilson2014-09-04
| | | | Merged back changes from the test refactor branch to reduce diffs.
* Simplify code with macros, update comments and fix whitespace.Chris Wilson2014-09-04
| | | | | | Hopefully all of these changes are inconsequential. Merged back changes from the test refactor branch to reduce diffs.
* Define some functions to reduce duplication in testbbackupd.Chris Wilson2014-09-04
| | | | | | | | | Merged back changes from the test refactor branch to reduce diffs. Fix wrong setting of log level in compare() function. We want to only show errors if we expect mismatches, and show warnings if we didn't expect mismatches. I had it the other way around before.
* Improve commentChris Wilson2014-08-15
* Add timeouts to network operations that are missing them.Chris Wilson2014-08-15
* Remove ServerException.h and the exception code aliases that it defines.Chris Wilson2014-08-15
| | | | We don't really need these, so clean up by removing them.
* Whitespace fixes.Chris Wilson2014-04-29
* Fix error when modifying a directory with missing entry in parent.Chris Wilson2014-04-29
| | | | This is hopefully the cause of the segfaults reported by Brendon Baumgartner.
* Remove the global logging level.Chris Wilson2014-04-09
| | | | | It's incompatible with having a logger that logs everything, regardless of the global log level.
* Directories' entries in parent directory should track current size.Chris Wilson2014-04-09
| | | | | | | | | | | | | | | | | | | | | | When entries are added to a directory by a command (BackupStoreContext), and when entries are removed from a directory (by housekeeping), update the parent directory's entry for us if our size has changed. Make BackupStoreCheck check for, report and fix errors when directory entries are directories and the size is wrong (as well as files). Conflicts: test/backupstore/testbackupstore.cpp Fix directories loaded without size being set, leading to warnings later. We can't check that the old size in the parent entry matched the old real size of the directory, unless we set the old real size in the directory. And we don't need to pass the old directory size to HousekeepStoreAccount::DeleteFile, because we can get it from the directory itself.
* Replace magic numbers with named constants for readability.Chris Wilson2014-04-09
* Add a Reopen method to BackupProtocolLocal2 for convenience.Chris Wilson2014-04-09
* Remove unnecessary link to HousekeepStoreAccount.oChris Wilson2014-03-02
* Always flush any incoming stream on server side.Chris Wilson2014-03-02
| | | | | | | | | | Otherwise the protocol might be broken and can't be used any more, even if we made an effort to return an Error reply instead of throwing an exception. This used to not be a problem because an Error reply would terminate the connection anyway, but it no longer does. So if the client also didn't terminate, but tried to handle the exception and keep using the connection, then it might find that its next command fails because the protocol is broken.
* Adding a directory when over limit returns an error instead of crashing.Chris Wilson2014-03-02
| | | | Just like adding a file does.
* Simplify codeChris Wilson2014-03-02
* Make Protocol take control of the socket object passed in.Chris Wilson2014-03-01
| | | | | | | | | | | | | We pass a std::auto_ptr<SocketStream> to every Protocol subclass when we construct it, and it takes control of this object. This reduces the risk of: * accidentally reusing the same SocketStream for multiple Protocols (it happened to me in testbackupstore); * holding onto a reference to the SocketStream; * allowing a locally-scoped SocketStream to go out of scope and be released while still being referenced by a live Protocol.
* Add extra checks for block counting during backup operations.Chris Wilson2014-02-27
| | | | | | Fix the new tests so that they mostly pass. To squash. Remove the test for nonexistent GetObject, not implemented yet. To squash.
* Test that deleting a directory doesn't leave errors in the store.Chris Wilson2014-02-27
| | | | | If it fails to clear the reference counts properly, it will leave objects still existing, and checking the account will reattach them.
* Move test utilities into a separate file, to share with testbbackupd.Chris Wilson2014-02-27
* Rename tests. Split up and refactor.Chris Wilson2014-02-27
| | | | | | Use SETUP macro and tearDown function in tests. Make tests return bool instead of int, and check it.
* Revert part of patch that caused compile errors.Chris Wilson2014-02-13
| | | | This reverts commit 59c3fdf8be1def3f237a4b51eb27773b4f42bbcd.
* Change some TEST_THAT assertions to TEST_EQUAL.Chris Wilson2014-02-13
| | | | | | Being able to see the actual and expected values helps with debugging. More cleanup of comments.
* White space and comment fixes.Chris Wilson2014-02-13
* Compile fix. Remove redefinition of ExpectedRefCounts.Chris Wilson2014-02-13
* Compile fix.Chris Wilson2014-02-13
| | | | Move ExpectedRefCounts definition to where it's needed.
* Add a convenience constructor to read a BackupStoreDirectory from a stream.Chris Wilson2014-02-13
| | | | Saves ~2 lines each time it's used. And we use it a lot in testbackupstore.
* Compile fix.Chris Wilson2014-02-13