Rewrite PSPP output engine.
[pspp-builds.git] / tests / command / import-export.sh
index 4476fa7df4cee45b675509311a4e5302761792aa..9a5814027359c949933dffe35460689549ab2a5d 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
@@ -16,6 +20,10 @@ export STAT_CONFIG_PATH
 
 cleanup()
 {
+     if [ x"$PSPP_TEST_NO_CLEANUP" != x ] ; then 
+       echo "NOT cleaning $TEMPDIR" 
+       return ; 
+     fi
      cd /
      rm -rf $TEMPDIR
 }
@@ -50,17 +58,14 @@ cd $TEMPDIR
 
 activity="create program"
 cat > $TESTFILE <<EOF
-DATA LIST LIST /X * Y *.
+DATA LIST LIST NOTABLE /X Y.
 BEGIN DATA.
 1 2
-3 4
+3 .
 5 6
 END DATA.
 
 EXPORT /OUTFILE='wiz.por'.
-
-LIST.
-
 IMPORT /FILE='wiz.por'.
 
 LIST.
@@ -69,31 +74,16 @@ if [ $? -ne 0 ] ; then no_result ; fi
 
 
 activity="run program"
-$SUPERVISOR $here/../src/pspp --testing-mode -o raw-ascii $TESTFILE
+$SUPERVISOR $PSPP --testing-mode $TESTFILE
 if [ $? -ne 0 ] ; then no_result ; fi
 
 activity="compare output"
-diff -b -B $TEMPDIR/pspp.list - << EOF
-1.1 DATA LIST.  Reading free-form data from the command file.
-+--------+------+
-|Variable|Format|
-#========#======#
-|X       |F8.0  |
-|Y       |F8.0  |
-+--------+------+
-
-       X        Y
--------- --------
-    1.00     2.00 
-    3.00     4.00 
-    5.00     6.00 
-
-       X        Y
--------- --------
-    1.00     2.00 
-    3.00     4.00 
-    5.00     6.00 
-
+diff -c $TEMPDIR/pspp.csv - << EOF
+Table: Data List
+X,Y
+1.00,2.00
+3.00,.  
+5.00,6.00
 EOF
 if [ $? -ne 0 ] ; then fail ; fi