Skip to content

Commit 04c4c7b

Browse files
author
Michael Paquier
committed
Make regression tests more verbose
The tests now rely on --verbose to print out useful information in the logs that can be used for debugging purposes. In case of a failure in some of the tests an overall cleanup is not done, this is particularly useful for PGDATA which could still be used for extra failure analysis.
1 parent f94c5ab commit 04c4c7b

File tree

4 files changed

+44
-53
lines changed

4 files changed

+44
-53
lines changed

expected/backup.out

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,34 @@
11
\! bash sql/backup.sh
22
###### BACKUP COMMAND TEST-0001 ######
33
###### full backup mode ######
4-
NOTICE: pg_stop_backup complete, all required WAL segments have been archived
54
0
65
1
76
3
87
###### BACKUP COMMAND TEST-0002 ######
98
###### page-level backup mode ######
10-
NOTICE: pg_stop_backup complete, all required WAL segments have been archived
119
0
1210
2
1311
6
1412
###### BACKUP COMMAND TEST-0003 ######
1513
###### full backup with smooth checkpoint ######
16-
NOTICE: pg_stop_backup complete, all required WAL segments have been archived
1714
0
1815
1
1916
3
2017
###### BACKUP COMMAND TEST-0004 ######
2118
###### full backup with keep-data-generations and keep-data-days ######
22-
NOTICE: pg_stop_backup complete, all required WAL segments have been archived
2319
0
24-
NOTICE: pg_stop_backup complete, all required WAL segments have been archived
2520
0
26-
NOTICE: pg_stop_backup complete, all required WAL segments have been archived
2721
0
2822
The number of existing full backups validated is greater than 2.
2923
OK. Let's try to test --keep-data-generations=1.
3024
9
31-
NOTICE: pg_stop_backup complete, all required WAL segments have been archived
3225
0
3326
Number of remaining full backups validated: 2
3427
Number of deleted backups : 2
3528
6
3629
###### BACKUP COMMAND TEST-0005 ######
3730
###### switch backup mode from page to full ######
3831
page-level backup without validated full backup
39-
INFO: database backup start
40-
ERROR: Valid full backup not found for differential backup. Either create a full backup or validate existing one.
4132
10
4233
0
4334
0

expected/restore.out

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,17 @@
11
\! bash sql/restore.sh
22
###### RESTORE COMMAND TEST-0001 ######
33
###### recovery to latest from full backup ######
4-
NOTICE: pg_stop_backup complete, all required WAL segments have been archived
54
0
65
0
76

87
###### RESTORE COMMAND TEST-0002 ######
98
###### recovery to latest from full + page backups ######
10-
NOTICE: pg_stop_backup complete, all required WAL segments have been archived
119
0
12-
NOTICE: pg_stop_backup complete, all required WAL segments have been archived
1310
0
1411
0
1512

1613
###### RESTORE COMMAND TEST-0003 ######
1714
###### recovery to target timeline ######
18-
NOTICE: pg_stop_backup complete, all required WAL segments have been archived
1915
0
2016
0
2117
0
@@ -24,21 +20,17 @@ OK: recovery.conf has the given target timeline.
2420

2521
###### RESTORE COMMAND TEST-0004 ######
2622
###### recovery to target time ######
27-
NOTICE: pg_stop_backup complete, all required WAL segments have been archived
2823
0
2924
0
3025

3126
###### RESTORE COMMAND TEST-0005 ######
3227
###### recovery to target XID ######
33-
NOTICE: pg_stop_backup complete, all required WAL segments have been archived
3428
0
3529
0
3630
OK: recovery-target-xid options works well.
3731

3832
###### RESTORE COMMAND TEST-0006 ######
3933
###### recovery with target inclusive false ######
40-
NOTICE: pg_stop_backup complete, all required WAL segments have been archived
4134
0
4235
0
4336
OK: recovery-target-inclusive=false works well.
44-

