Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit6247ba4

Browse files
committed
tests: fixes
1 parent0f0aa42 commit6247ba4

File tree

1 file changed

+128
-13
lines changed

1 file changed

+128
-13
lines changed

‎tests/page.py‎

Lines changed: 128 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1212,6 +1212,15 @@ def test_multi_timeline_page(self):
12121212

12131213
node.safe_psql("postgres","create extension pageinspect")
12141214

1215+
try:
1216+
node.safe_psql(
1217+
"postgres",
1218+
"create extension amcheck")
1219+
exceptQueryExceptionase:
1220+
node.safe_psql(
1221+
"postgres",
1222+
"create extension amcheck_next")
1223+
12151224
node.pgbench_init(scale=20)
12161225
full_id=self.backup_node(backup_dir,'node',node)
12171226

@@ -1233,16 +1242,18 @@ def test_multi_timeline_page(self):
12331242
pgbench.wait()
12341243

12351244
# create timelines
1236-
foriinrange(2,6):
1245+
foriinrange(2,7):
12371246
node.cleanup()
12381247
self.restore_node(
1239-
backup_dir,'node',node,backup_id=full_id,
1248+
backup_dir,'node',node,
12401249
options=['--recovery-target-timeline={0}'.format(i)])
12411250
node.slow_start()
1242-
node.safe_psql("postgres","CHECKPOINT")
1251+
1252+
# at this point there is i+1 timeline
12431253
pgbench=node.pgbench(options=['-T','10','-c','1','--no-vacuum'])
12441254
pgbench.wait()
12451255

1256+
# create backup at 2, 4 and 6 timeline
12461257
ifi%2==0:
12471258
self.backup_node(backup_dir,'node',node,backup_type='page')
12481259

@@ -1252,8 +1263,8 @@ def test_multi_timeline_page(self):
12521263

12531264
pgdata=self.pgdata_content(node.data_dir)
12541265

1255-
# result = node.safe_psql(
1256-
# "postgres", "select * from pgbench_accounts")
1266+
result=node.safe_psql(
1267+
"postgres","select * from pgbench_accounts")
12571268

12581269
node_restored=self.make_simple_node(
12591270
base_dir=os.path.join(module_name,fname,'node_restored'))
@@ -1265,21 +1276,125 @@ def test_multi_timeline_page(self):
12651276
self.set_auto_conf(node_restored, {'port':node_restored.port})
12661277
node_restored.slow_start()
12671278

1268-
# result_new = node_restored.safe_psql(
1269-
# "postgres", "select * from pgbench_accounts")
1279+
result_new=node_restored.safe_psql(
1280+
"postgres","select * from pgbench_accounts")
12701281

1271-
# self.assertEqual(result, result_new)
1282+
self.assertEqual(result,result_new)
12721283

12731284
self.compare_pgdata(pgdata,pgdata_restored)
12741285

1275-
show=self.show_archive(backup_dir)
1286+
self.checkdb_node(
1287+
backup_dir,
1288+
'node',
1289+
options=[
1290+
'--amcheck',
1291+
'-d','postgres','-p',str(node.port)])
12761292

1277-
timelines=show[0]['timelines']
1293+
self.checkdb_node(
1294+
backup_dir,
1295+
'node',
1296+
options=[
1297+
'--amcheck',
1298+
'-d','postgres','-p',str(node_restored.port)])
1299+
1300+
backup_list=self.show_pb(backup_dir,'node')
12781301

1279-
# self.assertEqual()
12801302
self.assertEqual(
1281-
self.show_pb(backup_dir,'node',page_id)['parent-backup-id'],
1282-
full_id)
1303+
backup_list[2]['parent-backup-id'],
1304+
backup_list[0]['id'])
1305+
1306+
self.assertEqual(
1307+
backup_list[3]['parent-backup-id'],
1308+
backup_list[2]['id'])
1309+
1310+
self.assertEqual(
1311+
backup_list[4]['parent-backup-id'],
1312+
backup_list[3]['id'])
1313+
1314+
self.assertEqual(
1315+
backup_list[5]['parent-backup-id'],
1316+
backup_list[4]['id'])
1317+
1318+
# Clean after yourself
1319+
self.del_test_dir(module_name,fname)
1320+
1321+
# @unittest.skip("skip")
1322+
# @unittest.expectedFailure
1323+
deftest_multitimeline_page_1(self):
1324+
"""
1325+
Check that backup in PAGE mode choose
1326+
parent backup correctly:
1327+
t2 /---->
1328+
t1 -F--P---D->
1329+
1330+
P must have F as parent
1331+
"""
1332+
fname=self.id().split('.')[3]
1333+
backup_dir=os.path.join(self.tmp_path,module_name,fname,'backup')
1334+
node=self.make_simple_node(
1335+
base_dir=os.path.join(module_name,fname,'node'),
1336+
set_replication=True,
1337+
initdb_params=['--data-checksums'],
1338+
pg_options={'autovacuum':'off','wal_log_hints':'on'})
1339+
1340+
self.init_pb(backup_dir)
1341+
self.add_instance(backup_dir,'node',node)
1342+
self.set_archiving(backup_dir,'node',node)
1343+
node.slow_start()
1344+
1345+
node.safe_psql("postgres","create extension pageinspect")
1346+
1347+
try:
1348+
node.safe_psql(
1349+
"postgres",
1350+
"create extension amcheck")
1351+
exceptQueryExceptionase:
1352+
node.safe_psql(
1353+
"postgres",
1354+
"create extension amcheck_next")
1355+
1356+
node.pgbench_init(scale=20)
1357+
full_id=self.backup_node(backup_dir,'node',node)
1358+
1359+
pgbench=node.pgbench(options=['-T','20','-c','1'])
1360+
pgbench.wait()
1361+
1362+
page1=self.backup_node(backup_dir,'node',node,backup_type='page')
1363+
1364+
pgbench=node.pgbench(options=['-T','10','-c','1','--no-vacuum'])
1365+
pgbench.wait()
1366+
1367+
page1=self.backup_node(backup_dir,'node',node,backup_type='delta')
1368+
1369+
node.cleanup()
1370+
self.restore_node(
1371+
backup_dir,'node',node,backup_id=page1,
1372+
options=[
1373+
'--recovery-target=immediate',
1374+
'--recovery-target-action=promote'])
1375+
1376+
node.slow_start()
1377+
1378+
pgbench=node.pgbench(options=['-T','20','-c','1','--no-vacuum'])
1379+
pgbench.wait()
1380+
1381+
print(self.backup_node(
1382+
backup_dir,'node',node,backup_type='page',
1383+
options=['--log-level-console=LOG'],return_id=False))
1384+
1385+
pgdata=self.pgdata_content(node.data_dir)
1386+
1387+
node_restored=self.make_simple_node(
1388+
base_dir=os.path.join(module_name,fname,'node_restored'))
1389+
node_restored.cleanup()
1390+
1391+
self.restore_node(backup_dir,'node',node_restored)
1392+
pgdata_restored=self.pgdata_content(node_restored.data_dir)
1393+
1394+
self.set_auto_conf(node_restored, {'port':node_restored.port})
1395+
node_restored.slow_start()
1396+
1397+
self.compare_pgdata(pgdata,pgdata_restored)
12831398

12841399
# Clean after yourself
12851400
self.del_test_dir(module_name,fname)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp