aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2019-08-27 19:49:09 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2019-08-27 19:49:09 -0400
commitb1907d6882205319822c7452ce6b5e71ee2867be (patch)
tree03b089a5faa59fcdb57c18d948d90c113c1e019f /src
parent458f01e254e0f0b1ccab8e4589aa8495781a933a (diff)
downloadpostgresql-b1907d6882205319822c7452ce6b5e71ee2867be.tar.gz
postgresql-b1907d6882205319822c7452ce6b5e71ee2867be.zip
Set application_name per-test in isolation and ecpg tests.
Commit a4327296d taught pg_regress proper to do this, but missed the opportunity to do likewise in the isolationtester and ecpg variants of pg_regress. Seems like this might be helpful for tracking down issues exposed by those tests.
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 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 117a9544eaf..b4045abf219 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)