Skip to content

Commit 0f212e0

Browse files
committed
TESTS: false_positive added, pgpro-560 added, validate redesign
1 parent 134c939 commit 0f212e0

27 files changed

+547
-482
lines changed

tests/__init__.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,16 @@
55
retention_test, ptrack_clean, ptrack_cluster, \
66
ptrack_move_to_tablespace, ptrack_recovery, ptrack_vacuum, \
77
ptrack_vacuum_bits_frozen, ptrack_vacuum_bits_visibility, \
8-
ptrack_vacuum_full, ptrack_vacuum_truncate, common_archive_test, \
9-
pgpro561, pgpro688, pgpro702, pgpro589
8+
ptrack_vacuum_full, ptrack_vacuum_truncate, pgpro560, pgpro589, \
9+
false_positive, replica
1010

1111

1212
def load_tests(loader, tests, pattern):
1313
suite = unittest.TestSuite()
14-
suite.addTests(loader.loadTestsFromModule(pgpro561))
14+
suite.addTests(loader.loadTestsFromModule(replica))
15+
suite.addTests(loader.loadTestsFromModule(pgpro560))
1516
suite.addTests(loader.loadTestsFromModule(pgpro589))
16-
suite.addTests(loader.loadTestsFromModule(pgpro688))
17-
suite.addTests(loader.loadTestsFromModule(pgpro702))
17+
suite.addTests(loader.loadTestsFromModule(false_positive))
1818
suite.addTests(loader.loadTestsFromModule(init_test))
1919
suite.addTests(loader.loadTestsFromModule(option_test))
2020
suite.addTests(loader.loadTestsFromModule(show_test))
@@ -34,3 +34,6 @@ def load_tests(loader, tests, pattern):
3434
suite.addTests(loader.loadTestsFromModule(ptrack_vacuum_truncate))
3535

3636
return suite
37+
38+
39+
# ExpectedFailures are bugs, which should be fixed

tests/backup_test.py

Lines changed: 18 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,12 @@ class BackupTest(ProbackupTest, unittest.TestCase):
1010
def __init__(self, *args, **kwargs):
1111
super(BackupTest, self).__init__(*args, **kwargs)
1212

13-
# @classmethod
14-
# def tearDownClass(cls):
15-
# stop_all()
16-
# @unittest.skip("123")
13+
@classmethod
14+
def tearDownClass(cls):
15+
stop_all()
16+
17+
# @unittest.skip("skip")
18+
# @unittest.expectedFailure
1719
def test_backup_modes_archive(self):
1820
"""standart backup modes with ARCHIVE WAL method"""
1921
fname = self.id().split('.')[3]
@@ -26,8 +28,10 @@ def test_backup_modes_archive(self):
2628
self.assertEqual(self.init_pb(node), six.b(""))
2729

2830
# full backup mode
29-
with open(path.join(node.logs_dir, "backup_full.log"), "wb") as backup_log:
30-
backup_log.write(self.backup_pb(node, options=["--verbose"]))
31+
#with open(path.join(node.logs_dir, "backup_full.log"), "wb") as backup_log:
32+
# backup_log.write(self.backup_pb(node, options=["--verbose"]))
33+
34+
self.backup_pb(node)
3135

3236
show_backup = self.show_pb(node)[0]
3337
full_backup_id = show_backup['ID']
@@ -46,8 +50,7 @@ def test_backup_modes_archive(self):
4650
self.assertEqual(excluded, True)
4751

4852
# page backup mode
49-
with open(path.join(node.logs_dir, "backup_page.log"), "wb") as backup_log:
50-
backup_log.write(self.backup_pb(node, backup_type="page", options=["--verbose"]))
53+
self.backup_pb(node, backup_type="page")
5154

5255
# print self.show_pb(node)
5356
show_backup = self.show_pb(node)[1]
@@ -60,16 +63,14 @@ def test_backup_modes_archive(self):
6063
self.show_pb(node, id=show_backup['ID'])["parent-backup-id"])
6164

6265
# ptrack backup mode
63-
with open(path.join(node.logs_dir, "backup_ptrack.log"), "wb") as backup_log:
64-
backup_log.write(self.backup_pb(node, backup_type="ptrack", options=["--verbose"]))
66+
self.backup_pb(node, backup_type="ptrack")
6567

6668
show_backup = self.show_pb(node)[2]
6769
self.assertEqual(show_backup['Status'], six.b("OK"))
6870
self.assertEqual(show_backup['Mode'], six.b("PTRACK"))
6971

