path: root/test
Commit message (Collapse)AuthorAge
* 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.
* Use the new test utilities to remove some duplicate code.Chris Wilson2014-02-27
| | | | Fix previous changes by waiting for forked bbstored process during termination.
* 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
* Add some utility methods.Chris Wilson2014-02-13
| | | | Backported from new testbackupstore, to reduce diff.
* Overwrite existing files left by previous tests.Chris Wilson2014-02-13
| | | | | | Will help to ensure that individual test cases run properly, even if a previous test didn't clear up after itself. Splitting up testbackupstore into idempotent testcases is coming soon.
* The new backupstore check detects 4 errors instead of 3, adjust test to match.Chris Wilson2014-02-11
* Re-enable the disabled test_dir_fixingChris Wilson2014-02-11
* Remove unnecessary importChris Wilson2014-02-11
* Fix compile error in MemBlockStream.Chris Wilson2014-02-11
| | | | | | Fix test/common memory leak checks now that MemBlockStream allocates another block.
* Compile fixes.Chris Wilson2014-02-11
| | | | | Backport a few new functions to simplify tests.
* Fix testbackupstore, apart from wrong accounting for old files.Chris Wilson2014-02-10
* Rename BackupStoreInfo variable NumFiles to NumCurrentFiles.Chris Wilson2014-02-09
| | | | | Will hopefully prevent future confusion about the meaning of this info variable.
* Fix some backupstore test failures caused by refcount db changes.Chris Wilson2014-02-08
* Allow test/bbackupd to test bbackupquery completions.Chris Wilson2014-02-07
* Fix bbackupquery accepting a command starting with options.Chris Wilson2014-02-07
| | | | | | | This should never have been a valid command, but was accepted before, and silently ignored because it was treated as an empty command. This obscured bad quoting of bbackupquery command-line arguments, allowing commands to appear to work, but not do what you expected.
* Add a BackupProtocolLocal2 convenience class.Chris Wilson2014-02-07
| | | | | Adds a nicer constructor and more helpful cleanup on QueryFinished() to the auto-generated BackupProtocolLocal.
* Add a test that Used block counts match expected values.Chris Wilson2013-10-22
* Fix test fallout from SendStream ptr to auto_ptr change.Chris Wilson2013-09-30
| | | | | You can only pass a std::auto_ptr<IOStream> to SendStream now. Nothing else will do for Clang. But you can cast a std::auto_ptr<subclass>.
* Repair damaged Box RAID objects and non-transformed .rfw files.Chris Wilson2013-09-20
* Repeatedly "fix" directories until all errors are cleared.Chris Wilson2013-09-19
| | | | | | | Fixes some cases where a directory might refer to an object that doesn't exist, which is removed from the directory, but an object that depends on it (a patch) isn't removed, and requires a subsequent recheck.
* Re-enable test_dir_fixing.Chris Wilson2013-08-22
* Fix a bug where bbstoreaccounts check could hang or crash.Chris Wilson2013-08-22
| | | | | | | It's not safe to use an iterator after the underlying collection has been modified. We need to restart iterating over the directory in that case. Otherwise we could loop forever looking for an end() that we've already passed, or start accessing unallocated memory.
* Refactor testbackupstorefix.Chris Wilson2013-08-22
| | | | | | Preparation work for better testing of fixing directories with entries that no longer exist on disk. Related to debugging the problems reported by Markus Grunwald.
* Fix compile error due to missing mode on open(O_CREAT).Chris Wilson2013-02-13
* Link testbbackupd with bbackupquery object files, so that we can useChris Wilson2012-11-27
| | | | | BackupQueries directly for debugging compare failures.