]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
backpatch "Set application_name per-test in isolation and ecpg tests."
authorAndres Freund <andres@anarazel.de>
Mon, 13 Dec 2021 19:40:56 +0000 (11:40 -0800)
committerAndres Freund <andres@anarazel.de>
Mon, 13 Dec 2021 19:40:56 +0000 (11:40 -0800)
We started to backpatch test infrastructure improvements more aggressively to
make it easier to backpatch test. A proposed isolationtester improvement has a
dependency on b1907d688, backpatch b1907d688 to make it easier to subsequently
backpatch the new proposed isolationtester change.

Discussion: https://postgr.es/m/861977.1639421872@sss.pgh.pa.us
Backpatch: 10-12, the commit already is in 13-HEAD

src/interfaces/ecpg/test/pg_regress_ecpg.c
src/test/isolation/isolation_main.c
src/test/regress/pg_regress.c

index a975a7e4e4ed9aa99e6aea1a37629d5b99ad9a51..adab643ce879c16d4a6e426bb88aef0469e24794 100644 (file)
@@ -95,6 +95,7 @@ ecpg_start_test(const char *testname,
                                expectfile_source[MAXPGPATH];
        char            cmd[MAXPGPATH * 3];
        char       *testname_dash;
+       char       *appnameenv;
 
        snprintf(inprg, sizeof(inprg), "%s/%s", inputdir, testname);
 
@@ -144,6 +145,9 @@ ecpg_start_test(const char *testname,
                         outfile_stdout,
                         outfile_stderr);
 
+       appnameenv = psprintf("PGAPPNAME=ecpg/%s", testname_dash);
+       putenv(appnameenv);
+
        pid = spawn_process(cmd);
 
        if (pid == INVALID_PID)
@@ -153,6 +157,10 @@ ecpg_start_test(const char *testname,
                exit(2);
        }
 
+       unsetenv("PGAPPNAME");
+       free(appnameenv);
+
+       free(testname_dash);
        free(outfile_stdout);
        free(outfile_stderr);
        free(outfile_source);
index d3ada6d2bcf77953fef162fc73c7f9b02e672915..df38a8d4f8281814fd30fd58f8d5a507059103d6 100644 (file)
@@ -36,6 +36,7 @@ isolation_start_test(const char *testname,
        char            expectfile[MAXPGPATH];
        char            psql_cmd[MAXPGPATH * 3];
        size_t          offset = 0;
+       char       *appnameenv;
 
        /* need to do the path lookup here, check isolation_init() for details */
        if (!looked_up_isolation_exec)
@@ -97,6 +98,9 @@ isolation_start_test(const char *testname,
                exit(2);
        }
 
+       appnameenv = psprintf("PGAPPNAME=isolation/%s", testname);
+       putenv(appnameenv);
+
        pid = spawn_process(psql_cmd);
 
        if (pid == INVALID_PID)
@@ -106,6 +110,9 @@ isolation_start_test(const char *testname,
                exit(2);
        }
 
+       unsetenv("PGAPPNAME");
+       free(appnameenv);
+
        return pid;
 }
 
index 1e4015b072c378beaa719b4cde97b2a124180d86..8b9a4aa4dec13ae9face6f1623602340c6af4753 100644 (file)
@@ -724,6 +724,10 @@ doputenv(const char *var, const char *val)
 static void
 initialize_environment(void)
 {
+       /*
+        * Set default application_name.  (The test_function may choose to
+        * override this, but if it doesn't, we have something useful in place.)
+        */
        putenv("PGAPPNAME=pg_regress");
 
        if (nolocale)