testsuite: make runtest exit(!0) on failure in continue mode
[users/heiko/exim.git] / test / scripts / 2620-Postgresql / 2620
index 62ee31354c1a3c3ccbf80763b9d01e2934cc2238..a96b719308a1f5b67f4073788978d1bd6556d8b7 100644 (file)
@@ -1,25 +1,34 @@
 # pgsql lookups
+# The pgsql-devel (or equivalent) package will be need for Exim to build, and
+# the postgresql-server (or equivalent) package for this test to run.
 #
 # first, populate a DB to test against
 sudo rm -fr DIR/pgsql
+echo Starting DB server
 perl
-system 'initdb -D DIR/pgsql/data';
+system 'DIR/bin.sys/initdb -D DIR/pgsql/data';
 ****
+sudo rm test-stdout
 background
-/usr/bin/postgres -D DIR/pgsql/data -p PORT_N -k DIR/pgsql
+DIR/bin.sys/postgres -D DIR/pgsql/data -p PORT_N -k DIR/pgsql
 ****
+sleep 1
+echo Waiting for DB server
 perl
+system 'DIR/bin.sys/pg_ctl -w -D DIR/pgsql/data status';
 system 'createdb -h localhost -p PORT_N test';
 system 'psql -h localhost -p PORT_N -d test \
- -c "CREATE TABLE them ( name text, id text );" \
- -c "INSERT INTO them VALUES ( \'Philip Hazel\', \'ph10\' );" \
- -c "INSERT INTO them VALUES ( \'\', \'nothing\' );" \
- -c "INSERT INTO them VALUES ( \'\"stquot\', \'quote2\' );" \
- -c "INSERT INTO them VALUES ( \'before\' || CHR(13) || CHR(10) || \'after\', \'newline\' );" \
- -c "INSERT INTO them VALUES ( \'x\' || CHR(9) || \'x\', \'tab\' );" \
- -c "INSERT INTO them VALUES ( CHR(39) || \'stquot\', \'quote1\' );" \
+ -c "CREATE TABLE them ( name text, id text ); \
+     INSERT INTO them VALUES ( \'Philip Hazel\', \'ph10\' ); \
+     INSERT INTO them VALUES ( \'Aristotle\',    \'aaaa\' ); \
+     INSERT INTO them VALUES ( \'\', \'nothing\' ); \
+     INSERT INTO them VALUES ( \'\"stquot\', \'quote2\' ); \
+     INSERT INTO them VALUES ( \'before\' || CHR(13) || CHR(10) || \'after\', \'newline\' ); \
+     INSERT INTO them VALUES ( \'x\' || CHR(9) || \'x\', \'tab\' ); \
+     INSERT INTO them VALUES ( CHR(39) || \'stquot\', \'quote1\' );" \
  ';
 ****
+echo Populated DB server
 #
 # now, the tests
 exim -d-all+lookup -be
@@ -37,6 +46,10 @@ ${lookup pgsql {servers=x:localhost; select name from them where id='ph10';}}
 ${lookup pgsql {servers=localhost::PORT_N:x; select name from them where id='ph10';}}
 ${lookup pgsql {servers=localhost::PORT_N/test/CALLER/:x; select name from them where id='ph10';}}
 ${lookup pgsql {servers=(DIR/pgsql/.s.PGSQL.PORT_N)/test/CALLER/:x; select name from them where id='ph10';}}
+x
+${lookup pgsql {SELECT name FROM them WHERE id IN ('ph10', 'aaaa');}}
+${lookup pgsql {SELECT *    FROM them WHERE id IN ('ph10', 'aaaa');}}
+${lookup pgsql {delete from them where id='aaaa'}}
 ****
 exim -d -bh 10.0.0.0
 mail from:<a@b>
@@ -53,7 +66,8 @@ ${lookup pgsql {select name from them where id='ph10';}}
 ****
 #
 perl
-system 'pg_ctl stop -D DIR/pgsql/data -m immediate';
+system 'DIR/bin.sys/pg_ctl stop -D DIR/pgsql/data -m immediate';
 ****
+sleep 2
 killdaemon
 sudo rm -fr DIR/pgsql