Repository: incubator-hawq
Updated Branches:
  refs/heads/HAWQ-400 1aec59ce5 -> 8f5e585f4 (forced update)


HAWQ-400. Support expected exit codes for regression tests, fixed leaks.


Project: http://git-wip-us.apache.org/repos/asf/incubator-hawq/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-hawq/commit/8f5e585f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-hawq/tree/8f5e585f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-hawq/diff/8f5e585f

Branch: refs/heads/HAWQ-400
Commit: 8f5e585f4d85194dd7f1b271b747322277d99cb8
Parents: 73eb65f
Author: Oleksandr Diachenko <odiache...@pivotal.io>
Authored: Thu Feb 18 15:03:20 2016 -0800
Committer: Oleksandr Diachenko <odiache...@pivotal.io>
Committed: Fri Feb 19 15:12:16 2016 -0800

----------------------------------------------------------------------
 src/test/regress/pg_regress.c      | 25 ++++++++++++++++---------
 src/test/regress/pg_regress.h      |  2 ++
 src/test/regress/pg_regress_main.c |  7 ++++++-
 3 files changed, 24 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/8f5e585f/src/test/regress/pg_regress.c
----------------------------------------------------------------------
diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c
index b1f1846..e103df1 100644
--- a/src/test/regress/pg_regress.c
+++ b/src/test/regress/pg_regress.c
@@ -91,8 +91,8 @@ static int    port = -1;
 static char *user = NULL;
 static char *srcdir = NULL;
 static _stringlist *extraroles = NULL;
-static char *initfile = "./init_file";
-static char *expected_statuses_file = "expected_statuses";
+char *initfile = NULL;
+char *expected_statuses_file = NULL;
 
 /* internal variables */
 static const char *progname;
@@ -575,7 +575,7 @@ load_expected_statuses(char *filename)
        f = fopen(filename, "r");
        if (!f)
        {
-               fprintf(stderr, _("could not open file with expected statuses 
for reading: \n"));
+               fprintf(stderr, _("could not open file with expected statuses 
for reading: %s\n"), filename);
                exit_nicely(2);
        }
 
@@ -780,6 +780,8 @@ doputenv(const char *var, const char *val)
 
        sprintf(s, "%s=%s", var, val);
        putenv(s);
+
+       free(s);
 }
 
 /*
@@ -844,6 +846,8 @@ initialize_environment(void)
                new_pgoptions = malloc(strlen(old_pgoptions) + 
strlen(my_pgoptions) + 12);
                sprintf(new_pgoptions, "PGOPTIONS=%s %s", old_pgoptions, 
my_pgoptions);
                putenv(new_pgoptions);
+
+               free(new_pgoptions);
        }
 
        {
@@ -892,6 +896,7 @@ initialize_environment(void)
        convert_sourcefiles();
        load_resultmap();
        load_expected_statuses(expected_statuses_file);
+       free(expected_statuses_file);
 }
 
 /*
@@ -982,6 +987,7 @@ spawn_process(const char *cmdline)
                execl(shellprog, shellprog, "-c", cmdline2, (char *) NULL);
                fprintf(stderr, _("%s: could not exec \"%s\": %s\n"),
                                progname, shellprog, strerror(errno));
+               free(cmdline2);
                exit(1);                                /* not exit_nicely 
here... */
        }
        /* in parent */
@@ -1057,6 +1063,7 @@ spawn_process(const char *cmdline)
 
        cmdline2 = malloc(strlen(cmdline) + 8);
        sprintf(cmdline2, "cmd /c %s", cmdline);
+       free(cmdline2);
 
 #ifndef __CYGWIN__
        AddUserToTokenDacl(restrictedToken);
@@ -1276,6 +1283,7 @@ results_differ(const char *testname, const char 
*resultsfile, const char *defaul
 
          snprintf(m_pretty_diff_opts, sizeof(m_pretty_diff_opts),
                           "%s --gpd_init %s", pretty_diff_opts, initfile);
+         free(initfile);
        }
        else
        {
@@ -2072,12 +2080,6 @@ regression_main(int argc, char *argv[], init_function 
ifunc, test_function tfunc
        hostname = "localhost";
 #endif
 
-       /*
-        * We call the initialization function here because that way we can set
-        * default parameters and let them be overwritten by the commandline.
-        */
-       ifunc();
-
        while ((c = getopt_long(argc, argv, "hV", long_options, &option_index)) 
!= -1)
        {
                switch (c)
@@ -2177,6 +2179,11 @@ regression_main(int argc, char *argv[], init_function 
ifunc, test_function tfunc
        }
 
        /*
+        * Set default values if user didn't pass arguments
+        */
+       ifunc();
+
+       /*
         * Initialization
         */
        open_result_files();

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/8f5e585f/src/test/regress/pg_regress.h
----------------------------------------------------------------------
diff --git a/src/test/regress/pg_regress.h b/src/test/regress/pg_regress.h
index 94db0b4..906cef4 100644
--- a/src/test/regress/pg_regress.h
+++ b/src/test/regress/pg_regress.h
@@ -38,6 +38,8 @@ extern char *datadir;
 extern char *host_platform;
 
 extern _stringlist *dblist;
+extern char *initfile;
+extern char *expected_statuses_file;
 extern bool debug;
 extern char *inputdir;
 extern char *outputdir;

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/8f5e585f/src/test/regress/pg_regress_main.c
----------------------------------------------------------------------
diff --git a/src/test/regress/pg_regress_main.c 
b/src/test/regress/pg_regress_main.c
index b3245b5..afbf132 100644
--- a/src/test/regress/pg_regress_main.c
+++ b/src/test/regress/pg_regress_main.c
@@ -108,7 +108,12 @@ static void
 psql_init(void)
 {
        /* set default regression database name */
-       add_stringlist_item(&dblist, "regression");
+       if (!dblist)
+               add_stringlist_item(&dblist, "regression");
+       if(!expected_statuses_file)
+               expected_statuses_file = "expected_statuses";
+       if(!initfile)
+               initfile = "./init_file";
 }
 
 int

Reply via email to