Checkin of new directory structure.
[pspp] / tests / command / autorecod.sh
index 01c90904a230f6750b1c0b76f0a19db7aabd5bcd..d7e928c6e85359fdb2f075274b815cd330a888a4 100755 (executable)
@@ -3,17 +3,24 @@
 # This program tests the autorecode command
 
 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`
 
 # 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
 }
 
@@ -46,9 +53,9 @@ mkdir -p $TEMPDIR
 cd $TEMPDIR
 
 activity="create program"
-cat > $TEMPDIR/prog.sps <<EOF
+cat > $TESTFILE <<EOF
 /* Tries AUTORECODE on some random but similar strings of characters.
-data list /x 1-5(a) y 7.
+data list /X 1-5(a) Y 7.
 begin data.
 lasdj 1 1                                                           3
 asdfk 0 3 <---- These are the numbers that should be produced for a 4
@@ -61,31 +68,31 @@ asdfk 0 3 These are the numbers that should be produced for b ----> 4
 asdfk 1 3                                                           3
 end data.
 
-autorecode x y into a b/descend.
+autorecode x y into A B/descend.
 
 list.
 /* Just to make sure it works on second & subsequent executions,
 /* try it again.
-compute z=trunc(y/2).
-autorecode z into w.
+compute Z=trunc(y/2).
+autorecode z into W.
 list.
 EOF
 if [ $? -ne 0 ] ; then no_result ; fi
 
 activity="run program"
-$SUPERVISOR $here/../src/pspp    -o raw-ascii $TEMPDIR/prog.sps  
+$SUPERVISOR $top_builddir/src/pspp    -o raw-ascii $TESTFILE
 if [ $? -ne 0 ] ; then no_result ; fi
 
 activity="test output"
-diff -b -B $TEMPDIR/pspp.list - <<EOF
-1.1 DATA LIST.  Reading 1 record from the command file.
+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|
 #========#======#=======#======#
 |X       |     1|  1-  5|A5    |
 |Y       |     1|  7-  7|F1.0  |
 +--------+------+-------+------+
-
     X Y        A        B
 ----- - -------- --------
 lasdj 1     1.00     3.00 
@@ -97,7 +104,6 @@ asdfj 9     4.00     1.00
 lajks 9     2.00     1.00 
 asdfk 0     3.00     4.00 
 asdfk 1     3.00     3.00 
-
     X Y        A        B        Z        W
 ----- - -------- -------- -------- --------
 lasdj 1     1.00     3.00      .00     1.00