From 8fb9f94c6d21cc96ae2fa72bd46d11d0cc4e769c Mon Sep 17 00:00:00 2001 From: Grigory Smolkin Date: Tue, 16 Jul 2019 01:18:00 +0300 Subject: [PATCH] tests: fix for backup.BackupTest.test_backup_detect_corruption --- tests/backup.py | 40 +++++++++++++++++++++++++++------------- 1 file changed, 27 insertions(+), 13 deletions(-) diff --git a/tests/backup.py b/tests/backup.py index b55b1898..ec8288fd 100644 --- a/tests/backup.py +++ b/tests/backup.py @@ -469,12 +469,16 @@ class BackupTest(ProbackupTest, unittest.TestCase): "postgres", "select pg_relation_filepath('t_heap')").rstrip() + node.stop() + with open(os.path.join(node.data_dir, heap_path), "rb+", 0) as f: f.seek(9000) f.write(b"bla") f.flush() f.close + node.slow_start() + try: self.backup_node( backup_dir, 'node', node, @@ -486,23 +490,33 @@ class BackupTest(ProbackupTest, unittest.TestCase): "\n Output: {0} \n CMD: {1}".format( repr(self.output), self.cmd)) except ProbackupException as e: - if self.remote: + if self.ptrack: self.assertTrue( - "ERROR: Failed to read file" in e.message and - "data file checksum mismatch" in e.message, + 'WARNING: page verification failed, ' + 'calculated checksum' in e.message and + 'ERROR: query failed: ERROR: ' + 'invalid page in block 1 of relation' in e.message and + 'ERROR: Data files transferring failed' in e.message, '\n Unexpected Error Message: {0}\n CMD: {1}'.format( repr(e.message), self.cmd)) else: - self.assertIn( - 'WARNING: Corruption detected in file', - e.message, - '\n Unexpected Error Message: {0}\n CMD: {1}'.format( - repr(e.message), self.cmd)) - self.assertIn( - 'ERROR: Data file corruption', - e.message, - '\n Unexpected Error Message: {0}\n CMD: {1}'.format( - repr(e.message), self.cmd)) + if self.remote: + self.assertTrue( + "ERROR: Failed to read file" in e.message and + "data file checksum mismatch" in e.message, + '\n Unexpected Error Message: {0}\n CMD: {1}'.format( + repr(e.message), self.cmd)) + else: + self.assertIn( + 'WARNING: Corruption detected in file', + e.message, + '\n Unexpected Error Message: {0}\n CMD: {1}'.format( + repr(e.message), self.cmd)) + self.assertIn( + 'ERROR: Data file corruption', + e.message, + '\n Unexpected Error Message: {0}\n CMD: {1}'.format( + repr(e.message), self.cmd)) # Clean after yourself self.del_test_dir(module_name, fname)