summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndres Freund <andres@anarazel.de>2021-12-13 11:39:52 -0800
committerAndres Freund <andres@anarazel.de>2021-12-13 11:39:52 -0800
commitfe490f9ad7ab3fc9279c9810304b524aae36c3b6 (patch)
tree0bf9602f5a5fd7a5c8bb4c6655d1ec974cceff59
parent0862317b126c02da19da07a42a132f70526669e3 (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
-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 066dbcc8977..75345f1f3b8 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 294bf30470a..b9e25337726 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 c38594385fa..9b3b5d82d8a 100644
--- a/src/test/regress/pg_regress.c
+++ b/src/test/regress/pg_regress.c
@@ -726,6 +726,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)