Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 760afb6

Browse files
committed
tests: fixes for testgres1
1 parent 78503f9 commit 760afb6

File tree

8 files changed

+47
-16
lines changed

8 files changed

+47
-16
lines changed

tests/archive.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -713,9 +713,9 @@ def test_archive_pg_receivexlog(self):
713713
self.add_instance(backup_dir, 'node', node)
714714
node.start()
715715
if self.get_version(node) < 100000:
716-
pg_receivexlog_path = node.get_bin_path('pg_receivexlog')
716+
pg_receivexlog_path = self.get_bin_path('pg_receivexlog')
717717
else:
718-
pg_receivexlog_path = node.get_bin_path('pg_receivewal')
718+
pg_receivexlog_path = self.get_bin_path('pg_receivewal')
719719

720720
pg_receivexlog = self.run_binary(
721721
[

tests/backup_test.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -422,8 +422,9 @@ def test_checksumm_fail_heal_via_ptrack_fail(self):
422422
self.del_test_dir(module_name, fname)
423423

424424
# @unittest.skip("skip")
425-
def test_tablespace_in_pgdata(self):
426-
"""make node, corrupt some page, check that backup failed"""
425+
@unittest.expectedFailure
426+
def test_tablespace_in_pgdata_pgpro_1376(self):
427+
"""PGPRO-1376 """
427428
fname = self.id().split('.')[3]
428429
node = self.make_simple_node(
429430
base_dir="{0}/{1}/node".format(module_name, fname),

tests/cfs_backup.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ def setUp(self):
3636

3737
self.node.start()
3838

39-
self.create_tblspace_in_node(self.node, tblspace_name, True)
39+
self.create_tblspace_in_node(self.node, tblspace_name, cfs=True)
4040

4141
tblspace = self.node.safe_psql(
4242
"postgres",
@@ -778,8 +778,8 @@ def test_multiple_segments_in_multiple_tablespaces(self):
778778
tblspace_name_1 = 'tblspace_name_1'
779779
tblspace_name_2 = 'tblspace_name_2'
780780

781-
self.create_tblspace_in_node(self.node, tblspace_name_1, True)
782-
self.create_tblspace_in_node(self.node, tblspace_name_2, True)
781+
self.create_tblspace_in_node(self.node, tblspace_name_1, cfs=True)
782+
self.create_tblspace_in_node(self.node, tblspace_name_2, cfs=True)
783783

784784
self.node.safe_psql(
785785
"postgres",

tests/cfs_restore.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ def setUp(self):
4444
self.set_archiving(self.backup_dir, 'node', self.node)
4545

4646
self.node.start()
47-
self.create_tblspace_in_node(self.node, tblspace_name, True)
47+
self.create_tblspace_in_node(self.node, tblspace_name, cfs=True)
4848

4949
self.add_data_in_cluster()
5050

tests/helpers/ptrack_helpers.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -698,7 +698,7 @@ def delete_pb(self, backup_dir, instance, backup_id=None, options=[]):
698698

699699
def delete_expired(self, backup_dir, instance, options=[]):
700700
cmd_list = [
701-
"delete", "--expired",
701+
"delete", "--expired", "--wal",
702702
"-B", backup_dir,
703703
"--instance={0}".format(instance)
704704
]
@@ -855,6 +855,7 @@ def switch_wal_segment(self, node):
855855
node.safe_psql("postgres", "select pg_switch_wal()")
856856
else:
857857
node.safe_psql("postgres", "select pg_switch_xlog()")
858+
sleep(1)
858859

859860
def get_version(self, node):
860861
return self.version_to_num(

tests/ptrack.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1614,7 +1614,7 @@ def test_ptrack_multiple_segments(self):
16141614
initdb_params=['--data-checksums'],
16151615
pg_options={
16161616
'wal_level': 'replica', 'max_wal_senders': '2',
1617-
'ptrack_enable': 'on', 'fsync': 'off', 'shared_buffers': '1GB',
1617+
'ptrack_enable': 'on', 'fsync': 'off', 'shared_buffers': '128MB',
16181618
'maintenance_work_mem': '1GB', 'autovacuum': 'off',
16191619
'full_page_writes': 'off'}
16201620
)

tests/retention_test.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,13 @@ def test_retention_redundancy_1(self):
4848
min_wal = line[31:-1]
4949
elif line.startswith("INFO: removed max WAL segment"):
5050
max_wal = line[31:-1]
51+
52+
if not min_wal:
53+
self.assertTrue(False, "min_wal is empty")
54+
55+
if not max_wal:
56+
self.assertTrue(False, "max_wal is not set")
57+
5158
for wal_name in os.listdir(os.path.join(backup_dir, 'wal', 'node')):
5259
if not wal_name.endswith(".backup"):
5360
#wal_name_b = wal_name.encode('ascii')

tests/show_test.py

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import os
22
import unittest
3-
from .helpers.ptrack_helpers import ProbackupTest
3+
from .helpers.ptrack_helpers import ProbackupTest, ProbackupException
44

55

66
module_name = 'show'
@@ -14,7 +14,8 @@ def test_show_1(self):
1414
"""Status DONE and OK"""
1515
fname = self.id().split('.')[3]
1616
backup_dir = os.path.join(self.tmp_path, module_name, fname, 'backup')
17-
node = self.make_simple_node(base_dir="{0}/{1}/node".format(module_name, fname),
17+
node = self.make_simple_node(
18+
base_dir="{0}/{1}/node".format(module_name, fname),
1819
initdb_params=['--data-checksums'],
1920
pg_options={'wal_level': 'replica'}
2021
)
@@ -25,7 +26,9 @@ def test_show_1(self):
2526
node.start()
2627

2728
self.assertEqual(
28-
self.backup_node(backup_dir, 'node', node, options=["--log-level-console=panic"]),
29+
self.backup_node(
30+
backup_dir, 'node', node,
31+
options=["--log-level-console=panic"]),
2932
None
3033
)
3134
self.assertIn("OK", self.show_pb(backup_dir, 'node', as_text=True))
@@ -38,7 +41,8 @@ def test_corrupt_2(self):
3841
"""Status CORRUPT"""
3942
fname = self.id().split('.')[3]
4043
backup_dir = os.path.join(self.tmp_path, module_name, fname, 'backup')
41-
node = self.make_simple_node(base_dir="{0}/{1}/node".format(module_name, fname),
44+
node = self.make_simple_node(
45+
base_dir="{0}/{1}/node".format(module_name, fname),
4246
initdb_params=['--data-checksums'],
4347
pg_options={'wal_level': 'replica'}
4448
)
@@ -51,10 +55,28 @@ def test_corrupt_2(self):
5155
backup_id = self.backup_node(backup_dir, 'node', node)
5256

5357
# delete file which belong to backup
54-
file = os.path.join(backup_dir, "backups", "node", backup_id, "database", "postgresql.conf")
58+
file = os.path.join(
59+
backup_dir, "backups", "node",
60+
backup_id, "database", "postgresql.conf")
5561
os.remove(file)
5662

57-
self.validate_pb(backup_dir, 'node', backup_id)
63+
try:
64+
self.validate_pb(backup_dir, 'node', backup_id)
65+
# we should die here because exception is what we expect to happen
66+
self.assertEqual(
67+
1, 0,
68+
"Expecting Error because backup corrupted.\n"
69+
" Output: {0} \n CMD: {1}".format(
70+
repr(self.output), self.cmd
71+
)
72+
)
73+
except ProbackupException as e:
74+
self.assertIn(
75+
'data files are corrupted\n',
76+
e.message,
77+
'\n Unexpected Error Message: {0}\n'
78+
' CMD: {1}'.format(repr(e.message), self.cmd)
79+
)
5880
self.assertIn("CORRUPT", self.show_pb(backup_dir, as_text=True))
5981

6082
# Clean after yourself

0 commit comments

Comments
 (0)