Implemented support for very long strings a la spss v13/v14
[pspp-builds.git] / tests / command / count.sh
index 0b5b751e09f66bc6069c9d894071b876445a7180..7b3e8e4b79cb1aedc3debaff8c69ec42240bcc07 100755 (executable)
@@ -5,10 +5,14 @@
 TEMPDIR=/tmp/pspp-tst-$$
 TESTFILE=$TEMPDIR/`basename $0`.sps
 
-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`
 
 STAT_CONFIG_PATH=$top_srcdir/config
 export STAT_CONFIG_PATH
@@ -48,6 +52,7 @@ mkdir -p $TEMPDIR
 
 cd $TEMPDIR
 
+activity="Create File 1"
 cat > $TESTFILE <<EOF
 title 'Test COUNT transformation'.
 
@@ -68,20 +73,21 @@ EOF
 if [ $? -ne 0 ] ; then no_result ; fi
 
 
-$SUPERVISOR $here/../src/pspp -o raw-ascii $TESTFILE
+activity="Run pspp 1"
+$SUPERVISOR $PSPP -o raw-ascii $TESTFILE
 if [ $? -ne 0 ] ; then no_result ; fi
 
 
-activity="compare results"
-diff -b -B $TEMPDIR/pspp.list - <<EOF
-1.1 DATA LIST.  Reading 1 record from the command file.
+activity="compare results 1"
+perl -pi -e 's/^\s*$//g' $TEMPDIR/pspp.list
+diff -b  $TEMPDIR/pspp.list - <<EOF
+1.1 DATA LIST.  Reading 1 record from INLINE.
 +--------+------+-------+------+
 |Variable|Record|Columns|Format|
 #========#======#=======#======#
 |V1      |     1|  1-  2|A2    |
 |V2      |     1|  3-  4|A2    |
 +--------+------+-------+------+
-
 V1 V2        C
 -- -- --------
 12 34      .00 
@@ -95,4 +101,49 @@ EOF
 if [ $? -ne 0 ] ; then no_result ; fi
 
 
+
+
+activity="Create file 2"
+cat > $TESTFILE <<EOF
+data list list /x * y *.
+begin data.
+1 2
+2 3
+4 5
+2 2
+5 6
+end data.
+
+count C=x y (2).
+
+list.
+EOF
+if [ $? -ne 0 ] ; then no_result ; fi
+
+
+activity="Run pspp 2"
+$SUPERVISOR $PSPP -o raw-ascii $TESTFILE
+if [ $? -ne 0 ] ; then no_result ; fi
+
+
+activity="compare results"
+perl -pi -e 's/^\s*$//g' $TEMPDIR/pspp.list
+diff -b  $TEMPDIR/pspp.list - <<EOF
+1.1 DATA LIST.  Reading free-form data from INLINE.
++--------+------+
+|Variable|Format|
+#========#======#
+|x       |F8.0  |
+|y       |F8.0  |
++--------+------+
+       x        y        C
+-------- -------- --------
+    1.00     2.00     1.00 
+    2.00     3.00     1.00 
+    4.00     5.00      .00 
+    2.00     2.00     2.00 
+    5.00     6.00      .00 
+EOF
+if [ $? -ne 0 ] ; then fail ; fi
+
 pass;