X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/bbfb5dcd8ece2bbf04cc7323b7cc03581d91d7bd..b217e871882835c14d7bda8e35c0d7e888a40349:/test/scripts/2620-Postgresql/2620?ds=sidebyside diff --git a/test/scripts/2620-Postgresql/2620 b/test/scripts/2620-Postgresql/2620 index ba3a3bcc8..ff2abb7e9 100644 --- a/test/scripts/2620-Postgresql/2620 +++ b/test/scripts/2620-Postgresql/2620 @@ -1,27 +1,41 @@ # 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'; **** +# +# 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 -/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 ( \'Aristotle\', \'aaaa\' );" \ - -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\' );" \ +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\' ); \ + 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 ${lookup pgsql {select name from them where id='ph10';}} @@ -36,13 +50,18 @@ ${lookup pgsql {select * from them where id='tab';}} ${lookup pgsql {select * from them where name='${quote_pgsql:'stquot}';}} ${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';}} +name: ${lookup pgsql {servers=localhost::PORT_N/test/CALLER/:x; select name from them where id='ph10';}} +ipv4: ${lookup pgsql {servers=127.0.0.1::PORT_N/test/CALLER/:x; select name from them where id='ph10';}} +oldsyntax ipv6: ${lookup pgsql {servers= rcpt to: rcpt to: @@ -57,7 +76,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