Implemented support for very long strings a la spss v13/v14
[pspp-builds.git] / tests / expressions / expressions.sh
index c4e48f409061108672c87a8e14b8c058c3ca2a49..b80f508084961fb9a970110084873c00d00684e9 100755 (executable)
@@ -4,18 +4,23 @@
 
 TEMPDIR=/tmp/pspp-tst-$$
 
-here=`pwd`;
+# ensure that top_builddir  are absolute
+if [ -z "$top_builddir" ] ; then top_builddir=. ; fi
+if [ -z "$top_srcdir" ] ; then top_srcdir=. ; fi
+top_builddir=`cd $top_builddir; pwd`
+PSPP=$top_builddir/src/ui/terminal/pspp
 
 # ensure that top_srcdir is absolute
-cd $top_srcdir; top_srcdir=`pwd`
+top_srcdir=`cd $top_srcdir; pwd`
 
-export STAT_CONFIG_PATH=$top_srcdir/config
+STAT_CONFIG_PATH=$top_srcdir/config
+export STAT_CONFIG_PATH
 
 
 cleanup()
 {
+     cd /
      rm -rf $TEMPDIR
-     :
 }
 
 
@@ -643,14 +648,14 @@ lpad('abc', 0) => "abc"
 lpad('abc', 2) => "abc"
 lpad('abc', 3) => "abc"
 lpad('abc', 10) => "       abc"
-lpad('abc', 256) => ""
+lpad('abc', 32768) => ""
 lpad('abc', $sysmis) => ""
 lpad('abc', -1, '*') => ""
 lpad('abc', 0, '*') => "abc"
 lpad('abc', 2, '*') => "abc"
 lpad('abc', 3, '*') => "abc"
 lpad('abc', 10, '*') => "*******abc"
-lpad('abc', 256, '*') => ""
+lpad('abc', 32768, '*') => ""
 lpad('abc', $sysmis, '*') => ""
 lpad('abc', $sysmis, '') => ""
 lpad('abc', $sysmis, 'xy') => ""
@@ -688,14 +693,14 @@ rpad('abc', 0) => "abc"
 rpad('abc', 2) => "abc"
 rpad('abc', 3) => "abc"
 rpad('abc', 10) => "abc       "
-rpad('abc', 256) => ""
+rpad('abc', 32768) => ""
 rpad('abc', $sysmis) => ""
 rpad('abc', -1, '*') => ""
 rpad('abc', 0, '*') => "abc"
 rpad('abc', 2, '*') => "abc"
 rpad('abc', 3, '*') => "abc"
 rpad('abc', 10, '*') => "abc*******"
-rpad('abc', 256, '*') => ""
+rpad('abc', 32768, '*') => ""
 rpad('abc', $sysmis, '*') => ""
 rpad('abc', $sysmis, '') => ""
 rpad('abc', $sysmis, 'xy') => ""
@@ -1297,14 +1302,14 @@ set mxerr 1000.' > $TEMPDIR/expr-opt.stat
 sed < $TEMPDIR/expr-list >> $TEMPDIR/expr-opt.stat \
        -e 's#^\(\(.*\); \)*\(.*\) => .*$#DEBUG EVALUATE\2/\3.#'
 if [ $? -ne 0 ] ; then no_result ; fi
-cp $TEMPDIR/expr-opt.stat ~/foo
 
 activity="run optimizing program"
-$SUPERVISOR $here/../src/pspp --testing-mode -o raw-ascii \
+$SUPERVISOR $PSPP --testing-mode -o raw-ascii \
         $TEMPDIR/expr-opt.stat >$TEMPDIR/expr-opt.err 2> $TEMPDIR/expr-opt.out
 
 activity="compare optimizing output"
-diff -B -b $TEMPDIR/expr-list $TEMPDIR/expr-opt.out
+perl -pi -e 's/^\s*$//g' $TEMPDIR/expr-list $TEMPDIR/expr-opt.out
+diff -b $TEMPDIR/expr-list $TEMPDIR/expr-opt.out
 if [ $? -ne 0 ] ; then fail ; fi
 
 activity="create non-optimizing input"
@@ -1315,11 +1320,12 @@ sed < $TEMPDIR/expr-list >> $TEMPDIR/expr-noopt.stat \
 if [ $? -ne 0 ] ; then no_result ; fi
 
 activity="run non-optimizing program"
-$SUPERVISOR $here/../src/pspp --testing-mode -o raw-ascii \
+$SUPERVISOR $PSPP --testing-mode -o raw-ascii \
        $TEMPDIR/expr-noopt.stat >$TEMPDIR/expr-noopt.err 2> $TEMPDIR/expr-noopt.out
 
 activity="compare non-optimizing output"
-diff -B -b $TEMPDIR/expr-list $TEMPDIR/expr-noopt.out
+perl -pi -e 's/^\s*$//g' $TEMPDIR/expr-list $TEMPDIR/expr-noopt.out
+diff -b $TEMPDIR/expr-list $TEMPDIR/expr-noopt.out
 if [ $? -ne 0 ] ; then fail ; fi
 
 activity="create optimizing postfix input"
@@ -1330,7 +1336,7 @@ sed < $TEMPDIR/expr-list >> $TEMPDIR/expr-opt-pos.stat \
 if [ $? -ne 0 ] ; then no_result ; fi
 
 activity="run optimizing postfix program"
-$SUPERVISOR $here/../src/pspp --testing-mode -o raw-ascii \
+$SUPERVISOR $PSPP --testing-mode -o raw-ascii \
         $TEMPDIR/expr-opt-pos.stat >$TEMPDIR/expr-opt-pos.err 2> $TEMPDIR/expr-opt-pos.out
 if [ $? -eq 0 ] ; then no_result ; fi
 
@@ -1342,7 +1348,7 @@ sed < $TEMPDIR/expr-list >> $TEMPDIR/expr-noopt-pos.stat \
 if [ $? -ne 0 ] ; then no_result ; fi
 
 activity="run non-optimizing postfix program"
-$SUPERVISOR $here/../src/pspp --testing-mode -o raw-ascii \
+$SUPERVISOR $PSPP --testing-mode -o raw-ascii \
        $TEMPDIR/expr-noopt-pos.stat >$TEMPDIR/expr-noopt-pos.err 2> $TEMPDIR/expr-noopt-pos.out
 if [ $? -eq 0 ] ; then no_result ; fi