diff options
Diffstat (limited to 'src/test/regress/pg_regress.c')
-rw-r--r-- | src/test/regress/pg_regress.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c index 38b2b1e8e1b..f11a3b9e26e 100644 --- a/src/test/regress/pg_regress.c +++ b/src/test/regress/pg_regress.c @@ -465,8 +465,7 @@ convert_sourcefiles_in(const char *source_subdir, const char *dest_dir, const ch { char testtablespace[MAXPGPATH]; char indir[MAXPGPATH]; - struct stat st; - int ret; + char outdir_sub[MAXPGPATH]; char **name; char **names; int count = 0; @@ -474,8 +473,7 @@ convert_sourcefiles_in(const char *source_subdir, const char *dest_dir, const ch snprintf(indir, MAXPGPATH, "%s/%s", inputdir, source_subdir); /* Check that indir actually exists and is a directory */ - ret = stat(indir, &st); - if (ret != 0 || !S_ISDIR(st.st_mode)) + if (!directory_exists(indir)) { /* * No warning, to avoid noise in tests that do not have these @@ -489,6 +487,11 @@ convert_sourcefiles_in(const char *source_subdir, const char *dest_dir, const ch /* Error logged in pgfnames */ exit(2); + /* Create the "dest" subdirectory if not present */ + snprintf(outdir_sub, MAXPGPATH, "%s/%s", dest_dir, dest_subdir); + if (!directory_exists(outdir_sub)) + make_directory(outdir_sub); + snprintf(testtablespace, MAXPGPATH, "%s/testtablespace", outputdir); #ifdef WIN32 |