diff options
Diffstat (limited to 'src/bin/pg_resetwal/t/001_basic.pl')
-rw-r--r-- | src/bin/pg_resetwal/t/001_basic.pl | 81 |
1 files changed, 42 insertions, 39 deletions
diff --git a/src/bin/pg_resetwal/t/001_basic.pl b/src/bin/pg_resetwal/t/001_basic.pl index d0bd1f7ace8..323cd483cf3 100644 --- a/src/bin/pg_resetwal/t/001_basic.pl +++ b/src/bin/pg_resetwal/t/001_basic.pl @@ -30,7 +30,8 @@ SKIP: 'check PGDATA permissions'); } -command_ok([ 'pg_resetwal', '-D', $node->data_dir ], 'pg_resetwal runs'); +command_ok([ 'pg_resetwal', '--pgdata' => $node->data_dir ], + 'pg_resetwal runs'); $node->start; is($node->safe_psql("postgres", "SELECT 1;"), 1, 'server running and working after reset'); @@ -46,7 +47,7 @@ command_fails_like( qr/database server was not shut down cleanly/, 'does not run after immediate shutdown'); command_ok( - [ 'pg_resetwal', '-f', $node->data_dir ], + [ 'pg_resetwal', '--force', $node->data_dir ], 'runs after immediate shutdown with force'); $node->start; is($node->safe_psql("postgres", "SELECT 1;"), @@ -80,111 +81,111 @@ command_fails_like( # error cases # -c command_fails_like( - [ 'pg_resetwal', '-c', 'foo', $node->data_dir ], + [ 'pg_resetwal', '-c' => 'foo', $node->data_dir ], qr/error: invalid argument for option -c/, 'fails with incorrect -c option'); command_fails_like( - [ 'pg_resetwal', '-c', '10,bar', $node->data_dir ], + [ 'pg_resetwal', '-c' => '10,bar', $node->data_dir ], qr/error: invalid argument for option -c/, 'fails with incorrect -c option part 2'); command_fails_like( - [ 'pg_resetwal', '-c', '1,10', $node->data_dir ], + [ 'pg_resetwal', '-c' => '1,10', $node->data_dir ], qr/greater than/, - 'fails with -c value 1 part 1'); + 'fails with -c ids value 1 part 1'); command_fails_like( - [ 'pg_resetwal', '-c', '10,1', $node->data_dir ], + [ 'pg_resetwal', '-c' => '10,1', $node->data_dir ], qr/greater than/, 'fails with -c value 1 part 2'); # -e command_fails_like( - [ 'pg_resetwal', '-e', 'foo', $node->data_dir ], + [ 'pg_resetwal', '-e' => 'foo', $node->data_dir ], qr/error: invalid argument for option -e/, 'fails with incorrect -e option'); command_fails_like( - [ 'pg_resetwal', '-e', '-1', $node->data_dir ], + [ 'pg_resetwal', '-e' => '-1', $node->data_dir ], qr/must not be -1/, 'fails with -e value -1'); # -l command_fails_like( - [ 'pg_resetwal', '-l', 'foo', $node->data_dir ], + [ 'pg_resetwal', '-l' => 'foo', $node->data_dir ], qr/error: invalid argument for option -l/, 'fails with incorrect -l option'); # -m command_fails_like( - [ 'pg_resetwal', '-m', 'foo', $node->data_dir ], + [ 'pg_resetwal', '-m' => 'foo', $node->data_dir ], qr/error: invalid argument for option -m/, 'fails with incorrect -m option'); command_fails_like( - [ 'pg_resetwal', '-m', '10,bar', $node->data_dir ], + [ 'pg_resetwal', '-m' => '10,bar', $node->data_dir ], qr/error: invalid argument for option -m/, 'fails with incorrect -m option part 2'); command_fails_like( - [ 'pg_resetwal', '-m', '0,10', $node->data_dir ], + [ 'pg_resetwal', '-m' => '0,10', $node->data_dir ], qr/must not be 0/, 'fails with -m value 0 part 1'); command_fails_like( - [ 'pg_resetwal', '-m', '10,0', $node->data_dir ], + [ 'pg_resetwal', '-m' => '10,0', $node->data_dir ], qr/must not be 0/, 'fails with -m value 0 part 2'); # -o command_fails_like( - [ 'pg_resetwal', '-o', 'foo', $node->data_dir ], + [ 'pg_resetwal', '-o' => 'foo', $node->data_dir ], qr/error: invalid argument for option -o/, 'fails with incorrect -o option'); command_fails_like( - [ 'pg_resetwal', '-o', '0', $node->data_dir ], + [ 'pg_resetwal', '-o' => '0', $node->data_dir ], qr/must not be 0/, 'fails with -o value 0'); # -O command_fails_like( - [ 'pg_resetwal', '-O', 'foo', $node->data_dir ], + [ 'pg_resetwal', '-O' => 'foo', $node->data_dir ], qr/error: invalid argument for option -O/, 'fails with incorrect -O option'); command_fails_like( - [ 'pg_resetwal', '-O', '-1', $node->data_dir ], + [ 'pg_resetwal', '-O' => '-1', $node->data_dir ], qr/must not be -1/, 'fails with -O value -1'); # --wal-segsize command_fails_like( - [ 'pg_resetwal', '--wal-segsize', 'foo', $node->data_dir ], + [ 'pg_resetwal', '--wal-segsize' => 'foo', $node->data_dir ], qr/error: invalid value/, 'fails with incorrect --wal-segsize option'); command_fails_like( - [ 'pg_resetwal', '--wal-segsize', '13', $node->data_dir ], + [ 'pg_resetwal', '--wal-segsize' => '13', $node->data_dir ], qr/must be a power/, 'fails with invalid --wal-segsize value'); # -u command_fails_like( - [ 'pg_resetwal', '-u', 'foo', $node->data_dir ], + [ 'pg_resetwal', '-u' => 'foo', $node->data_dir ], qr/error: invalid argument for option -u/, 'fails with incorrect -u option'); command_fails_like( - [ 'pg_resetwal', '-u', '1', $node->data_dir ], + [ 'pg_resetwal', '-u' => '1', $node->data_dir ], qr/must be greater than/, 'fails with -u value too small'); # -x command_fails_like( - [ 'pg_resetwal', '-x', 'foo', $node->data_dir ], + [ 'pg_resetwal', '-x' => 'foo', $node->data_dir ], qr/error: invalid argument for option -x/, 'fails with incorrect -x option'); command_fails_like( - [ 'pg_resetwal', '-x', '1', $node->data_dir ], + [ 'pg_resetwal', '-x' => '1', $node->data_dir ], qr/must be greater than/, 'fails with -x value too small'); # run with control override options -my $out = (run_command([ 'pg_resetwal', '-n', $node->data_dir ]))[0]; +my $out = (run_command([ 'pg_resetwal', '--dry-run', $node->data_dir ]))[0]; $out =~ /^Database block size: *(\d+)$/m or die; my $blcksz = $1; -my @cmd = ('pg_resetwal', '-D', $node->data_dir); +my @cmd = ('pg_resetwal', '--pgdata' => $node->data_dir); # some not-so-critical hardcoded values -push @cmd, '-e', 1; -push @cmd, '-l', '00000001000000320000004B'; -push @cmd, '-o', 100_000; -push @cmd, '--wal-segsize', 1; +push @cmd, '--epoch' => 1; +push @cmd, '--next-wal-file' => '00000001000000320000004B'; +push @cmd, '--next-oid' => 100_000; +push @cmd, '--wal-segsize' => 1; # these use the guidance from the documentation @@ -202,31 +203,33 @@ my (@files, $mult); # XXX: Should there be a multiplier, similar to the other options? # -c argument is "old,new" push @cmd, - '-c', + '--commit-timestamp-ids' => sprintf("%d,%d", hex($files[0]) == 0 ? 3 : hex($files[0]), hex($files[-1])); @files = get_slru_files('pg_multixact/offsets'); $mult = 32 * $blcksz / 4; -# -m argument is "new,old" -push @cmd, '-m', - sprintf("%d,%d", +# --multixact-ids argument is "new,old" +push @cmd, + '--multixact-ids' => sprintf("%d,%d", (hex($files[-1]) + 1) * $mult, hex($files[0]) == 0 ? 1 : hex($files[0] * $mult)); @files = get_slru_files('pg_multixact/members'); $mult = 32 * int($blcksz / 20) * 4; -push @cmd, '-O', (hex($files[-1]) + 1) * $mult; +push @cmd, '--multixact-offset' => (hex($files[-1]) + 1) * $mult; @files = get_slru_files('pg_xact'); $mult = 32 * $blcksz * 4; push @cmd, - '-u', (hex($files[0]) == 0 ? 3 : hex($files[0]) * $mult), - '-x', ((hex($files[-1]) + 1) * $mult); + '--oldest-transaction-id' => + (hex($files[0]) == 0 ? 3 : hex($files[0]) * $mult), + '--next-transaction-id' => ((hex($files[-1]) + 1) * $mult); -command_ok([ @cmd, '-n' ], 'runs with control override options, dry run'); +command_ok([ @cmd, '--dry-run' ], + 'runs with control override options, dry run'); command_ok(\@cmd, 'runs with control override options'); command_like( - [ 'pg_resetwal', '-n', $node->data_dir ], + [ 'pg_resetwal', '--dry-run', $node->data_dir ], qr/^Latest checkpoint's NextOID: *100000$/m, 'spot check that control changes were applied'); |