sql/backup.sh

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11,36 +11,36 @@ init_backup
1111

1212
echo '###### BACKUP COMMAND TEST-0001 ######'
1313
echo '###### full backup mode ######'
14-
pg_arman backup -B ${BACKUP_PATH} -b full -p ${TEST_PGPORT} -d postgres --quiet;echo $?
15-
pg_arman validate -B ${BACKUP_PATH} --quiet
14+
pg_arman backup -B ${BACKUP_PATH} -b full -p ${TEST_PGPORT} -d postgres --verbose > ${TEST_BASE}/TEST-0001-run.log 2>&1;echo $?
15+
pg_arman validate -B ${BACKUP_PATH} --verbose >> ${TEST_BASE}/TEST-0001-run.log 2>&1
1616
pg_arman show -B ${BACKUP_PATH} > ${TEST_BASE}/TEST-0001.log 2>&1
1717
grep -c OK ${TEST_BASE}/TEST-0001.log
1818
grep OK ${TEST_BASE}/TEST-0001.log | sed -e 's@[^-]@@g' | wc -c | sed 's/^ *//'
1919

2020
echo '###### BACKUP COMMAND TEST-0002 ######'
2121
echo '###### page-level backup mode ######'
22-
pg_arman backup -B ${BACKUP_PATH} -b page -p ${TEST_PGPORT} -d postgres --quiet;echo $?
23-
pg_arman validate -B ${BACKUP_PATH} --quiet
22+
pg_arman backup -B ${BACKUP_PATH} -b page -p ${TEST_PGPORT} -d postgres --verbose > ${TEST_BASE}/TEST-0002-run.log 2>&1;echo $?
23+
pg_arman validate -B ${BACKUP_PATH} >> ${TEST_BASE}/TEST-0002-run.log 2>&1
2424
pg_arman show -B ${BACKUP_PATH} > ${TEST_BASE}/TEST-0002.log 2>&1
2525
grep -c OK ${TEST_BASE}/TEST-0002.log
2626
grep OK ${TEST_BASE}/TEST-0002.log | sed -e 's@[^-]@@g' | wc -c | sed 's/^ *//'
2727

2828
echo '###### BACKUP COMMAND TEST-0003 ######'
2929
echo '###### full backup with smooth checkpoint ######'
3030
init_catalog
31-
pg_arman backup -B ${BACKUP_PATH} -b full -C -p ${TEST_PGPORT} -d postgres --quiet;echo $?
32-
pg_arman validate -B ${BACKUP_PATH} --quiet
31+
pg_arman backup -B ${BACKUP_PATH} -b full -C -p ${TEST_PGPORT} -d postgres --verbose > ${TEST_BASE}/TEST-0003-run.log 2>&1;echo $?
32+
pg_arman validate -B ${BACKUP_PATH} >> ${TEST_BASE}/TEST-0003-run.log 2>&1
3333
pg_arman show -B ${BACKUP_PATH} > ${TEST_BASE}/TEST-0003.log 2>&1
3434
grep -c OK ${TEST_BASE}/TEST-0003.log
3535
grep OK ${TEST_BASE}/TEST-0003.log | sed -e 's@[^-]@@g' | wc -c | sed 's/^ *//'
3636

