aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-dbs/psqlodbc/files/psqlodbc-fix-for-ptest-support.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-oe/recipes-dbs/psqlodbc/files/psqlodbc-fix-for-ptest-support.patch')
-rw-r--r--meta-oe/recipes-dbs/psqlodbc/files/psqlodbc-fix-for-ptest-support.patch148
1 files changed, 148 insertions, 0 deletions
diff --git a/meta-oe/recipes-dbs/psqlodbc/files/psqlodbc-fix-for-ptest-support.patch b/meta-oe/recipes-dbs/psqlodbc/files/psqlodbc-fix-for-ptest-support.patch
new file mode 100644
index 0000000000..a8f14e7689
--- /dev/null
+++ b/meta-oe/recipes-dbs/psqlodbc/files/psqlodbc-fix-for-ptest-support.patch
@@ -0,0 +1,148 @@
+Subject: [PATCH] psqlodbc: fixes for ptest support
+
+* Fix the LIBODBC since we don't use ODBC_CONFIG.
+* Fix the path for driver.
+* Add the default info of postgresql server.
+* Fix the output format for ptest.
+* Fix the results and exe dir.
+
+Upstream-Status: Inappropriate [OE ptest specific]
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ test/Makefile.in | 2 +-
+ test/odbcini-gen.sh | 8 ++++----
+ test/runsuite.c | 26 +++++++++++++-------------
+ 3 files changed, 18 insertions(+), 18 deletions(-)
+
+diff --git a/test/Makefile.in b/test/Makefile.in
+index 8710616..fcb470e 100644
+--- a/test/Makefile.in
++++ b/test/Makefile.in
+@@ -18,7 +18,7 @@ CFLAGS = @CFLAGS@
+ ODBC_CONFIG = @ODBC_CONFIG@
+ PROVE = @PROVE@
+
+-LIBODBC := $(shell $(ODBC_CONFIG) --libs)
++LIBODBC = -lodbc
+
+ all: $(TESTBINS) runsuite reset-db
+
+diff --git a/test/odbcini-gen.sh b/test/odbcini-gen.sh
+index d2c2c87..6068d9d 100755
+--- a/test/odbcini-gen.sh
++++ b/test/odbcini-gen.sh
+@@ -6,7 +6,7 @@
+ outini=odbc.ini
+ outinstini=odbcinst.ini
+
+-drvr=../.libs/psqlodbcw
++drvr=@LIBDIR@/psqlodbca
+ driver=${drvr}.so
+ if test ! -e $driver ; then
+ driver=${drvr}.dll
+@@ -33,10 +33,10 @@ Driver = psqlodbc test driver
+ Trace = No
+ TraceFile =
+ Database = contrib_regression
+-Servername =
+-Username =
++Servername = localhost
++Username = postgres
+ Password =
+-Port =
++Port = 5432
+ ReadOnly = No
+ RowVersioning = No
+ ShowSystemTables = No
+diff --git a/test/runsuite.c b/test/runsuite.c
+index 583cf35..fd2a90e 100644
+--- a/test/runsuite.c
++++ b/test/runsuite.c
+@@ -51,7 +51,7 @@ bailout(const char *fmt, ...)
+
+ /* Given a test program's name, get the test name */
+ void
+-parse_argument(const char *in, char *testname, char *binname)
++parse_argument(const char *in, char *testname, char *binname, const char *inputdir)
+ {
+ const char *basename;
+ #ifdef WIN32
+@@ -65,7 +65,7 @@ parse_argument(const char *in, char *testname, char *binname)
+ if (strchr(in, DIR_SEP) == NULL)
+ {
+ strcpy(testname, in);
+- sprintf(binname, "exe%c%s-test", DIR_SEP, in);
++ sprintf(binname, "%s%cexe%c%s-test", inputdir, DIR_SEP, DIR_SEP, in);
+ return;
+ }
+
+@@ -127,7 +127,7 @@ int main(int argc, char **argv)
+ failures = 0;
+ for (i = 1, j = 1; i <= numtests; i++, j++)
+ {
+- parse_argument(argv[j], testname, binname);
++ parse_argument(argv[j], testname, binname, inputdir);
+ if (runtest(binname, testname, i, inputdir) != 0)
+ failures++;
+ }
+@@ -157,29 +157,29 @@ runtest(const char *binname, const char *testname, int testno, const char *input
+ #ifndef WIN32
+ snprintf(cmdline, sizeof(cmdline),
+ "ODBCSYSINI=. ODBCINSTINI=./odbcinst.ini ODBCINI=./odbc.ini "
+- "%s > results/%s.out",
+- binname, testname);
++ "%s > %s/results/%s.out",
++ binname, inputdir, testname);
+ #else
+ snprintf(cmdline, sizeof(cmdline),
+- "%s > results\\%s.out",
+- binname, testname);
++ "%s > %s/results\\%s.out",
++ binname, inputdir, testname);
+ #endif
+ rc = system(cmdline);
+
+ diff = rundiff(testname, inputdir);
+ if (rc != 0)
+ {
+- printf("not ok %d - %s test returned %d\n", testno, testname, rc);
++ printf("FAIL: %d - %s\n\ttest returned %d\n", testno, testname, rc);
+ ret = 1;
+ }
+ else if (diff != 0)
+ {
+- printf("not ok %d - %s test output differs\n", testno, testname);
++ printf("FAIL: %d - %s\n\ttest output differs\n", testno, testname);
+ ret = 1;
+ }
+ else
+ {
+- printf("ok %d - %s\n", testno, testname);
++ printf("PASS: %d - %s\n", testno, testname);
+ ret = 0;
+ }
+ fflush(stdout);
+@@ -196,7 +196,7 @@ rundiff(const char *testname, const char *inputdir)
+ char *result;
+ size_t result_len;
+
+- snprintf(filename, sizeof(filename), "results/%s.out", testname);
++ snprintf(filename, sizeof(filename), "%s/results/%s.out", inputdir, testname);
+ result = slurpfile(filename, &result_len);
+
+ outputno = 0;
+@@ -244,8 +244,8 @@ rundiff(const char *testname, const char *inputdir)
+ * files and print the smallest diff?
+ */
+ snprintf(cmdline, sizeof(cmdline),
+- "diff -c %s/expected/%s.out results/%s.out >> regression.diffs",
+- inputdir, testname, testname);
++ "diff -c %s/expected/%s.out %s/results/%s.out >> regression.diffs",
++ inputdir, testname, inputdir, testname);
+ if (system(cmdline) == -1)
+ printf("# diff failed\n");
+
+--
+2.8.2
+