fix for pg_regress.sh on mingw - Mailing list pgsql-patches
From | Andrew Dunstan |
---|---|
Subject | fix for pg_regress.sh on mingw |
Date | |
Msg-id | 40B7A013.6070300@dunslane.net Whole thread Raw |
Responses |
Re: fix for pg_regress.sh on mingw
|
List | pgsql-patches |
With the attached patch "make check" runs cleanly for me under MSys/Mingw. Description of changes: . only use the -W flag on pwd for $pkglibdir. All the other paths need to be seen as MSys type paths, whereas $pkglibdir needs to be expressed as a genuine windows path. . run single tests in the background and explicitly wait for them - solves the problem of the MSys shell not waiting properly for the copy test to finish. . use pg_ctl to shut down the test postmaster - no more use of ad hoc kill programs or the task manager. With these changes there should no longer be any need to run regression tests from cygwin for native Windows builds - you can simply run "make check" from the build directory in the build environment. cheers andrew Index: src/test/regress/pg_regress.sh =================================================================== RCS file: /projects/cvsroot/pgsql-server/src/test/regress/pg_regress.sh,v retrieving revision 1.44 diff -c -w -r1.44 pg_regress.sh *** src/test/regress/pg_regress.sh 20 May 2004 00:21:36 -0000 1.44 --- src/test/regress/pg_regress.sh 28 May 2004 20:06:01 -0000 *************** *** 208,225 **** # ---------- - # Set up pwd to give a win32 happy pathname - # ---------- - - case $host_platform in - *-*-mingw32*) - PWDFLAGS=-W;; - *) - PWDFLAGS=;; - esac - - - # ---------- # Set backend timezone and datestyle explicitly # # To pass the horology test in its current form, the postmaster must be --- 208,213 ---- *************** *** 306,317 **** if [ x"$temp_install" != x"" ] then if echo x"$temp_install" | grep -v '^x/' >/dev/null 2>&1; then ! temp_install="`pwd $PWDFLAGS`/$temp_install" fi bindir=$temp_install/install/$bindir libdir=$temp_install/install/$libdir - pkglibdir=$temp_install/install/$pkglibdir datadir=$temp_install/install/$datadir PGDATA=$temp_install/data --- 294,313 ---- if [ x"$temp_install" != x"" ] then if echo x"$temp_install" | grep -v '^x/' >/dev/null 2>&1; then ! case $host_platform in ! *-*-mingw32*) ! pkglibdir="`pwd -W`/$temp_install/install/$pkglibdir" ! temp_install="`pwd`/$temp_install" ! ;; ! *) ! temp_install="`pwd`/$temp_install" ! pkglibdir=$temp_install/install/$pkglibdir ! ;; ! esac fi bindir=$temp_install/install/$bindir libdir=$temp_install/install/$libdir datadir=$temp_install/install/$datadir PGDATA=$temp_install/data *************** *** 602,608 **** # Run a single test formatted=`echo $1 | awk '{printf "%-20.20s", $1;}'` $ECHO_N "test $formatted ... $ECHO_C" ! $PSQL -d "$dbname" <"$inputdir/sql/$1.sql" >"$outputdir/results/$1.out" 2>&1 else # Start a parallel group $ECHO_N "parallel group ($# tests): $ECHO_C" --- 598,605 ---- # Run a single test formatted=`echo $1 | awk '{printf "%-20.20s", $1;}'` $ECHO_N "test $formatted ... $ECHO_C" ! ( $PSQL -d "$dbname" <"$inputdir/sql/$1.sql" >"$outputdir/results/$1.out" 2>&1 )& ! wait else # Start a parallel group $ECHO_N "parallel group ($# tests): $ECHO_C" *************** *** 704,710 **** if [ -n "$postmaster_pid" ]; then message "shutting down postmaster" ! kill -15 "$postmaster_pid" wait "$postmaster_pid" unset postmaster_pid fi --- 701,707 ---- if [ -n "$postmaster_pid" ]; then message "shutting down postmaster" ! "$bindir/pg_ctl" -s -D "$PGDATA" stop wait "$postmaster_pid" unset postmaster_pid fi
pgsql-patches by date: