Closing bug #21760
[pspp-builds.git] / tests / bugs / crosstabs.sh
1 #!/bin/sh
2
3 # This program tests for a bug which crashed pspp when doing a crosstabs
4
5 TEMPDIR=/tmp/pspp-tst-$$
6 TESTFILE=$TEMPDIR/`basename $0`.sps
7
8 # ensure that top_builddir  are absolute
9 if [ -z "$top_builddir" ] ; then top_builddir=. ; fi
10 if [ -z "$top_srcdir" ] ; then top_srcdir=. ; fi
11 top_builddir=`cd $top_builddir; pwd`
12 PSPP=$top_builddir/src/ui/terminal/pspp
13
14 # ensure that top_srcdir is absolute
15 top_srcdir=`cd $top_srcdir; pwd`
16
17 STAT_CONFIG_PATH=$top_srcdir/config
18 export STAT_CONFIG_PATH
19
20
21 cleanup()
22 {
23      cd /
24      rm -rf $TEMPDIR
25 }
26
27
28 fail()
29 {
30     echo $activity
31     echo FAILED
32     cleanup;
33     exit 1;
34 }
35
36
37 no_result()
38 {
39     echo $activity
40     echo NO RESULT;
41     cleanup;
42     exit 2;
43 }
44
45 pass()
46 {
47     cleanup;
48     exit 0;
49 }
50
51 mkdir -p $TEMPDIR
52
53 cd $TEMPDIR
54
55 activity="create program"
56 cat > $TEMPDIR/ct.stat <<EOF
57 DATA LIST FIXED
58      / x   1-2
59        y   3
60        z   4.
61
62 BEGIN DATA.
63 0111 
64 0222 
65 0311 
66 0412 
67 0521 
68 0612 
69 0711 
70 0811 
71 0912 
72 END DATA.
73
74 LIST.
75
76
77 CROSSTABS TABLES  y by z.
78
79 EOF
80 if [ $? -ne 0 ] ; then no_result ; fi
81
82
83 $SUPERVISOR $PSPP --testing-mode $TEMPDIR/ct.stat
84 if [ $? -ne 0 ] ; then fail ; fi
85
86
87 pass;