7072
node.stop()
7173

72-
# @unittest.skip("123")
7374
def test_smooth_checkpoint(self):
7475
"""full backup with smooth checkpoint"""
7576
fname = self.id().split('.')[3]
@@ -81,14 +82,12 @@ def test_smooth_checkpoint(self):
8182
node.start()
8283
self.assertEqual(self.init_pb(node), six.b(""))
8384

84-
with open(path.join(node.logs_dir, "backup.log"), "wb") as backup_log:
85-
backup_log.write(self.backup_pb(node, options=["--verbose", "-C"]))
85+
self.backup_pb(node, options=["-C"])
8686

8787
self.assertEqual(self.show_pb(node)[0]['Status'], six.b("OK"))
8888

8989
node.stop()
9090

91-
# @unittest.skip("123")
9291
def test_page_backup_without_full(self):
9392
"""page-level backup without validated full backup"""
9493
fname = self.id().split('.')[3]
@@ -101,14 +100,13 @@ def test_page_backup_without_full(self):
101100
self.assertEqual(self.init_pb(node), six.b(""))
102101

103102
try:
104-
self.backup_pb(node, backup_type="page", options=["--verbose"])
103+
self.backup_pb(node, backup_type="page")
105104
except ProbackupException, e:
106105
pass
107106
self.assertEqual(self.show_pb(node)[0]['Status'], six.b("ERROR"))
108107

109108
node.stop()
110109

111-
# @unittest.skip("123")
112110
def test_ptrack_threads(self):
113111
"""ptrack multi thread backup mode"""
114112
fname = self.id().split('.')[3]
@@ -120,19 +118,17 @@ def test_ptrack_threads(self):
120118
node.start()
121119
self.assertEqual(self.init_pb(node), six.b(""))
122120

123-
with open(path.join(node.logs_dir, "backup_full.log"), "wb") as backup_log:
124-
backup_log.write(self.backup_pb(node, backup_type="full", options=["--verbose", "-j", "4"]))
121+
self.backup_pb(node, backup_type="full", options=["-j", "4"])
125122

126123
self.assertEqual(self.show_pb(node)[0]['Status'], six.b("OK"))
127124

128125
with open(path.join(node.logs_dir, "backup_ptrack.log"), "wb") as backup_log:
129-
backup_log.write(self.backup_pb(node, backup_type="ptrack", options=["--verbose", "-j", "4"]))
126+
backup_log.write(self.backup_pb(node, backup_type="ptrack", options=["-j", "4"]))
130127

131128
self.assertEqual(self.show_pb(node)[0]['Status'], six.b("OK"))
132129

133130
node.stop()
134131

135-
# @unittest.skip("123")
136132
def test_ptrack_threads_stream(self):
137133
"""ptrack multi thread backup mode and stream"""
138134
fname = self.id().split('.')[3]
@@ -144,21 +140,11 @@ def test_ptrack_threads_stream(self):
144140
node.start()
145141
self.assertEqual(self.init_pb(node), six.b(""))
146142

147-
with open(path.join(node.logs_dir, "backup_full.log"), "wb") as backup_log:
148-
backup_log.write(self.backup_pb(
149-
node,
150-
backup_type="full",
151-
options=["--verbose", "-j", "4", "--stream"]
152-
))
143+
self.backup_pb(node, backup_type="full", options=["-j", "4", "--stream"])
153144

154145
self.assertEqual(self.show_pb(node)[0]['Status'], six.b("OK"))
155146

156-
with open(path.join(node.logs_dir, "backup_ptrack.log"), "wb") as backup_log:
157-
backup_log.write(self.backup_pb(
158-
node,
159-
backup_type="ptrack",
160-
options=["--verbose", "-j", "4", "--stream"]
161-
))
147+
self.backup_pb(node, backup_type="ptrack", options=["-j", "4", "--stream"])
162148

163149
self.assertEqual(self.show_pb(node)[1]['Status'], six.b("OK"))
164150
node.stop()

tests/delete_test.py

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,12 @@ class DeleteTest(ProbackupTest, unittest.TestCase):
1111
def __init__(self, *args, **kwargs):
1212
super(DeleteTest, self).__init__(*args, **kwargs)
1313

