82b8cdaa24b2ab1d60641a2a6e18d760f94b7055
[pspp-builds.git] / tests / stats / descript-basic.sh
1 #!/bin/sh
2
3 # This program tests that the descriptives command actually works
4
5 TEMPDIR=/tmp/pspp-tst-$$
6
7 # ensure that top_builddir  are absolute
8 if [ -z "$top_builddir" ] ; then top_builddir=. ; fi
9 if [ -z "$top_srcdir" ] ; then top_srcdir=. ; fi
10 top_builddir=`cd $top_builddir; pwd`
11 PSPP=$top_builddir/src/ui/terminal/pspp
12
13 # ensure that top_srcdir is absolute
14 top_srcdir=`cd $top_srcdir; pwd`
15
16 STAT_CONFIG_PATH=$top_srcdir/config
17 export STAT_CONFIG_PATH
18
19 LANG=C
20 export LANG
21
22 cleanup()
23 {
24      if [ x"$PSPP_TEST_NO_CLEANUP" != x ] ; then 
25         echo "NOT cleaning $TEMPDIR" 
26         return ; 
27      fi
28      cd /
29      rm -rf $TEMPDIR
30 }
31
32
33 fail()
34 {
35     echo $activity
36     echo FAILED
37     cleanup;
38     exit 1;
39 }
40
41
42 no_result()
43 {
44     echo $activity
45     echo NO RESULT;
46     cleanup;
47     exit 2;
48 }
49
50 pass()
51 {
52     cleanup;
53     exit 0;
54 }
55
56 mkdir -p $TEMPDIR
57
58 cd $TEMPDIR
59
60 activity="create program"
61 cat > $TEMPDIR/descript.stat <<EOF
62 title 'Test DESCRIPTIVES procedure'.
63
64 data list / V0 to V16 1-17.
65 begin data.
66 12128989012389023
67 34128080123890128
68 56127781237893217
69 78127378123793112
70 90913781237892318
71 37978547878935789
72 52878237892378279
73 12377912789378932
74 26787654347894348
75 29137178947891888
76 end data.
77
78 descript all/stat=all/format=serial.
79
80 EOF
81 if [ $? -ne 0 ] ; then no_result ; fi
82
83
84 activity="run program"
85 $SUPERVISOR $PSPP --testing-mode $TEMPDIR/descript.stat
86 if [ $? -ne 0 ] ; then no_result ; fi
87
88 activity="compare output"
89 perl -pi -e 's/^\s*$//g' $TEMPDIR/pspp.list
90 diff -b $TEMPDIR/pspp.list - <<EOF
91 1.1 DATA LIST.  Reading 1 record from INLINE.
92 +--------+------+-------+------+
93 |Variable|Record|Columns|Format|
94 #========#======#=======#======#
95 |V0      |     1|  1-  1|F1.0  |
96 |V1      |     1|  2-  2|F1.0  |
97 |V2      |     1|  3-  3|F1.0  |
98 |V3      |     1|  4-  4|F1.0  |
99 |V4      |     1|  5-  5|F1.0  |
100 |V5      |     1|  6-  6|F1.0  |
101 |V6      |     1|  7-  7|F1.0  |
102 |V7      |     1|  8-  8|F1.0  |
103 |V8      |     1|  9-  9|F1.0  |
104 |V9      |     1| 10- 10|F1.0  |
105 |V10     |     1| 11- 11|F1.0  |
106 |V11     |     1| 12- 12|F1.0  |
107 |V12     |     1| 13- 13|F1.0  |
108 |V13     |     1| 14- 14|F1.0  |
109 |V14     |     1| 15- 15|F1.0  |
110 |V15     |     1| 16- 16|F1.0  |
111 |V16     |     1| 17- 17|F1.0  |
112 +--------+------+-------+------+
113 2.1 DESCRIPTIVES.  Valid cases = 10; cases with missing value(s) = 0.
114 +--------#-------+---------+-----+--------+-------+--------+--------+--------+--------+--------+-----+-------+-------+------+
115 |Variable#Valid N|Missing N| Mean|S E Mean|Std Dev|Variance|Kurtosis|S E Kurt|Skewness|S E Skew|Range|Minimum|Maximum|  Sum |
116 #========#=======#=========#=====#========#=======#========#========#========#========#========#=====#=======#=======#======#
117 |V0      #     10|        0|3.800|    .841|  2.658|   7.067|   -.035|   1.334|    .889|    .687|8.000|  1.000|  9.000|38.000|
118 |V1      #     10|        0|4.600|    .957|  3.026|   9.156|  -1.386|   1.334|   -.032|    .687|9.000|   .000|  9.000|46.000|
119 |V2      #     10|        0|4.100|   1.159|  3.665|  13.433|  -2.019|   1.334|    .476|    .687|8.000|  1.000|  9.000|41.000|
120 |V3      #     10|        0|4.100|    .875|  2.767|   7.656|  -2.049|   1.334|    .422|    .687|7.000|  1.000|  8.000|41.000|
121 |V4      #     10|        0|7.000|    .471|  1.491|   2.222|   7.152|   1.334|  -2.516|    .687|5.000|  3.000|  8.000|70.000|
122 |V5      #     10|        0|4.900|   1.027|  3.247|  10.544|  -1.401|   1.334|   -.205|    .687|9.000|   .000|  9.000|49.000|
123 |V6      #     10|        0|5.900|    .795|  2.514|   6.322|   -.290|   1.334|   -.960|    .687|7.000|  1.000|  8.000|59.000|
124 |V7      #     10|        0|4.700|   1.096|  3.466|  12.011|  -1.993|   1.334|   -.165|    .687|9.000|   .000|  9.000|47.000|
125 |V8      #     10|        0|4.100|   1.100|  3.479|  12.100|  -1.928|   1.334|    .371|    .687|9.000|   .000|  9.000|41.000|
126 |V9      #     10|        0|4.300|    .870|  2.751|   7.567|   -.875|   1.334|    .730|    .687|8.000|  1.000|  9.000|43.000|
127 |V10     #     10|        0|5.500|    .847|  2.677|   7.167|  -1.842|   1.334|   -.326|    .687|7.000|  2.000|  9.000|55.000|
128 |V11     #     10|        0|6.500|    .778|  2.461|   6.056|  -1.276|   1.334|   -.895|    .687|6.000|  3.000|  9.000|65.000|
129 |V12     #     10|        0|7.900|    .605|  1.912|   3.656|   5.241|   1.334|  -2.208|    .687|6.000|  3.000|  9.000|79.000|
130 |V13     #     10|        0|4.300|    .989|  3.129|   9.789|  -1.248|   1.334|    .333|    .687|9.000|   .000|  9.000|43.000|
131 |V14     #     10|        0|3.600|   1.013|  3.204|  10.267|   -.961|   1.334|    .809|    .687|9.000|   .000|  9.000|36.000|
132 |V15     #     10|        0|3.700|    .920|  2.908|   8.456|  -1.352|   1.334|    .710|    .687|7.000|  1.000|  8.000|37.000|
133 |V16     #     10|        0|6.400|    .909|  2.875|   8.267|  -1.142|   1.334|   -.923|    .687|7.000|  2.000|  9.000|64.000|
134 +--------#-------+---------+-----+--------+-------+--------+--------+--------+--------+--------+-----+-------+-------+------+
135 EOF
136 if [ $? -ne 0 ] ; then fail ; fi
137
138
139 pass