postgres.git / summary / log / commit / refs
commit 30d57136fcef8d1c9c0c8e6701bc1f083c9557ea
Author: Andres Freund <andres@anarazel.de>
Date: Mon Dec 13 19:41:55 2021 +0000
First released in: 10.20, 11.15, 12.10
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
src/interfaces/ecpg/test/pg_regress_ecpg.c | 8 ++++++++
src/test/isolation/isolation_main.c | 7 +++++++
src/test/regress/pg_regress.c | 4 ++++
3 files changed, 19 insertions(+)
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)
[parent: 9d73dac127d8]