Rewrite PSPP output engine.
[pspp-builds.git] / tests / bugs / crosstabs-crash.sh
index 82030df5648a8ba4293dbc519732a90b9d521efb..f7d19d834cf7bd87d78a3399e2c4ceeceb8cabc8 100755 (executable)
@@ -6,17 +6,27 @@
 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
 
+LANG=C
+export LANG
 
 cleanup()
 {
+     if [ x"$PSPP_TEST_NO_CLEANUP" != x ] ; then 
+       echo "NOT cleaning $TEMPDIR" 
+       return ; 
+     fi
      cd /
      rm -rf $TEMPDIR
 }
@@ -60,49 +70,35 @@ CROSSTABS VARIABLES X (1,7) Y (1,7) /TABLES X BY Y.
 EOF
 if [ $? -ne 0 ] ; then no_result ; fi
 
-$SUPERVISOR $here/../src/pspp -o raw-ascii $TESTFILE
+$SUPERVISOR $PSPP --testing-mode $TESTFILE
 if [ $? -ne 0 ] ; then no_result ; fi
 
 
-perl -pi -e s/^\s*\$//g $TEMPDIR/pspp.list
-diff -b  -w $TEMPDIR/pspp.list - << EOF | perl -e 's/^\s*$//g'
-1.1 DATA LIST.  Reading free-form data from the command file.
-+--------+------+
-|Variable|Format|
-#========#======#
-|A       |F8.0  |
-|B       |F8.0  |
-|X       |F8.0  |
-|Y       |F8.0  |
-+--------+------+
-
-2.1 CROSSTABS.  Summary.
-#===============#=====================================================#
-#               #                        Cases                        #
-#               #-----------------+-----------------+-----------------#
-#               #      Valid      |     Missing     |      Total      #
-#               #--------+--------+--------+--------+--------+--------#
-#               #       N| Percent|       N| Percent|       N| Percent#
-#---------------#--------+--------+--------+--------+--------+--------#
-#X * Y          #       1|  100.0%|       0|    0.0%|       1|  100.0%#
-#===============#========#========#========#========#========#========#
-
-2.2 CROSSTABS.  X by Y [count].
-#===============#==============================================================#========#
-#               #                               Y                              |        #
-#               #--------+--------+--------+--------+--------+--------+--------+        #
-#              X#    1.00|    2.00|    3.00|    4.00|    5.00|    6.00|    7.00|  Total #
-#---------------#--------+--------+--------+--------+--------+--------+--------+--------#
-#           1.00#      .0|      .0|      .0|      .0|      .0|      .0|      .0|      .0#
-#           2.00#      .0|      .0|      .0|      .0|      .0|      .0|      .0|      .0#
-#           3.00#      .0|      .0|      .0|      .0|      .0|      .0|      .0|      .0#
-#           4.00#      .0|      .0|      .0|      .0|     1.0|      .0|      .0|     1.0#
-#           5.00#      .0|      .0|      .0|      .0|      .0|      .0|      .0|      .0#
-#           6.00#      .0|      .0|      .0|      .0|      .0|      .0|      .0|      .0#
-#           7.00#      .0|      .0|      .0|      .0|      .0|      .0|      .0|      .0#
-#Total          #     .0%|     .0%|     .0%|     .0%|    1.0%|     .0%|     .0%|    1.0%#
-#===============#========#========#========#========#========#========#========#========#
-
+diff -c $TEMPDIR/pspp.csv - << EOF
+Table: Reading free-form data from INLINE.
+Variable,Format
+A,F8.0
+B,F8.0
+X,F8.0
+Y,F8.0
+
+Table: Summary.
+,Cases,,,,,
+,Valid,,Missing,,Total,
+,N,Percent,N,Percent,N,Percent
+X * Y,1,100.0%,0,0.0%,1,100.0%
+
+Table: X * Y [count].
+,Y,,,,,,,
+X,1.00,2.00,3.00,4.00,5.00,6.00,7.00,Total
+1.00,.0,.0,.0,.0,.0,.0,.0,.0
+2.00,.0,.0,.0,.0,.0,.0,.0,.0
+3.00,.0,.0,.0,.0,.0,.0,.0,.0
+4.00,.0,.0,.0,.0,1.0,.0,.0,1.0
+5.00,.0,.0,.0,.0,.0,.0,.0,.0
+6.00,.0,.0,.0,.0,.0,.0,.0,.0
+7.00,.0,.0,.0,.0,.0,.0,.0,.0
+Total,.0,.0,.0,.0,1.0,.0,.0,1.0
 EOF
 if [ $? -ne 0 ] ; then fail ; fi