#!/bin/bash echo Preparing... if ! [ -a postgresql ]; then git clone git://git.postgresql.org/git/postgresql.git; fi if ! [ -a rum ]; then git clone https://github.com/postgrespro/rum fi rm -rf postgresql_correctness cp -r postgresql postgresql_correctness cp -r rum postgresql_correctness/contrib cd postgresql_correctness patch -p1 < ../generic_xlog_diffdelta_v3.patch cd .. test_postgresql_versions="postgresql_correctness" test_contribs="rum bloom" prefix=`pwd` port=5845 for postgresql in $test_postgresql_versions; do echo Testing $postgresql... rm -rf db_$postgresql rm -rf bin_$postgresql rm -f log_${postgresql}.log cd $postgresql ./configure --prefix=$prefix/bin_$postgresql --enable-cassert --enable-debug --enable-nls --with-pgport=$port CFLAGS="-DWAL_DEBUG" > /dev/null make -j4 > /dev/null make install > /dev/null for contrib in $test_contribs; do cd contrib/$contrib make -j4 > /dev/null make install > /dev/null cd ../..; done cd .. bin_$postgresql/bin/initdb -D db_$postgresql > /dev/null 2> /dev/null echo "wal_debug = on" >> db_$postgresql/postgresql.conf bin_$postgresql/bin/pg_ctl -D db_$postgresql -l log_${postgresql}.log start while !(bin_$postgresql/bin/psql --port $port -d postgres -c "SELECT 1;" > /dev/null 2> /dev/null); do sleep 1; done #cd $postgresql #PGPORT=$port time make installcheck #cd .. for contrib in $test_contribs; do cd $postgresql/contrib/$contrib PGPORT=$port time make installcheck cd ../../..; done bin_$postgresql/bin/pg_ctl -D db_$postgresql -l log_${postgresql}.log stop done