Commit a4327296 authored by Peter Eisentraut's avatar Peter Eisentraut

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.
parent f002ed2b
...@@ -409,6 +409,7 @@ sub init ...@@ -409,6 +409,7 @@ sub init
open my $conf, ">>$pgdata/postgresql.conf"; open my $conf, ">>$pgdata/postgresql.conf";
print $conf "\n# Added by PostgresNode.pm\n"; print $conf "\n# Added by PostgresNode.pm\n";
print $conf "fsync = off\n"; print $conf "fsync = off\n";
print $conf "log_line_prefix = '%m [%p] %q%a '\n";
print $conf "log_statement = all\n"; print $conf "log_statement = all\n";
print $conf "port = $port\n"; print $conf "port = $port\n";
......
...@@ -62,6 +62,8 @@ BEGIN ...@@ -62,6 +62,8 @@ BEGIN
delete $ENV{PGPORT}; delete $ENV{PGPORT};
delete $ENV{PGHOST}; delete $ENV{PGHOST};
$ENV{PGAPPNAME} = $0;
# Must be set early # Must be set early
$windows_os = $Config{osname} eq 'MSWin32' || $Config{osname} eq 'msys'; $windows_os = $Config{osname} eq 'MSWin32' || $Config{osname} eq 'msys';
} }
......
...@@ -2270,6 +2270,7 @@ regression_main(int argc, char *argv[], init_function ifunc, test_function tfunc ...@@ -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("\n# Configuration added by pg_regress\n\n", pg_conf);
fputs("log_autovacuum_min_duration = 0\n", pg_conf); fputs("log_autovacuum_min_duration = 0\n", pg_conf);
fputs("log_checkpoints = on\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_lock_waits = on\n", pg_conf);
fputs("log_temp_files = 128kB\n", pg_conf); fputs("log_temp_files = 128kB\n", pg_conf);
fputs("max_prepared_transactions = 2\n", pg_conf); fputs("max_prepared_transactions = 2\n", pg_conf);
......
...@@ -34,6 +34,7 @@ psql_start_test(const char *testname, ...@@ -34,6 +34,7 @@ psql_start_test(const char *testname,
char expectfile[MAXPGPATH]; char expectfile[MAXPGPATH];
char psql_cmd[MAXPGPATH * 3]; char psql_cmd[MAXPGPATH * 3];
size_t offset = 0; size_t offset = 0;
char *appnameenv;
/* /*
* Look for files in the output dir first, consistent with a vpath search. * Look for files in the output dir first, consistent with a vpath search.
...@@ -63,6 +64,9 @@ psql_start_test(const char *testname, ...@@ -63,6 +64,9 @@ psql_start_test(const char *testname,
offset += snprintf(psql_cmd + offset, sizeof(psql_cmd) - offset, offset += snprintf(psql_cmd + offset, sizeof(psql_cmd) - offset,
"%s ", launcher); "%s ", launcher);
appnameenv = psprintf("PGAPPNAME=pg_regress/%s", testname);
putenv(appnameenv);
snprintf(psql_cmd + offset, sizeof(psql_cmd) - offset, snprintf(psql_cmd + offset, sizeof(psql_cmd) - offset,
"\"%s%spsql\" -X -a -q -d \"%s\" < \"%s\" > \"%s\" 2>&1", "\"%s%spsql\" -X -a -q -d \"%s\" < \"%s\" > \"%s\" 2>&1",
bindir ? bindir : "", bindir ? bindir : "",
...@@ -80,6 +84,9 @@ psql_start_test(const char *testname, ...@@ -80,6 +84,9 @@ psql_start_test(const char *testname,
exit(2); exit(2);
} }
unsetenv("PGAPPNAME");
free(appnameenv);
return pid; return pid;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment