summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Eisentraut2016-09-30 16:00:00 +0000
committerPeter Eisentraut2016-10-01 01:32:33 +0000
commita4327296df7366ecc657b706a9b5e87aa921311a (patch)
tree11bb255a8e75972151ceef194544e1044287c134
parentf002ed2b8e45286fe73a36e119cba2016ea0de19 (diff)
Set log_line_prefix and application name in test drivers
Before pg_regress runs psql, set the application name to the test name. Similarly, set the application name to the test file name in the TAP tests. Also, set a default log_line_prefix that show the application name, as well as the PID and a time stamp. That way, the server log output can be correlated to the test input files, making debugging a bit easier.
-rw-r--r--src/test/perl/PostgresNode.pm1
-rw-r--r--src/test/perl/TestLib.pm2
-rw-r--r--src/test/regress/pg_regress.c1
-rw-r--r--src/test/regress/pg_regress_main.c7
4 files changed, 11 insertions, 0 deletions
diff --git a/src/test/perl/PostgresNode.pm b/src/test/perl/PostgresNode.pm
index 1611ac9461..4b225e1471 100644
--- a/src/test/perl/PostgresNode.pm
+++ b/src/test/perl/PostgresNode.pm
@@ -409,6 +409,7 @@ sub init
open my $conf, ">>$pgdata/postgresql.conf";
print $conf "\n# Added by PostgresNode.pm\n";
print $conf "fsync = off\n";
+ print $conf "log_line_prefix = '%m [%p] %q%a '\n";
print $conf "log_statement = all\n";
print $conf "port = $port\n";
diff --git a/src/test/perl/TestLib.pm b/src/test/perl/TestLib.pm
index 31e7acd4da..d22957ceb0 100644
--- a/src/test/perl/TestLib.pm
+++ b/src/test/perl/TestLib.pm
@@ -62,6 +62,8 @@ BEGIN
delete $ENV{PGPORT};
delete $ENV{PGHOST};
+ $ENV{PGAPPNAME} = $0;
+
# Must be set early
$windows_os = $Config{osname} eq 'MSWin32' || $Config{osname} eq 'msys';
}
diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c
index b28cb0b1e1..762adb8443 100644
--- a/src/test/regress/pg_regress.c
+++ b/src/test/regress/pg_regress.c
@@ -2270,6 +2270,7 @@ regression_main(int argc, char *argv[], init_function ifunc, test_function tfunc
fputs("\n# Configuration added by pg_regress\n\n", pg_conf);
fputs("log_autovacuum_min_duration = 0\n", pg_conf);
fputs("log_checkpoints = on\n", pg_conf);
+ fputs("log_line_prefix = '%m [%p] %q%a '\n", pg_conf);
fputs("log_lock_waits = on\n", pg_conf);
fputs("log_temp_files = 128kB\n", pg_conf);
fputs("max_prepared_transactions = 2\n", pg_conf);
diff --git a/src/test/regress/pg_regress_main.c b/src/test/regress/pg_regress_main.c
index d9591c0608..273363588a 100644
--- a/src/test/regress/pg_regress_main.c
+++ b/src/test/regress/pg_regress_main.c
@@ -34,6 +34,7 @@ psql_start_test(const char *testname,
char expectfile[MAXPGPATH];
char psql_cmd[MAXPGPATH * 3];
size_t offset = 0;
+ char *appnameenv;
/*
* Look for files in the output dir first, consistent with a vpath search.
@@ -63,6 +64,9 @@ psql_start_test(const char *testname,
offset += snprintf(psql_cmd + offset, sizeof(psql_cmd) - offset,
"%s ", launcher);
+ appnameenv = psprintf("PGAPPNAME=pg_regress/%s", testname);
+ putenv(appnameenv);
+
snprintf(psql_cmd + offset, sizeof(psql_cmd) - offset,
"\"%s%spsql\" -X -a -q -d \"%s\" < \"%s\" > \"%s\" 2>&1",
bindir ? bindir : "",
@@ -80,6 +84,9 @@ psql_start_test(const char *testname,
exit(2);
}
+ unsetenv("PGAPPNAME");
+ free(appnameenv);
+
return pid;
}