summaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAge
* Merge branch 'master' of /home/chris/projects/2004/boxi/bb-gitChris Wilson2014-10-31
|
* Repair the refcount database while checking accounts for errors.Chris Wilson2014-10-31
| | | | | | | Normally this will be done by housekeeping anyway, so it's not that useful, but it's good to check for it in tests, especially when testing BackupStoreCheck's ability to repair bad things that happened to the store when they involve references.
* Refactor handling of exceptions in protocol server command executors.Chris Wilson2014-10-31
| | | | | | | | | | Add a standard method to Replyable that will be called if a recoverable exception (a BoxException) occurs, and can return a protocol Message to be sent to the client, such as an error code for various standard errors, or rethrow the exception. If you want something different, catch exceptions and return the desired reply yourself, or you'll get the default handling.
* 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
|
* Refactor StartClient and StopClient out of testbbackupd.Chris Wilson2014-10-31
| | | | Use them in testbackupstorefix to reduce code duplication.
* Minor test fixes to testbbackupd.Chris Wilson2014-09-18
| | | | | Fix a couple of compiler warnings, and don't continue the test if we failed to load the configuration file.
* Fix inability to access locations starting with a slash.Chris Wilson2014-09-18
| | | | | | Thanks to Jean-Yves Moulin for reporting this issue. When bbackupd is configured to create locations whose names contain a slash, it was impossible to escape it, and thus to enter the directory in bbackupquery to inspect or restore it.
* Whitespace fixesChris Wilson2014-09-18
|
* Add test for disappearing directory causing attempt to upload an empty stream.Chris Wilson2014-09-18
| | | | | | | This caused the issue reported by Brendon Baumgartner and described in my email to the Box Backup list on Mon, 21 Apr 2014 at 18:44:38. If the directory disappears then we used to try to send an empty attributes block to the server, which is illegal.
* Move MockClientContext and MockBackupDaemon up in testbbackupd fileChris Wilson2014-09-18
|
* Add a function to compare a backup using a local protocolChris Wilson2014-09-18
|
* Whitespace fixesChris Wilson2014-09-18
|
* Major refactor of testbbackupd.Chris Wilson2014-09-04
| | | | | | | Split single monolithic test into many smaller ones, which can be run separately. Allows easier testing of new features in isolation. Merged back changes from the test refactor branch to reduce diffs.
* Add missing timeouts in StreamableMemBlock::Set and testbbackupd.Chris Wilson2014-09-04
| | | | | Reduces warnings about network operations with no timeout. May prevent some hangs that might have occurred waiting forever for network data in the past.
* 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.
* Changed many uses of BackupProtocolClient to BackupProtocolCallable.Chris Wilson2014-09-04
| | | | | | Makes way for more use of local protocol objects and protocol subclasses. 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.
* Fix timing issue with bbackupd test for recovery after error.Chris Wilson2014-08-24
| | | | | | | For some reason the timing changed and the test was no longer waiting for the same length of time as bbackupd, causing it to fail. Merged back changes from the test refactor branch to reduce diffs.
* Fix tests broken by bbackupquery list recursive option change.Chris Wilson2014-08-17
|
* Improve commentChris Wilson2014-08-15
|
* Add missing network operation timeouts to test/basicserver.Chris Wilson2014-08-15
|
* Fix compile error caused by auto consume streams patch.Chris Wilson2014-08-15
|
* Add timeouts to network operations that are missing them.Chris Wilson2014-08-15
|
* Add missing timeouts for network operations.Chris Wilson2014-08-15
|
* Add a TEST_PROTOCOL_ERROR_OR assertion.Chris Wilson2014-08-15
| | | | | | | | Similar to TEST_COMMAND_RETURNS_ERROR_OR, but allows any command or sequence to cause the error, without direct access to the command message. Refactor so that TEST_COMMAND_RETURNS_ERROR_OR calls TEST_PROTOCOL_ERROR_OR to make the assertion on the last error seen by the protocol.
* 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, wrapping, comments and dead code cleanups.Chris Wilson2014-08-15
| | | | | | | | Conflicts: bin/bbackupd/BackupDaemon.cpp bin/bbackupd/BackupDaemon.h test/bbackupd/testbbackupd.cpp
* 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 NoObject reply, and adapt BackupQueries accordingly.Chris Wilson2014-04-09
|
* 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.
* Fix Clang warning about passing NULL as a string.Chris Wilson2014-02-27
|
* Check number of blocks used before the test that was failing.Chris Wilson2014-02-27
|
* Use an in-process BackupDaemon for some intercept tests.Chris Wilson2014-02-27
| | | | It's much easier to debug these tests if we can step into them.
* 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.