diff options
author | Chris Wilson <chris+github@qwirx.com> | 2014-08-15 22:47:30 +0000 |
---|---|---|
committer | Chris Wilson <chris+github@qwirx.com> | 2014-08-15 22:47:30 +0000 |
commit | 81afb5a2d918f2de818516520db792c2adeb5879 (patch) | |
tree | b2779effb404e59430f2fc409f6240e9c9930eaf /lib | |
parent | 59b5045c4005dd85658de4f613237e21e897f6b2 (diff) |
Add a TEST_PROTOCOL_ERROR_OR assertion.
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.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/backupstore/StoreTestUtils.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/backupstore/StoreTestUtils.h b/lib/backupstore/StoreTestUtils.h index 39013422..7ef2ce28 100644 --- a/lib/backupstore/StoreTestUtils.h +++ b/lib/backupstore/StoreTestUtils.h @@ -80,10 +80,8 @@ bool create_account(int soft, int hard); //! Deletes the standard test account, for testing behaviour with no account. bool delete_account(); -#define TEST_COMMAND_RETURNS_ERROR_OR(protocol, command, error, or_statements) \ +#define TEST_PROTOCOL_ERROR_OR(protocol, error, or_statements) \ { \ - TEST_CHECK_THROWS_OR(protocol . command, ConnectionException, \ - Conn_Protocol_UnexpectedReply, or_statements); \ int type, subtype; \ protocol.GetLastError(type, subtype); \ if (type == BackupProtocolError::ErrorType) \ @@ -103,6 +101,11 @@ bool delete_account(); } \ } +#define TEST_COMMAND_RETURNS_ERROR_OR(protocol, command, error, or_statements) \ + TEST_CHECK_THROWS_OR(protocol . command, ConnectionException, \ + Protocol_UnexpectedReply, or_statements); \ + TEST_PROTOCOL_ERROR_OR(protocol, error, or_statements) + #define TEST_COMMAND_RETURNS_ERROR(protocol, command, error) \ TEST_COMMAND_RETURNS_ERROR_OR(protocol, command, error,) |