3737
echo '###### BACKUP COMMAND TEST-0004 ######'
3838
echo '###### full backup with keep-data-generations and keep-data-days ######'
3939
init_catalog
40-
pg_arman backup -B ${BACKUP_PATH} -b full -p ${TEST_PGPORT} -d postgres --quiet;echo $?
41-
pg_arman backup -B ${BACKUP_PATH} -b full -p ${TEST_PGPORT} -d postgres --quiet;echo $?
42-
pg_arman backup -B ${BACKUP_PATH} -b full -p ${TEST_PGPORT} -d postgres --quiet;echo $?
43-
pg_arman validate -B ${BACKUP_PATH} --quiet
40+
pg_arman backup -B ${BACKUP_PATH} -b full -p ${TEST_PGPORT} -d postgres --verbose > ${TEST_BASE}/TEST-0004-run.log 2>&1;echo $?
41+
pg_arman backup -B ${BACKUP_PATH} -b full -p ${TEST_PGPORT} -d postgres --verbose >> ${TEST_BASE}/TEST-0004-run.log 2>&1;echo $?
42+
pg_arman backup -B ${BACKUP_PATH} -b full -p ${TEST_PGPORT} -d postgres --verbose >> ${TEST_BASE}/TEST-0004-run.log 2>&1;echo $?
43+
pg_arman validate -B ${BACKUP_PATH} --verbose >> ${TEST_BASE}/TEST-0004-run.log 2>&1
4444
pg_arman show -B ${BACKUP_PATH} > ${TEST_BASE}/TEST-0004-before.log 2>&1
4545
NUM_OF_FULL_BACKUPS_BEFORE=`grep OK ${TEST_BASE}/TEST-0004-before.log | grep FULL | wc -l | sed 's/^ *//'`
4646
if [ ${NUM_OF_FULL_BACKUPS_BEFORE} -gt 2 ] ; then
@@ -49,12 +49,14 @@ if [ ${NUM_OF_FULL_BACKUPS_BEFORE} -gt 2 ] ; then
4949
else
5050
echo "The number of existing full backups validated is not greater than 2."
5151
echo "NG. There was something wrong in preparation of this test."
52+
pg_ctl stop -m immediate -D ${PGDATA_PATH} > /dev/null 2>&1
53+
exit 1
5254
fi
5355
# The actual value of NUM_OF_FULL_BACKUPS_BEFORE can vary on env, so commented out as default.
5456
#echo "Number of existing full backups validated: ${NUM_OF_FULL_BACKUPS_BEFORE}"
5557
grep OK ${TEST_BASE}/TEST-0004-before.log | sed -e 's@[^-]@@g' | wc -c | sed 's/^ *//'
56-
pg_arman backup -B ${BACKUP_PATH} -b full --keep-data-days=-1 --keep-data-generations=1 -p ${TEST_PGPORT} -d postgres --quiet;echo $?
57-
pg_arman validate -B ${BACKUP_PATH} --quiet
58+
pg_arman backup -B ${BACKUP_PATH} -b full --keep-data-days=-1 --keep-data-generations=1 -p ${TEST_PGPORT} -d postgres --verbose > ${TEST_BASE}/TEST-0005-run.log 2>&1;echo $?
59+
pg_arman validate -B ${BACKUP_PATH} --verbose >> ${TEST_BASE}/TEST-0005-run.log 2>&1
5860
pg_arman show --show-all -B ${BACKUP_PATH} > ${TEST_BASE}/TEST-0004-after.log 2>&1
5961
NUM_OF_FULL_BACKUPS_AFTER=`grep OK ${TEST_BASE}/TEST-0004-after.log | grep FULL | wc -l | sed 's/^ *//'`
6062
echo "Number of remaining full backups validated: ${NUM_OF_FULL_BACKUPS_AFTER}"
@@ -66,15 +68,15 @@ echo '###### BACKUP COMMAND TEST-0005 ######'
6668
echo '###### switch backup mode from page to full ######'
6769
init_catalog
6870
echo 'page-level backup without validated full backup'
69-
pg_arman backup -B ${BACKUP_PATH} -b page -p ${TEST_PGPORT} -d postgres;echo $?
70-
pg_arman validate -B ${BACKUP_PATH} --quiet
71+
pg_arman backup -B ${BACKUP_PATH} -b page -p ${TEST_PGPORT} -d postgres --verbose > ${TEST_BASE}/TEST-0006-run.log 2>&1;echo $?
72+
pg_arman validate -B ${BACKUP_PATH} --verbose >> ${TEST_BASE}/TEST-0006-run.log 2>&1
7173
pg_arman show -B ${BACKUP_PATH} > ${TEST_BASE}/TEST-0005.log 2>&1
7274
grep OK ${TEST_BASE}/TEST-0005.log | grep FULL | wc -l | sed 's/^ *//'
7375
grep ERROR ${TEST_BASE}/TEST-0005.log | grep INCR | wc -l | sed 's/^ *//'
7476

