Fix incorrect TAP test ordering
authorPeter Eisentraut <peter@eisentraut.org>
Mon, 15 May 2023 05:07:09 +0000 (07:07 +0200)
committerPeter Eisentraut <peter@eisentraut.org>
Mon, 15 May 2023 05:11:22 +0000 (07:11 +0200)
Using a test function before a possible skip_all is incorrect.  If the
skip_all is called, the test output will become incorrect and the test
file will fail.

a4f23f9b3c introduced a new test before skip_all.  After discussion,
this doesn't really need to be a test.  Instead, we just bail out if
the condition is not satisfied.

Discussion: https://www.postgresql.org/message-id/af5567a1-aea6-fbdb-7e4b-d1e23a43c43b@enterprisedb.com

src/bin/pg_amcheck/t/004_verify_heapam.pl

index e77b50c6c55b8159ae15ea84983c85bd6ab87c28..aa62422316956035f96772e666b9d2655b0a4eef 100644 (file)
@@ -340,7 +340,7 @@ my @lp_off = split '\n', $node->safe_psql(
        FROM heap_page_items(get_raw_page('test', 'main', 0))
     )
 );
-is(scalar @lp_off, $ROWCOUNT, "acquired row offsets");
+scalar @lp_off == $ROWCOUNT or BAIL_OUT("row offset counts mismatch");
 
 # Sanity check that our 'test' table on disk layout matches expectations.  If
 # this is not so, we will have to skip the test until somebody updates the test