14-
# @classmethod
15-
# def tearDownClass(cls):
16-
# stop_all()
17-
# @unittest.skip("123")
14+
@classmethod
15+
def tearDownClass(cls):
16+
stop_all()
17+
18+
# @unittest.skip("skip")
19+
# @unittest.expectedFailure
1820
def test_delete_full_backups(self):
1921
"""delete full backups"""
2022
fname = self.id().split('.')[3]
@@ -28,22 +30,19 @@ def test_delete_full_backups(self):
2830
node.pgbench_init()
2931

3032
# full backup mode
31-
with open(path.join(node.logs_dir, "backup_1.log"), "wb") as backup_log:
32-
backup_log.write(self.backup_pb(node, options=["--verbose"]))
33+
self.backup_pb(node)
3334

3435
pgbench = node.pgbench(stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
3536
pgbench.wait()
3637
pgbench.stdout.close()
3738

38-
with open(path.join(node.logs_dir, "backup_2.log"), "wb") as backup_log:
39-
backup_log.write(self.backup_pb(node, options=["--verbose"]))
39+
self.backup_pb(node)
4040

4141
pgbench = node.pgbench(stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
4242
pgbench.wait()
4343
pgbench.stdout.close()
4444

45-
with open(path.join(node.logs_dir, "backup_3.log"), "wb") as backup_log:
46-
backup_log.write(self.backup_pb(node, options=["--verbose"]))
45+
self.backup_pb(node)
4746

4847
show_backups = self.show_pb(node)
4948
id_1 = show_backups[0]['ID']
@@ -55,7 +54,6 @@ def test_delete_full_backups(self):
5554

5655
node.stop()
5756

58-
# @unittest.skip("123")
5957
def test_delete_increment(self):
6058
"""delete increment and all after him"""
6159
fname = self.id().split('.')[3]
@@ -68,16 +66,13 @@ def test_delete_increment(self):
6866
self.assertEqual(self.init_pb(node), six.b(""))
6967

7068
# full backup mode
71-
with open(path.join(node.logs_dir, "backup_1.log"), "wb") as backup_log:
72-
backup_log.write(self.backup_pb(node, options=["--verbose"]))
69+
self.backup_pb(node)
7370

7471
# page backup mode
75-
with open(path.join(node.logs_dir, "backup_2.log"), "wb") as backup_log:
76-
backup_log.write(self.backup_pb(node, backup_type="page", options=["--verbose"]))
72+
self.backup_pb(node, backup_type="page")
7773

7874
# page backup mode
79-
with open(path.join(node.logs_dir, "backup_3.log"), "wb") as backup_log:
80-
backup_log.write(self.backup_pb(node, backup_type="page", options=["--verbose"]))
75+
self.backup_pb(node, backup_type="page")
8176

8277
# full backup mode
8378
self.backup_pb(node)

tests/expected/option_help.out

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,24 +9,30 @@ pg_probackup - utility to manage backup/recovery of PostgreSQL database.
99

1010
pg_probackup set-config -B backup-dir
1111
[-d dbname] [-h host] [-p port] [-U username]
12-
[--retention-redundancy=retention-redundancy]]
12+
[--log-level=log-level]
13+
[--log-filename=log-filename]
14+
[--error-log-filename=error-log-filename]
15+
[--log-directory=log-directory]
16+
[--log-rotation-size=log-rotation-size]
17+
[--log-rotation-age=log-rotation-age]
18+
[--retention-redundancy=retention-redundancy]
1319
[--retention-window=retention-window]
1420

1521
pg_probackup show-config -B backup-dir
1622

1723
pg_probackup backup -B backup-path -b backup-mode
1824
[-D pgdata-dir] [-C] [--stream [-S slot-name]] [--backup-pg-log]
1925
[-j num-threads] [--archive-timeout=archive-timeout]
20-
[--progress] [-q] [-v] [--delete-expired]
26+
[--progress] [--delete-expired]
2127
[-d dbname] [-h host] [-p port] [-U username]
2228

2329
pg_probackup restore -B backup-dir
24-
[-D pgdata-dir] [-i backup-id] [--progress] [-q] [-v]
30+
[-D pgdata-dir] [-i backup-id] [--progress]
2531
[--time=time|--xid=xid [--inclusive=boolean]]
2632
[--timeline=timeline] [-T OLDDIR=NEWDIR]
2733

2834
pg_probackup validate -B backup-dir
29-
[-D pgdata-dir] [-i backup-id] [--progress] [-q] [-v]
35+
[-D pgdata-dir] [-i backup-id] [--progress]
3036
[--time=time|--xid=xid [--inclusive=boolean]]
3137
[--timeline=timeline]
3238

0 commit comments

Comments
 (0)