From 81afb5a2d918f2de818516520db792c2adeb5879 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Fri, 15 Aug 2014 22:47:30 +0000 Subject: 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. --- lib/backupstore/StoreTestUtils.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'lib') 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,) -- cgit v1.2.3