X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2Flanguage%2Fdata-io%2Fget-data-psql.at;h=923c9bd3c7637ec512e81b9c038cbfebd7607e9f;hb=672c9b7e1c60763d279ecc781b7bf939b8bab4b4;hp=9ac5737ac55fdd3dd1bdc3029263193eba127164;hpb=e96a749436bacd96c2f0b3e45529c9260a71f187;p=pspp
diff --git a/tests/language/data-io/get-data-psql.at b/tests/language/data-io/get-data-psql.at
index 9ac5737ac5..923c9bd3c7 100644
--- a/tests/language/data-io/get-data-psql.at
+++ b/tests/language/data-io/get-data-psql.at
@@ -1,19 +1,34 @@
+dnl PSPP - a program for statistical analysis.
+dnl Copyright (C) 2017 Free Software Foundation, Inc.
+dnl
+dnl This program is free software: you can redistribute it and/or modify
+dnl it under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation, either version 3 of the License, or
+dnl (at your option) any later version.
+dnl
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+dnl GNU General Public License for more details.
+dnl
+dnl You should have received a copy of the GNU General Public License
+dnl along with this program. If not, see .
+dnl
AT_BANNER([GET DATA /TYPE=PSQL])
m4_define([INIT_PSQL],
[AT_SKIP_IF([test "$PSQL_SUPPORT" = no])
- PATH=$PG_PATH:$PATH
- export PATH
PGDATA=`pwd`/cluster
export PGDATA
- PGHOST=`pwd`
- export PGHOST
PGPORT=$PG_PORT
export PGPORT
- AT_CHECK([initdb -A trust], [0], [ignore])
- AT_CHECK([pg_ctl start -w -o "-k `pwd` -h ''"], [0], [ignore])
+ socket_dir=`mktemp -d`
+ PGHOST="$socket_dir"
+ export PGHOST
+ AT_CHECK([PATH=$PG_PATH:$PATH initdb -A trust], [0], [ignore])
+ AT_CHECK([PATH=$PG_PATH:$PATH pg_ctl start -w -o "-k $socket_dir -h ''"], [0], [ignore])
trap 'CLEANUP_PSQL' 0
- AT_CHECK([createdb -h "`pwd`" -p $PG_PORT $PG_DBASE],
+ AT_CHECK([PATH=$PG_PATH:$PATH createdb -h "$socket_dir" -p $PG_PORT $PG_DBASE],
[0], [ignore], [ignore])
AT_DATA([populate.sql],
[CREATE TABLE empty (a int, b date, c numeric(23, 4));
@@ -115,18 +130,28 @@ m4_define([INIT_PSQL],
'01:05:02 UTC-7'
);
])
- AT_CHECK([psql -h "`pwd`" -p $PG_PORT $PG_DBASE < populate.sql],
+
+ # On Debian, the psql binary in the postgres bindir won't work because
+ # it needs libreadline to be LD_PRELOADed into it. The psql in the
+ # normal $PATH works fine though.
+ if (PATH=$PG_PATH:$PATH psql -V) >/dev/null 2>&1; then
+ psql () {
+ PATH=$PG_PATH:$PATH command psql "$@"
+ }
+ fi
+ AT_CHECK([psql -h "$socket_dir" -p $PG_PORT $PG_DBASE < populate.sql],
[0], [ignore])])
-m4_define([CLEANUP_PSQL], [pg_ctl stop -W -o "-k `pwd` -h ''"])
+m4_define([CLEANUP_PSQL], [PATH=$PG_PATH:$PATH pg_ctl stop -W -o "-k $socket_dir -h ''"])
AT_SETUP([GET DATA /TYPE=PSQL])
+AT_KEYWORDS([slow])
INIT_PSQL
dnl Test with an ordinary query.
AT_CHECK([cat > ordinary-query.sps < empty-result.sps < large-result.sps < get-data.sps <