ddb78e1a317e7c2283f906ab3b1d5048eee0fc9d
[pspp-builds.git] / tests / command / regression.sh
1 #!/bin/sh
2
3 # This program tests that the REGRESSION 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 / v0 to v2.
62 begin data
63  0.65377128  7.735648 -23.97588
64 -0.13087553  6.142625 -19.63854
65  0.34880368  7.651430 -25.26557
66  0.69249021  6.125125 -16.57090
67 -0.07368178  8.245789 -25.80001
68 -0.34404919  6.031540 -17.56743
69  0.75981559  9.832291 -28.35977
70 -0.46958313  5.343832 -16.79548
71 -0.06108490  8.838262 -29.25689
72  0.56154863  6.200189 -18.58219
73 end data
74 regression /variables=v0 v1 v2 /statistics defaults /dependent=v2 /method=enter.
75 EOF
76 if [ $? -ne 0 ] ; then no_result ; fi
77
78
79 activity="run program"
80 $SUPERVISOR $PSPP --testing-mode $TESTFILE
81 if [ $? -ne 0 ] ; then no_result ; fi
82
83 perl -pi -e 's/^\s*$//g' $TEMPDIR/pspp.list
84 diff -b  $TEMPDIR/pspp.list - << EOF
85 1.1 DATA LIST.  Reading free-form data from INLINE.
86 +--------+------+
87 |Variable|Format|
88 #========#======#
89 |v0      |F8.0  |
90 |v1      |F8.0  |
91 |v2      |F8.0  |
92 +--------+------+
93 2.1 REGRESSION.  Model Summary
94 #============#========#=================#==========================#
95 #          R #R Square|Adjusted R Square|Std. Error of the Estimate#
96 #========#===#========#=================#==========================#
97 #        |.97#     .94|              .93|                       .33#
98 #========#===#========#=================#==========================#
99 2.2 REGRESSION.  ANOVA
100 #===================#==============#==#===========#======#============#
101 #                   #Sum of Squares|df|Mean Square|   F  |Significance#
102 #========#==========#==============#==#===========#======#============#
103 #        |Regression#        202.75| 2|    101.376|56.754|        .000#
104 #        |Residual  #         12.50| 7|      1.786|      |            #
105 #        |Total     #        215.26| 9|           |      |            #
106 #========#==========#==============#==#===========#======#============#
107 2.3 REGRESSION.  Coefficients
108 #===================#=====#==========#====#======#============#
109 #                   #  B  |Std. Error|Beta|   t  |Significance#
110 #========#==========#=====#==========#====#======#============#
111 #        |(Constant)# 2.19|      2.36| .45|   .93|         .52#
112 #        |    v0    # 1.81|      1.05| .54|  1.72|         .13#
113 #        |    v1    #-3.43|       .33| .00|-10.33|         .00#
114 #        |          #     |          |    |      |            #
115 #========#==========#=====#==========#====#======#============#
116 EOF
117 if [ $? -ne 0 ] ; then fail ; fi
118
119 pass