diff --git a/src/test/regress/checkresults b/src/test/regress/checkresults deleted file mode 100755 index 3e8a033660..0000000000 --- a/src/test/regress/checkresults +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -# check regression tests -# usage: checkresults [ regress.out ] - -[ "$#" -eq 0 ] && set regress.out - -for file in `cat "$@" | grep 'failed$' | grep -v '^dropdb: ' | cut -d " " -f 1` -do - echo "====== $file ======" - diff -w expected/$file.out results -done - - diff --git a/src/test/regress/regress.sh b/src/test/regress/regress.sh deleted file mode 100755 index 541ffca0d4..0000000000 --- a/src/test/regress/regress.sh +++ /dev/null @@ -1,183 +0,0 @@ -#!/bin/sh -# $Header: /cvsroot/pgsql/src/test/regress/Attic/regress.sh,v 1.56 2000/11/11 19:56:20 thomas Exp $ -# -if [ $# -eq 0 ]; then - echo "Syntax: $0 [extra-tests]" - exit 1 -fi - -hostname=$1 -shift -extratests="$*" - -case $hostname in - i*86-pc-cygwin* | i386-*-qnx* | *beos*) - HOSTLOC="-h localhost" - ;; - *) - HOSTLOC="" - ;; -esac - -if echo '\c' | grep -s c >/dev/null 2>&1 -then - ECHO_N="echo -n" - ECHO_C="" -else - ECHO_N="echo" - ECHO_C='\c' -fi - -PGTZ="PST8PDT"; export PGTZ -PGDATESTYLE="Postgres,US"; export PGDATESTYLE -unset LC_COLLATE LC_CTYPE LC_MONETARY LC_MESSAGES LC_NUMERIC LC_TIME LC_ALL LANG LANGUAGE - -FRONTEND="psql $HOSTLOC -a -q -X" - -# ---------- -# Scan resultmap file to find which platform-specific expected files to use. -# The format of each line of the file is -# testname/hostnamepattern=substitutefile -# where the hostnamepattern is evaluated per the rules of expr(1) --- namely, -# it is a standard regular expression with an implicit ^ at the start. -# -# The tempfile hackery is needed because some shells will run the loop -# inside a subshell, whereupon shell variables set therein aren't seen -# outside the loop :-( -# ---------- -TMPFILE="matches.$$" -cat /dev/null > $TMPFILE -while read LINE -do - HOSTPAT=`expr "$LINE" : '.*/\(.*\)='` - if [ `expr "$hostname" : "$HOSTPAT"` -ne 0 ] - then - # remove hostnamepattern from line so that there are no shell - # wildcards in SUBSTLIST; else later 'for' could expand them! - TESTNAME=`expr "$LINE" : '\(.*\)/'` - SUBST=`echo "$LINE" | sed 's/^.*=//'` - echo "$TESTNAME=$SUBST" >> $TMPFILE - fi -done regression.diffs - -if [ "x$hostname" = "xi386-pc-qnx" ]; then - DIFFOPT="-b" -else - DIFFOPT="-w" -fi - -stdtests=`awk ' -$1=="test" { print $2; } - {} -' < sql/run_check.tests` - -for tst in $stdtests $mbtests $extratests -do - $ECHO_N "${tst} .. " $ECHO_C - $FRONTEND regression < sql/${tst}.sql > results/${tst}.out 2>&1 - - # - # Check list extracted from resultmap to see if we should compare - # to a system-specific expected file. - # There shouldn't be multiple matches, but take the last if there are. - # - EXPECTED="expected/${tst}.out" - for LINE in $SUBSTLIST - do - if [ `expr "$LINE" : "$tst="` -ne 0 ] - then - SUBST=`echo "$LINE" | sed 's/^.*=//'` - EXPECTED="expected/${SUBST}.out" - fi - done - - if [ `diff ${DIFFOPT} ${EXPECTED} results/${tst}.out | wc -l` -ne 0 ]; then - ( diff ${DIFFOPT} -C3 ${EXPECTED} results/${tst}.out; \ - echo ""; \ - echo "----------------------"; \ - echo "" ) >> regression.diffs - echo failed - else - echo ok - fi -done - -exit 0 - -echo "=============== running error queries ... =================" -$FRONTEND regression < errors.sql -# this will generate error result code - -#set this to 1 to avoid clearing the database -debug=0 - -if [ test "$debug" -eq 1 ]; then - echo Skipping clearing and deletion of the regression database -else - echo "=============== clearing regression database... =================" - $FRONTEND regression < drop.sql - if [ $? -ne 0 ]; then - echo the drop script has an error - exit 1 - fi - - exit 0 - echo "=============== dropping regression database... =================" - dropdb regression - if [ $? -ne 0 ]; then - echo dropdb failed - exit 1 - fi - - exit 0 -fi diff --git a/src/test/regress/run_check.sh b/src/test/regress/run_check.sh deleted file mode 100755 index 385c290014..0000000000 --- a/src/test/regress/run_check.sh +++ /dev/null @@ -1,489 +0,0 @@ -#!/bin/sh -# -# $Header: /cvsroot/pgsql/src/test/regress/Attic/run_check.sh,v 1.26 2000/09/29 17:17:37 petere Exp $ - -# ---------- -# Check call syntax -# ---------- -if [ $# -eq 0 ] -then - echo "Syntax: $0 [extra-tests]" - exit 1 -fi - -# ---------- -# Change to the regression test directory explicitly -# ---------- -cd `dirname $0` - -# ---------- -# Some paths used during the test -# ---------- -PWD=`pwd` -CHKDIR="$PWD/tmp_check" -PGDATA="$CHKDIR/data" -LIBDIR="$CHKDIR/lib" -BINDIR="$CHKDIR/bin" -LOGDIR="$CHKDIR/log" -TIMDIR="$CHKDIR/timestamp" -PGPORT="65432" -PGLIB="$LIBDIR" -PMPID="" -PMOPTIONS=${PMOPTIONS:-"-o -F"} - -export CHKDIR -export PGDATA -export PGLIB -export LOGDIR -export TIMDIR -export PGPORT - -# Needed by psql and pg_encoding (if you run multibyte). -# I hope this covers all platforms with shared libraries, -# otherwise feel free to cover your platform here as well. -if [ "$LD_LIBRARY_PATH" ]; then - old_LD_LIBRARY_PATH="$LD_LIBRARY_PATH" - LD_LIBRARY_PATH="$LIBDIR:$old_LD_LIBRARY_PATH" -else - LD_LIBRARY_PATH="$LIBDIR" -fi -export LD_LIBRARY_PATH - -# ---------- -# Unset locale settings -# ---------- - -unset LC_COLLATE LC_CTYPE LC_MONETARY LC_MESSAGES LC_NUMERIC LC_TIME LC_ALL LANG LANGUAGE - -# ---------- -# Get the commandline parameters -# ---------- -hostname=$1 -shift -extratests="$*" - -# ---------- -# Special setting for Windows (no unix domain sockets) -# ---------- -if [ "x$hostname" = "xwin" -o "x$hostname" = "xi386-pc-qnx" ] -then - HOSTLOC="-h localhost" - USETCPIP="-i" -else - HOSTLOC="" - USETCPIP="" -fi - -unset PGHOST - -# ---------- -# Determine if echo -n works -# ---------- -if echo '\c' | grep -s c >/dev/null 2>&1 -then - ECHO_N="echo -n" - ECHO_C="" -else - ECHO_N="echo" - ECHO_C='\c' -fi - -# ---------- -# Set backend timezone and datestyle explicitly -# -# To pass the horology test in its current form, the postmaster must be -# started with PGDATESTYLE=ISO, while the frontend must be started with -# PGDATESTYLE=Postgres. We set the postmaster values here and change -# to the frontend settings after the postmaster has been started. -# ---------- -PGTZ="PST8PDT"; export PGTZ -PGDATESTYLE="ISO,US"; export PGDATESTYLE - -# ---------- -# The SQL shell to use during this test -# ---------- -FRONTEND="$BINDIR/psql $HOSTLOC -a -q -X" - -# ---------- -# Scan resultmap file to find which platform-specific expected files to use. -# The format of each line of the file is -# testname/hostnamepattern=substitutefile -# where the hostnamepattern is evaluated per the rules of expr(1) --- namely, -# it is a standard regular expression with an implicit ^ at the start. -# -# The tempfile hackery is needed because some shells will run the loop -# inside a subshell, whereupon shell variables set therein aren't seen -# outside the loop :-( -# ---------- -TMPFILE="matches.$$" -cat /dev/null > $TMPFILE -while read LINE -do - HOSTPAT=`expr "$LINE" : '.*/\(.*\)='` - if [ `expr "$hostname" : "$HOSTPAT"` -ne 0 ] - then - # remove hostnamepattern from line so that there are no shell - # wildcards in SUBSTLIST; else later 'for' could expand them! - TESTNAME=`expr "$LINE" : '\(.*\)/'` - SUBST=`echo "$LINE" | sed 's/^.*=//'` - echo "$TESTNAME=$SUBST" >> $TMPFILE - fi -done $LOGDIR/install.log 2>&1 - -if [ $? -ne 0 ] -then - echo "" - echo "ERROR: Check installation failed - cannot continue" - echo "Please examine $LOGDIR/install.log" - echo "for the reason." - echo "" - exit 2 -fi - - -# ---------- -# Change the path so that all binaries from the current -# build are first candidates -# ---------- -PATH=$CHKDIR/bin:$PATH -export PATH - - -# ---------- -# Run initdb to initialize a database system in ./tmp_check -# ---------- -echo "=============== Initializing check database instance ================" -initdb -D $PGDATA -L $CHKDIR/share --noclean >$LOGDIR/initdb.log 2>&1 - -if [ $? -ne 0 ] -then - echo "" - echo "ERROR: Check initdb failed - cannot continue" - echo "Please examine $LOGDIR/initdb.log" - echo "for the reason." - echo "" - exit 3 -fi - - -# ---------- -# Start a postmaster for the check instance and give -# him some time to pass the WAL recovery code. -#---------- -echo "=============== Starting regression postmaster ================" -postmaster -D $PGDATA $USETCPIP -p $PGPORT $PMOPTIONS >$LOGDIR/postmaster.log 2>&1 & -PMPID=$! -sleep 2 - -if kill -0 $PMPID >/dev/null 2>&1 -then - echo "Regression postmaster is running - PID=$PMPID PGPORT=$PGPORT" -else - echo "" - echo "ERROR: Regression postmaster did not startup." - echo "Please examine $LOGDIR/postmaster.log" - echo "for the reason." - echo "" - exit 4 -fi - -# ---------- -# Set frontend timezone and datestyle explicitly -# ---------- -PGTZ="PST8PDT"; export PGTZ -PGDATESTYLE="Postgres,US"; export PGDATESTYLE - -# ---------- -# Create the regression database -# ---------- -echo "=============== Creating regression database... ================" -if [ -n "$MULTIBYTE" ];then - mbtests=`echo $MULTIBYTE | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - PGCLIENTENCODING="$MULTIBYTE" - export PGCLIENTENCODING - ENCODINGOPT="-E $MULTIBYTE" -else - mbtests="" - unset PGCLIENTENCODING - ENCODINGOPT="" -fi -createdb $ENCODINGOPT $HOSTLOC regression -if [ $? -ne 0 ]; then - echo createdb failed - kill -15 $PMPID - exit 1 -fi - - -# ---------- -# Install the PL/pgSQL language in it -# ---------- -if [ "x$hostname" != "xi386-pc-qnx" ]; then -echo "=============== Installing PL/pgSQL... ================" -createlang -L $LIBDIR $HOSTLOC plpgsql regression -if [ $? -ne 0 -a $? -ne 2 ]; then - echo createlang failed - kill -15 $PMPID - exit 1 -fi -fi - - -# ---------- -# Run the regression tests specified in the ./sql/run_check.tests file -# ---------- -echo "=============== Running regression queries... ================" -cat /dev/null > regression.diffs -cat /dev/null > regress.out - -if [ "x$hostname" = "xi386-pc-qnx" ]; then - DIFFOPT="-b" -else - DIFFOPT="-w" -fi - -TESTS=./sql/run_check.tests -lno=0 -( - cat $TESTS - for name in $extratests ; do - echo "test $name" - done -) | while read line ; do - - # ---------- - # Count line numbers and skip comments and empty lines - # ---------- - lno=`expr $lno + 1` - line=`echo $line | sed -e 's/[ ]*#.*//'` - if [ -z "$line" ] - then - continue - fi - - # ---------- - # Extract the type keyword and the name - # ---------- - type=`echo $line | awk '{print $1;}'` - name=`echo $line | awk '{print $2;}'` - - case $type in - parallel) # ---------- - # This is the beginning of a new group of - # tests that should be executed in parallel. - # ---------- - parlist= - parlno=$lno - pargroup=$name - parntests=0 - parpar=0 - while read line ; do - # ---------- - # Again count line numbers and skip comments - # ---------- - lno=`expr $lno + 1` - line=`echo $line | sed -e 's/[ ]*#.*//'` - if [ -z "$line" ] - then - continue - fi - - # ---------- - # Collect and count the number of tests to - # execute parallel - # ---------- - type=`echo $line | awk '{print $1;}'` - name=`echo $line | awk '{print $2;}'` - - if [ "$type" = "endparallel" ] - then - parend=1 - break - fi - if [ "$type" = "parallel" ] - then - echo "" - echo "$TESTS line $lno: parallel cannot be nested" - echo "" - exit 5 - fi - if [ "$type" != "test" ] - then - echo "" - echo "$TESTS line $lno: syntax error" - echo "" - exit 5 - fi - - if [ ! -z "$parlist" ] - then - parlist="$parlist " - fi - - parlist="${parlist}$name" - parntests=`expr $parntests + 1` - done - - # ---------- - # Check that we found a matching 'endparallel' - # ---------- - if [ $parend -eq 0 ] - then - echo "" - echo "$TESTS at EOF: missing endparallel for line $parlno" - echo "" - exit 5 - fi - - # ---------- - # Tell what we're doing and then start them all, using - # a subshell for each one. The subshell is just there - # to print the test name when it finishes, so one can - # see which tests finish fastest. We do NOT run the - # ok/failed comparison tests in the parallel subshells, - # because we want the diffs (if any) to come out in a - # predictable order --- and certainly not interleaved! - # ---------- - gnam=`echo "$pargroup ($parntests tests)" | awk '{printf "%-26.26s", $0;}'` - echo "parallel $gnam ..." - - for name in $parlist - do - ( - $FRONTEND regression < sql/${name}.sql \ - > results/${name}.out 2>&1 - $ECHO_N " $name" $ECHO_C - ) & - done - wait - echo "" - - # ---------- - # Setup status information for the diff check below - # ---------- - checklist="$parlist" - checkpname=1 - ;; - - test) # ---------- - # This is a test that must be executed serialized - # ---------- - pnam=`echo $name | awk '{printf "%-20.20s", $1;}'` - $ECHO_N "sequential test $pnam ... " $ECHO_C - - $FRONTEND regression < sql/${name}.sql \ - > results/${name}.out 2>&1 - - # ---------- - # Setup status information for the diff check below - # ---------- - checklist="$name" - checkpname=0 - ;; - - *) # ---------- - # And this is space for extensions - # ---------- - echo "" - echo "$TESTS line $lno: syntax error" - echo "" - exit 5 - ;; - esac - - # ---------- - # One single or a group of parallel tests has been completed. - # Check the output against the expected results. - # - # On the fly we create run_check.out and regress.out in the - # old format, so checkresults will still find the proper - # information. - # ---------- - for name in $checklist ; do - if [ $checkpname -ne 0 ] - then - pnam=`echo $name | awk '{printf "%-20.20s", $1;}'` - $ECHO_N " test $pnam ... " $ECHO_C - fi - - # - # Check list extracted from resultmap to see if we should compare - # to a system-specific expected file. - # There shouldn't be multiple matches, but take the last if there are. - # - EXPECTED="expected/${name}.out" - for LINE in $SUBSTLIST - do - if [ `expr "$LINE" : "$name="` -ne 0 ] - then - SUBST=`echo "$LINE" | sed 's/^.*=//'` - EXPECTED="expected/${SUBST}.out" - fi - done - - if [ `diff ${DIFFOPT} ${EXPECTED} results/${name}.out | wc -l` -ne 0 ] - then - ( diff ${DIFFOPT} -C3 ${EXPECTED} results/${name}.out ; \ - echo "" ; \ - echo "----------------------" ; \ - echo "" ; \ - ) >> regression.diffs - echo "FAILED" - echo "$name .. failed" >> regress.out - else - echo "ok" - echo "$name .. ok" >> regress.out - fi - done -done | tee run_check.out 2>&1 - -# ---------- -# Finally kill the postmaster we started -# ---------- -echo "=============== Terminating regression postmaster ================" -kill -15 $PMPID - -LD_LIBRARY_PATH="$old_LD_LIBRARY_PATH" - -exit 0 diff --git a/src/test/regress/sql/run_check.tests b/src/test/regress/sql/run_check.tests deleted file mode 100644 index ed4d33950f..0000000000 --- a/src/test/regress/sql/run_check.tests +++ /dev/null @@ -1,136 +0,0 @@ -# ---------- -# The first group of parallel test -# ---------- -parallel group1 - test boolean - test char - test name - test varchar - test text - test int2 - test int4 - test int8 - test oid - test float4 - test float8 - test numeric -endparallel - -test strings # Depends on things setup during char, varchar and text -test numerology # Depends on int2, int4, int8, float4, float8 - -# ---------- -# The second group of parallel test -# ---------- -parallel group2 - test point - test lseg - test box - test path - test polygon - test circle - test date - test time - test timestamp - test interval - test abstime - test reltime - test tinterval - test inet - test comments - test oidjoins - test type_sanity - test opr_sanity -endparallel - -test geometry # Depends on point, lseg, box, path, polygon and circle -test horology # Depends on interval, timestamp, reltime and abstime - -# ---------- -# These four each depend on the previous one -# ---------- -test create_function_1 -test create_type -test create_table -test create_function_2 - -# ---------- -# Load huge amounts of data -# We should split the data files into single files and then -# execute two copy tests parallel, to check that copy itself -# is concurrent safe. -# ---------- -test copy - -# ---------- -# The third group of parallel test -# ---------- -parallel group3 - test constraints - test triggers - test create_misc - test create_aggregate - test create_operator - test create_index - test inherit -endparallel - -test create_view # Depends on the above - -# ---------- -# sanity_check does a vacuum, affecting the sort order of SELECT * -# results. So it should not run parallel to other tests. -# ---------- -test sanity_check - -# ---------- -# Believe it or not, select creates a table, subsequent -# tests need. -# ---------- -test errors -test select - -# ---------- -# The fourth group of parallel test -# ---------- -parallel group4 - test select_into - test select_distinct - test select_distinct_on - test select_implicit - test select_having - test subselect - test union - test case - test join - test aggregates - test transactions - test random - test portals - test arrays - test btree_index - test hash_index -endparallel - -test misc - -# ---------- -# The fifth group of parallel test -# ---------- -parallel group5 - test select_views - test alter_table - test portals_p2 - test rules - test foreign_key -endparallel - -# ---------- -# The sixth group of parallel test -# ---------- -parallel group6 - test limit - test plpgsql # Cannot run concurrently to rules - test temp -endparallel - diff --git a/src/test/regress/sql/tests b/src/test/regress/sql/tests deleted file mode 100644 index 8f383c7447..0000000000 --- a/src/test/regress/sql/tests +++ /dev/null @@ -1,73 +0,0 @@ -boolean -char -name -varchar -text -strings -int2 -int4 -int8 -oid -float4 -float8 -numerology -point -lseg -box -path -polygon -circle -geometry -date -time -timestamp -interval -abstime -reltime -tinterval -horology -inet -comments -oidjoins -type_sanity -opr_sanity -create_function_1 -create_type -create_table -create_function_2 -constraints -triggers -copy -create_misc -create_aggregate -create_operator -create_view -create_index -sanity_check -errors -select -select_into -select_distinct -select_distinct_on -select_implicit -select_having -subselect -union -case -join -aggregates -transactions -random -portals -misc -arrays -btree_index -hash_index -select_views -alter_table -portals_p2 -rules -limit -plpgsql -temp -numeric