]> granicus.if.org Git - postgresql/blobdiff - src/test/regress/pg_regress_main.c
Fix initialization of fake LSN for unlogged relations
[postgresql] / src / test / regress / pg_regress_main.c
index a2bd6a2cd5789b9fe37ce3051ac057307189fbf2..f1df7557fa1e9335aae9a32df036f128414337a9 100644 (file)
@@ -8,7 +8,7 @@
  *
  * This code is released under the terms of the PostgreSQL License.
  *
- * Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
+ * Portions Copyright (c) 1996-2019, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  * src/test/regress/pg_regress_main.c
@@ -63,20 +63,37 @@ psql_start_test(const char *testname,
        add_stringlist_item(expectfiles, expectfile);
 
        if (launcher)
+       {
                offset += snprintf(psql_cmd + offset, sizeof(psql_cmd) - offset,
                                                   "%s ", launcher);
+               if (offset >= sizeof(psql_cmd))
+               {
+                       fprintf(stderr, _("command too long\n"));
+                       exit(2);
+               }
+       }
+
+       /*
+        * Use HIDE_TABLEAM to hide different AMs to allow to use regression tests
+        * against different AMs without unnecessary differences.
+        */
+       offset += snprintf(psql_cmd + offset, sizeof(psql_cmd) - offset,
+                                          "\"%s%spsql\" -X -a -q -d \"%s\" -v %s < \"%s\" > \"%s\" 2>&1",
+                                          bindir ? bindir : "",
+                                          bindir ? "/" : "",
+                                          dblist->str,
+                                          "HIDE_TABLEAM=\"on\"",
+                                          infile,
+                                          outfile);
+       if (offset >= sizeof(psql_cmd))
+       {
+               fprintf(stderr, _("command too long\n"));
+               exit(2);
+       }
 
        appnameenv = psprintf("PGAPPNAME=pg_regress/%s", testname);
        putenv(appnameenv);
 
-       snprintf(psql_cmd + offset, sizeof(psql_cmd) - offset,
-                        "\"%s%spsql\" -X -a -q -d \"%s\" < \"%s\" > \"%s\" 2>&1",
-                        bindir ? bindir : "",
-                        bindir ? "/" : "",
-                        dblist->str,
-                        infile,
-                        outfile);
-
        pid = spawn_process(psql_cmd);
 
        if (pid == INVALID_PID)