Fully implement arbitrary delimiters on DATA LIST, extending the half
[pspp-builds.git] / tests / command / data-list.sh
1 #!/bin/sh
2
3 # This program tests the DATA LIST input program.
4
5 TEMPDIR=/tmp/pspp-tst-$$
6
7 here=`pwd`;
8
9 # ensure that top_srcdir is absolute
10 cd $top_srcdir; top_srcdir=`pwd`
11
12 export STAT_CONFIG_PATH=$top_srcdir/config
13
14
15 cleanup()
16 {
17      rm -rf $TEMPDIR
18 }
19
20
21 fail()
22 {
23     echo $activity
24     echo FAILED
25     cleanup;
26     exit 1;
27 }
28
29
30 no_result()
31 {
32     echo $activity
33     echo NO RESULT;
34     cleanup;
35     exit 2;
36 }
37
38 pass()
39 {
40     cleanup;
41     exit 0;
42 }
43
44 mkdir -p $TEMPDIR
45
46 cd $TEMPDIR
47
48 # Create command file.
49 activity="create program"
50 cat > $TEMPDIR/data-list.stat << EOF
51 data list free/A B C D.
52 begin data.
53 ,1,2,3
54 ,4,,5
55 6
56 7,
57 8 9
58 0,1,,,
59 ,,,,
60 2
61
62 3
63 4
64 5
65 end data.
66 list.
67
68 data list free (tab)/A B C D.
69 begin data.
70 1       2       3       4
71 1       2       3       
72 1       2               4
73 1       2               
74 1               3       4
75 1               3       
76 1                       4
77 1                       
78         2       3       4
79         2       3       
80         2               4
81         2               
82                 3       4
83                 3       
84                         4
85                         
86 end data.
87 list.
88 EOF
89 if [ $? -ne 0 ] ; then no_result ; fi
90
91
92 activity="run program"
93 $SUPERVISOR $here/../src/pspp --testing-mode -o raw-ascii --testing-mode $TEMPDIR/data-list.stat # > $TEMPDIR/errs
94 if [ $? -ne 0 ] ; then fail ; fi
95
96 activity="compare output"
97 diff -b -B $TEMPDIR/pspp.list - << EOF
98        A        B        C        D
99 -------- -------- -------- --------
100      .       1.00     2.00     3.00 
101      .       4.00      .       5.00 
102     6.00     7.00     8.00     9.00 
103      .00     1.00      .        .   
104      .        .        .        .   
105     2.00     3.00     4.00     5.00 
106
107        A        B        C        D
108 -------- -------- -------- --------
109     1.00     2.00     3.00     4.00 
110     1.00     2.00     3.00      .   
111     1.00     2.00      .       4.00 
112     1.00     2.00      .        .   
113     1.00      .       3.00     4.00 
114     1.00      .       3.00      .   
115     1.00      .        .       4.00 
116     1.00      .        .        .   
117      .       2.00     3.00     4.00 
118      .       2.00     3.00      .   
119      .       2.00      .       4.00 
120      .       2.00      .        .   
121      .        .       3.00     4.00 
122      .        .       3.00      .   
123      .        .        .       4.00 
124      .        .        .        .   
125 EOF
126 if [ $? -ne 0 ] ; then fail ; fi
127
128 pass;