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