aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2022-11-30 13:01:41 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2022-11-30 13:01:41 -0500
commita587901786d5c1bfdff47f8de4e346dbd2746cc9 (patch)
treead6325b5d9d11ebab08a62ed20aca9b071c965cd
parent7b96f525cdec1b59c229457099653de254f9ddbf (diff)
downloadpostgresql-a587901786d5c1bfdff47f8de4e346dbd2746cc9.tar.gz
postgresql-a587901786d5c1bfdff47f8de4e346dbd2746cc9.zip
Reject missing database name in pg_regress and cohorts.
Writing "pg_regress --dbname= ..." led to a crash, because we weren't expecting there to be no database name supplied. It doesn't seem like a great idea to run regression tests in whatever is the user's default database; so rather than supporting this case let's explicitly reject it. Per report from Xing Guo. Back-patch to all supported branches. Discussion: https://postgr.es/m/CACpMh+A8cRvtvtOWVAZsCM1DU81GK4DL26R83y6ugZ1osV=ifA@mail.gmail.com
-rw-r--r--src/test/regress/pg_regress.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c
index 9b3b5d82d8a..bc16d04b9f1 100644
--- a/src/test/regress/pg_regress.c
+++ b/src/test/regress/pg_regress.c
@@ -2257,6 +2257,17 @@ regression_main(int argc, char *argv[], init_function ifunc, test_function tfunc
optind++;
}
+ /*
+ * We must have a database to run the tests in; either a default name, or
+ * one supplied by the --dbname switch.
+ */
+ if (!(dblist && dblist->str && dblist->str[0]))
+ {
+ fprintf(stderr, _("%s: no database name was specified\n"),
+ progname);
+ exit(2);
+ }
+
if (config_auth_datadir)
{
#ifdef ENABLE_SSPI