7577
# cleanup
7678
## clean up the temporal test data
77-
pg_ctl stop -m immediate > /dev/null 2>&1
79+
pg_ctl stop -m immediate -D ${PGDATA_PATH} > /dev/null 2>&1
7880
rm -fr ${PGDATA_PATH}
7981
rm -fr ${BACKUP_PATH}
8082
rm -fr ${ARCLOG_PATH}

sql/restore.sh

Lines changed: 27 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,10 @@ init_backup
3030
pgbench_objs 0001
3131
pgbench -p ${TEST_PGPORT} -d pgbench > /dev/null 2>&1
3232
psql --no-psqlrc -p ${TEST_PGPORT} -d pgbench -c "SELECT * FROM pgbench_branches;" > ${TEST_BASE}/TEST-0001-before.out
33-
pg_arman backup -B ${BACKUP_PATH} -b full -p ${TEST_PGPORT} -d postgres --quiet;echo $?
34-
pg_arman validate -B ${BACKUP_PATH} --quiet
33+
pg_arman backup -B ${BACKUP_PATH} -b full -p ${TEST_PGPORT} -d postgres --verbose > ${TEST_BASE}/TEST-0001-run.out 2>&1;echo $?
34+
pg_arman validate -B ${BACKUP_PATH} --verbose >> ${TEST_BASE}/TEST-0001-run.out 2>&1
3535
pg_ctl stop -m immediate > /dev/null 2>&1
36-
pg_arman restore -B ${BACKUP_PATH} --quiet;echo $?
36+
pg_arman restore -B ${BACKUP_PATH} --verbose >> ${TEST_BASE}/TEST-0001-run.out 2>&1;echo $?
3737
pg_ctl start -w -t 600 > /dev/null 2>&1
3838
psql --no-psqlrc -p ${TEST_PGPORT} -d pgbench -c "SELECT * FROM pgbench_branches;" > ${TEST_BASE}/TEST-0001-after.out
3939
diff ${TEST_BASE}/TEST-0001-before.out ${TEST_BASE}/TEST-0001-after.out
@@ -43,14 +43,14 @@ echo '###### RESTORE COMMAND TEST-0002 ######'
4343
echo '###### recovery to latest from full + page backups ######'
4444
init_backup
4545
pgbench_objs 0002
46-
pg_arman backup -B ${BACKUP_PATH} -b full -p ${TEST_PGPORT} -d postgres --quiet;echo $?
47-
pg_arman validate -B ${BACKUP_PATH} --quiet
46+
pg_arman backup -B ${BACKUP_PATH} -b full -p ${TEST_PGPORT} -d postgres --verbose > ${TEST_BASE}/TEST-0002-run.out 2>&1;echo $?
47+
pg_arman validate -B ${BACKUP_PATH} --verbose >> ${TEST_BASE}/TEST-0002-run.out 2>&1
4848
pgbench -p ${TEST_PGPORT} -d pgbench > /dev/null 2>&1
49-
pg_arman backup -B ${BACKUP_PATH} -b page -p ${TEST_PGPORT} -d postgres --quiet;echo $?
50-
pg_arman validate -B ${BACKUP_PATH} --quiet
49+
pg_arman backup -B ${BACKUP_PATH} -b page -p ${TEST_PGPORT} -d postgres --verbose >> ${TEST_BASE}/TEST-0002-run.out 2>&1;echo $?
50+
pg_arman validate -B ${BACKUP_PATH} --verbose >> ${TEST_BASE}/TEST-0002-run.out 2>&1
5151
psql --no-psqlrc -p ${TEST_PGPORT} -d pgbench -c "SELECT * FROM pgbench_branches;" > ${TEST_BASE}/TEST-0002-before.out
5252
pg_ctl stop -m immediate > /dev/null 2>&1
53-
pg_arman restore -B ${BACKUP_PATH} --quiet;echo $?
53+
pg_arman restore -B ${BACKUP_PATH} --verbose >> ${TEST_BASE}/TEST-0002-run.out 2>&1;echo $?
5454
pg_ctl start -w -t 600 > /dev/null 2>&1
5555
psql --no-psqlrc -p ${TEST_PGPORT} -d pgbench -c "SELECT * FROM pgbench_branches;" > ${TEST_BASE}/TEST-0002-after.out
5656
diff ${TEST_BASE}/TEST-0002-before.out ${TEST_BASE}/TEST-0002-after.out
@@ -61,21 +61,23 @@ echo '###### recovery to target timeline ######'
6161
init_backup
6262
pgbench_objs 0003
6363
psql --no-psqlrc -p ${TEST_PGPORT} -d pgbench -c "SELECT * FROM pgbench_branches;" > ${TEST_BASE}/TEST-0003-before.out
64-
pg_arman backup -B ${BACKUP_PATH} -b full -p ${TEST_PGPORT} -d postgres --quiet;echo $?
65-
pg_arman validate -B ${BACKUP_PATH} --quiet
64+
pg_arman backup -B ${BACKUP_PATH} -b full -p ${TEST_PGPORT} -d postgres --verbose > ${TEST_BASE}/TEST-0003-run.out 2>&1;echo $?
65+
pg_arman validate -B ${BACKUP_PATH} --verbose >> ${TEST_BASE}/TEST-0003-run.out 2>&1
6666
TARGET_TLI=`pg_controldata | grep " TimeLineID:" | awk '{print $4}'`
6767
pg_ctl stop -m immediate > /dev/null 2>&1
68-
pg_arman restore -B ${BACKUP_PATH} --quiet;echo $?
68+
pg_arman restore -B ${BACKUP_PATH} --verbose >> ${TEST_BASE}/TEST-0003-run.out 2>&1;echo $?
6969
pg_ctl start -w -t 600 > /dev/null 2>&1
7070
pgbench -p ${TEST_PGPORT} -d pgbench > /dev/null 2>&1
7171
pg_ctl stop -m immediate > /dev/null 2>&1
72-
pg_arman restore -B ${BACKUP_PATH} --recovery-target-timeline=${TARGET_TLI} --quiet;echo $?
72+
pg_arman restore -B ${BACKUP_PATH} --recovery-target-timeline=${TARGET_TLI} --verbose >> ${TEST_BASE}/TEST-0003-run.out 2>&1;echo $?
7373
echo "checking recovery.conf..."
7474
TARGET_TLI_IN_RECOVERY_CONF=`grep "recovery_target_timeline = " ${PGDATA_PATH}/recovery.conf | awk '{print $3}' | sed -e "s/'//g"`
7575
if [ ${TARGET_TLI} = ${TARGET_TLI_IN_RECOVERY_CONF} ]; then
7676
echo 'OK: recovery.conf has the given target timeline.'
7777
else
7878
echo 'NG: recovery.conf does not have the given target timeline.'
79+
pg_ctl stop -m immediate -D ${PGDATA_PATH}
80+
exit 1
7981
fi
8082
pg_ctl start -w -t 600 > /dev/null 2>&1
8183
psql --no-psqlrc -p ${TEST_PGPORT} -d pgbench -c "SELECT * FROM pgbench_branches;" > ${TEST_BASE}/TEST-0003-after.out
@@ -88,12 +90,12 @@ init_backup
8890
pgbench_objs 0004
8991
pgbench -p ${TEST_PGPORT} -d pgbench > /dev/null 2>&1
9092
psql --no-psqlrc -p ${TEST_PGPORT} -d pgbench -c "SELECT * FROM pgbench_branches;" > ${TEST_BASE}/TEST-0004-before.out
91-
pg_arman backup -B ${BACKUP_PATH} -b full -p ${TEST_PGPORT} -d postgres --quiet;echo $?
92-
pg_arman validate -B ${BACKUP_PATH} --quiet
93+
pg_arman backup -B ${BACKUP_PATH} -b full -p ${TEST_PGPORT} -d postgres --verbose > ${TEST_BASE}/TEST-0004-run.out 2>&1;echo $?
94+
pg_arman validate -B ${BACKUP_PATH} --verbose >> ${TEST_BASE}/TEST-0004-run.out 2>&1
9395
TARGET_TIME=`date +"%Y-%m-%d %H:%M:%S"`
9496
pgbench -p ${TEST_PGPORT} -d pgbench > /dev/null 2>&1
9597
pg_ctl stop -m immediate > /dev/null 2>&1
96-
pg_arman restore -B ${BACKUP_PATH} --recovery-target-time="${TARGET_TIME}" --quiet;echo $?
98+
pg_arman restore -B ${BACKUP_PATH} --recovery-target-time="${TARGET_TIME}" --verbose >> ${TEST_BASE}/TEST-0004-run.out 2>&1;echo $?
9799
pg_ctl start -w -t 600 > /dev/null 2>&1
98100
psql --no-psqlrc -p ${TEST_PGPORT} -d pgbench -c "SELECT * FROM pgbench_branches;" > ${TEST_BASE}/TEST-0004-after.out
99101
diff ${TEST_BASE}/TEST-0004-before.out ${TEST_BASE}/TEST-0004-after.out
@@ -104,8 +106,8 @@ echo '###### recovery to target XID ######'
104106
init_backup
105107
pgbench_objs 0005
106108
psql --no-psqlrc -p ${TEST_PGPORT} -d pgbench -c "CREATE TABLE tbl0005 (a text);" > /dev/null 2>&1
107-
pg_arman backup -B ${BACKUP_PATH} -b full -p ${TEST_PGPORT} -d postgres --quiet;echo $?
108-
pg_arman validate -B ${BACKUP_PATH} --quiet
109+
pg_arman backup -B ${BACKUP_PATH} -b full -p ${TEST_PGPORT} -d postgres --verbose > ${TEST_BASE}/TEST-0005-run.out 2>&1;echo $?
110+
pg_arman validate -B ${BACKUP_PATH} --verbose >> ${TEST_BASE}/TEST-0005-run.out 2>&1
109111
pgbench -p ${TEST_PGPORT} pgbench > /dev/null 2>&1
110112
psql --no-psqlrc -p ${TEST_PGPORT} -d pgbench -c "SELECT * FROM pgbench_branches;" > ${TEST_BASE}/TEST-0005-before.out
111113
TARGET_XID=`psql --no-psqlrc -p ${TEST_PGPORT} -d pgbench -tAq -c "INSERT INTO tbl0005 VALUES ('inserted') RETURNING (xmin);"`
@@ -116,7 +118,7 @@ pgbench -p ${TEST_PGPORT} -d pgbench > /dev/null 2>&1
116118
psql --no-psqlrc -p ${TEST_PGPORT} -d pgbench -c 'SELECT pg_switch_xlog()' > /dev/null 2>&1
117119
# Fast mode is used to ensure that the last segment is archived as well.
118120
pg_ctl stop -m fast > /dev/null 2>&1
119-
pg_arman restore -B ${BACKUP_PATH} --recovery-target-xid="${TARGET_XID}" --quiet;echo $?
121+
pg_arman restore -B ${BACKUP_PATH} --recovery-target-xid="${TARGET_XID}" --verbose >> ${TEST_BASE}/TEST-0005-run.out 2>&1;echo $?
120122
pg_ctl start -w -t 600 > /dev/null 2>&1
121123
psql --no-psqlrc -p ${TEST_PGPORT} -d pgbench -c "SELECT * FROM pgbench_branches;" > ${TEST_BASE}/TEST-0005-after.out
122124
psql --no-psqlrc -p ${TEST_PGPORT} -d pgbench -c "SELECT * FROM tbl0005;" > ${TEST_BASE}/TEST-0005-tbl.dump
@@ -125,6 +127,8 @@ if grep "inserted" ${TEST_BASE}/TEST-0005-tbl.dump > /dev/null ; then
125127
echo 'OK: recovery-target-xid options works well.'
126128
else
127129
echo 'NG: recovery-target-xid options does not work well.'
130+
pg_ctl stop -m immediate -D ${PGDATA_PATH} > /dev/null 2>&1
131+
exit 1
128132
fi
129133
echo ''
130134

