summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndres Freund <andres@anarazel.de>2021-12-13 11:41:55 -0800
committerAndres Freund <andres@anarazel.de>2021-12-13 11:41:55 -0800
commit30d57136fcef8d1c9c0c8e6701bc1f083c9557ea (patch)
tree895ce1820c35f77aca9702fddc291e0af8c59359 /src
parent9d73dac127d8bb6a5bc68e006a8db7da3f0ad19f (diff)
backpatch "Set application_name per-test in isolation and ecpg tests."
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
Diffstat (limited to 'src')
-rw-r--r--src/interfaces/ecpg/test/pg_regress_ecpg.c8
-rw-r--r--src/test/isolation/isolation_main.c7
-rw-r--r--src/test/regress/pg_regress.c4
3 files changed, 19 insertions, 0 deletions
diff --git a/src/interfaces/ecpg/test/pg_regress_ecpg.c b/src/interfaces/ecpg/test/pg_regress_ecpg.c
index b6ecb618e69..f4fc9915efe 100644
--- a/src/interfaces/ecpg/test/pg_regress_ecpg.c
+++ b/src/interfaces/ecpg/test/pg_regress_ecpg.c
@@ -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);
diff --git a/src/test/isolation/isolation_main.c b/src/test/isolation/isolation_main.c
index dcddfd8f635..ec90387cc03 100644
--- a/src/test/isolation/isolation_main.c
+++ b/src/test/isolation/isolation_main.c
@@ -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;
}
diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c
index 682cea88e09..ef6c5a8ac66 100644
--- a/src/test/regress/pg_regress.c
+++ b/src/test/regress/pg_regress.c
@@ -723,6 +723,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)