X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/6481e12595de1b95cf9f75ddad2ae9e7c27fd150..a630c66b842bb8ca83f2716b5ae156598e823040:/test/scripts/2620-Postgresql/2620 diff --git a/test/scripts/2620-Postgresql/2620 b/test/scripts/2620-Postgresql/2620 index d0dd00190..bad032b30 100644 --- a/test/scripts/2620-Postgresql/2620 +++ b/test/scripts/2620-Postgresql/2620 @@ -1,18 +1,28 @@ # 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 'DIR/bin.sys/initdb -D DIR/pgsql/data'; **** -sudo rm test-stdout +# +# I don not understand why, but the DB fails to start if this rm is present. +#sudo rm test-stdout +# +# Start the DB server background 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 \ +system 'DIR/bin.sys/psql -h localhost -p PORT_N -d test \ -c "CREATE TABLE them ( name text, id text ); \ INSERT INTO them VALUES ( \'Philip Hazel\', \'ph10\' ); \ INSERT INTO them VALUES ( \'Aristotle\', \'aaaa\' ); \ @@ -24,6 +34,8 @@ system 'psql -h localhost -p PORT_N -d test \ '; **** # +echo Populated DB server +# # now, the tests exim -d-all+lookup -be ${lookup pgsql {select name from them where id='ph10';}} @@ -43,8 +55,10 @@ ${lookup pgsql {servers=(DIR/pgsql/.s.PGSQL.PORT_N)/test/CALLER/:x; select name 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 +helo test mail from: rcpt to: rcpt to: @@ -59,7 +73,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