@@ -133,8 +137,8 @@ echo '###### recovery with target inclusive false ######'
133137
init_backup
134138
pgbench_objs 0006
135139
psql --no-psqlrc -p ${TEST_PGPORT} -d pgbench -c "CREATE TABLE tbl0006 (a text);" > /dev/null 2>&1
136-
pg_arman backup -B ${BACKUP_PATH} -b full -p ${TEST_PGPORT} -d postgres --quiet;echo $?
137-
pg_arman validate -B ${BACKUP_PATH} --quiet
140+
pg_arman backup -B ${BACKUP_PATH} -b full -p ${TEST_PGPORT} -d postgres --verbose > ${TEST_BASE}/TEST-0006-run.out 2>&1;echo $?
141+
pg_arman validate -B ${BACKUP_PATH} --verbose >> ${TEST_BASE}/TEST-0003-run.out 2>&1
138142
pgbench -p ${TEST_PGPORT} pgbench > /dev/null 2>&1
139143
psql --no-psqlrc -p ${TEST_PGPORT} -d pgbench -c "SELECT * FROM pgbench_branches;" > ${TEST_BASE}/TEST-0006-before.out
140144
TARGET_XID=`psql --no-psqlrc -p ${TEST_PGPORT} -d pgbench -tAq -c "INSERT INTO tbl0006 VALUES ('inserted') RETURNING (xmin);"`
@@ -145,7 +149,7 @@ pgbench -p ${TEST_PGPORT} -d pgbench > /dev/null 2>&1
145149
psql --no-psqlrc -p ${TEST_PGPORT} -d pgbench -c 'SELECT pg_switch_xlog()' > /dev/null 2>&1
146150
# Fast mode is used to ensure that the last segment is archived as well.
147151
pg_ctl stop -m fast > /dev/null 2>&1
148-
pg_arman restore -B ${BACKUP_PATH} --recovery-target-xid="${TARGET_XID}" --recovery-target-inclusive=false --quiet;echo $?
152+
pg_arman restore -B ${BACKUP_PATH} --recovery-target-xid="${TARGET_XID}" --recovery-target-inclusive=false --verbose >> ${TEST_BASE}/TEST-0006-run.out 2>&1;echo $?
149153
pg_ctl start -w -t 600 > /dev/null 2>&1
150154
psql --no-psqlrc -p ${TEST_PGPORT} -d pgbench -c "SELECT * FROM pgbench_branches;" > ${TEST_BASE}/TEST-0006-after.out
151155
psql --no-psqlrc -p ${TEST_PGPORT} -d pgbench -c "SELECT * FROM tbl0006;" > ${TEST_BASE}/TEST-0006-tbl.dump
@@ -154,6 +158,8 @@ if grep "inserted" ${TEST_BASE}/TEST-0006-tbl.dump > /dev/null ; then
154158
echo 'NG: recovery-target-inclusive=false does not work well.'
155159
else
156160
echo 'OK: recovery-target-inclusive=false works well.'
161+
pg_ctl stop -m immediate -D ${PGDATA_PATH} > /dev/null 2>&1
162+
exit 1
157163
fi
158164
echo ''
159165

0 commit comments

Comments
 (0)