Fix pgbench TAP test to work in VPATH builds.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 2 Mar 2018 19:48:26 +0000 (14:48 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 2 Mar 2018 19:48:26 +0000 (14:48 -0500)
Previously, it'd try to create log files under the source directory
not the build directory.  This fell over if the source isn't writable
by the building user.

Fabien Coelho

Discussion: https://postgr.es/m/alpine.DEB.2.20.1801101038340.2283@lancre

src/bin/pgbench/t/001_pgbench_with_server.pl

index e585220dc088fd7ee948415149042928245b4503..0c23d2fc58358fa3021a016469e2c8310117692c 100644 (file)
@@ -605,24 +605,26 @@ sub check_pgbench_logs
    ok(unlink(@logs), "remove log files");
 }
 
+my $bdir = $node->basedir;
+
 # with sampling rate
 pgbench(
-'-n -S -t 50 -c 2 --log --log-prefix=001_pgbench_log_2 --sampling-rate=0.5',
+"-n -S -t 50 -c 2 --log --log-prefix=$bdir/001_pgbench_log_2 --sampling-rate=0.5",
    0,
    [ qr{select only}, qr{processed: 100/100} ],
    [qr{^$}],
    'pgbench logs');
 
-check_pgbench_logs('001_pgbench_log_2', 1, 8, 92,
+check_pgbench_logs("$bdir/001_pgbench_log_2", 1, 8, 92,
    qr{^0 \d{1,2} \d+ \d \d+ \d+$});
 
 # check log file in some detail
 pgbench(
-   '-n -b se -t 10 -l --log-prefix=001_pgbench_log_3',
+   "-n -b se -t 10 -l --log-prefix=$bdir/001_pgbench_log_3",
    0, [ qr{select only}, qr{processed: 10/10} ],
    [qr{^$}], 'pgbench logs contents');
 
-check_pgbench_logs('001_pgbench_log_3', 1, 10, 10,
+check_pgbench_logs("$bdir/001_pgbench_log_3", 1, 10, 10,
    qr{^\d \d{1,2} \d+ \d \d+ \d+$});
 
 # done