Fix GCC 4.3 warning about uninitialized structure member.
[pspp] / tests / command / t-test-groups.sh
1 #!/bin/sh
2
3 # This program tests that the T-TEST /GROUPS command works
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      if [ x"$PSPP_TEST_NO_CLEANUP" != x ] ; then 
24         echo "NOT cleaning $TEMPDIR" 
25         return ; 
26      fi
27      cd /
28      rm -rf $TEMPDIR
29 }
30
31
32 fail()
33 {
34     echo $activity
35     echo FAILED
36     cleanup;
37     exit 1;
38 }
39
40
41 no_result()
42 {
43     echo $activity
44     echo NO RESULT;
45     cleanup;
46     exit 2;
47 }
48
49 pass()
50 {
51     cleanup;
52     exit 0;
53 }
54
55 mkdir -p $TEMPDIR
56
57 cd $TEMPDIR
58
59 activity="create program"
60 cat > $TESTFILE <<EOF
61 data list list /ID * INDEP * DEP1 * DEP2 *.
62 begin data.
63 1  1.1 1 3
64 2  1.1 2 4
65 3  1.1 2 4 
66 4  1.1 2 4 
67 5  1.1 3 5
68 6  2.1 3 1
69 7  2.1 4 2
70 8  2.1 4 2
71 9  2.1 4 2
72 10 2.1 5 3
73 11 3.1 2 2
74 end data.
75
76 * Note that this last case should be IGNORED since it doesn't have a dependent variable of either 1 or 2
77
78 t-test /GROUPS=indep(1.1,2.1) /var=dep1 dep2.
79 EOF
80 if [ $? -ne 0 ] ; then no_result ; fi
81
82
83 activity="run program"
84 $SUPERVISOR $PSPP --testing-mode $TESTFILE
85 if [ $? -ne 0 ] ; then no_result ; fi
86
87 activity="compare output"
88 perl -pi -e s/^\s*\$//g $TEMPDIR/pspp.list
89 diff  -b $TEMPDIR/pspp.list - <<EOF | perl -e 's/^\s*$//g'
90 1.1 DATA LIST.  Reading free-form data from INLINE.
91 +--------+------+
92 |Variable|Format|
93 #========#======#
94 |ID      |F8.0  |
95 |INDEP   |F8.0  |
96 |DEP1    |F8.0  |
97 |DEP2    |F8.0  |
98 +--------+------+
99
100 2.1 T-TEST.  Group Statistics
101 #==========#=#====#==============#========#
102 #     INDEP|N|Mean|Std. Deviation|SE. Mean#
103 #==========#=#====#==============#========#
104 #DEP1 1.1  |5|2.00|          .707|    .316#
105 #     2.1  |5|4.00|          .707|    .316#
106 #DEP2 1.1  |5|4.00|          .707|    .316#
107 #     2.1  |5|2.00|          .707|    .316#
108 #==========#=#====#==============#========#
109
110 2.2 T-TEST.  Independent Samples Test
111 #===============================#==========#===============================================================================#
112 #                               # Levene's |                          t-test for Equality of Means                         #
113 #                               #----+-----+------+-----+---------------+---------------+---------------------+------------#
114 #                               #    |     |      |     |               |               |                     |    95%     #
115 #                               #    |     |      |     |               |               |                     +------+-----#
116 #                               # F  | Sig.|   t  |  df |Sig. (2-tailed)|Mean Difference|Std. Error Difference| Lower|Upper#
117 #===============================#====#=====#======#=====#===============#===============#=====================#======#=====#
118 #DEP1Equal variances assumed    #.000|1.000|-4.472|    8|           .002|         -2.000|                 .447|-3.031|-.969#
119 #    Equal variances not assumed#    |     |-4.472|8.000|           .002|         -2.000|                 .447|-3.031|-.969#
120 #DEP2Equal variances assumed    #.000|1.000| 4.472|    8|           .002|          2.000|                 .447|  .969|3.031#
121 #    Equal variances not assumed#    |     | 4.472|8.000|           .002|          2.000|                 .447|  .969|3.031#
122 #===============================#====#=====#======#=====#===============#===============#=====================#======#=====#
123 EOF
124 if [ $? -ne 0 ] ; then fail ; fi
125
126
127 pass