77827b0b01aec5d8e2700910d1701d59aabbe1b5
[pspp-builds.git] / tests / data / data-in.at
1 AT_BANNER([data input (data-in)])
2
3 dnl Some very old version of PSPP crashed reading big numbers,
4 dnl so this checks for regressions.
5 AT_SETUP([reading big numbers])
6 AT_KEYWORDS([data-in])
7 AT_DATA([bignum.txt], [dnl
8 0
9 0.1
10 0.5
11 0.8
12 0.9
13 0.999
14 1
15 2
16 3
17 4
18 5
19 12
20 123
21 1234
22 12345
23 123456
24 1234567
25 12345678
26 123456789
27 1234567890
28 19999999999
29 199999999999
30 1234567890123
31 19999999999999
32 199999999999999
33 1234567890123456
34 19999999999999999
35 123456789012345678
36 1999999999999999999
37 12345678901234567890
38 199999999999999999999
39 1234567890123456789012
40 19999999999999999999999
41 123456789012345678901234
42 1999999999999999999999999
43 12345678901234567890123456
44 199999999999999999999999999
45 1234567890123456789012345678
46 19999999999999999999999999999
47 123456789012345678901234567890
48 1999999999999999999999999999999
49 12345678901234567890123456789012
50 199999999999999999999999999999999
51 1234567890123456789012345678901234
52 19999999999999999999999999999999999
53 123456789012345678901234567890123456
54 1999999999999999999999999999999999999
55 12345678901234567890123456789012345678
56 199999999999999999999999999999999999999
57 1234567890123456789012345678901234567890
58 1999999999999999999999999999999999999999
59 1e40
60 1.1e40
61 1.5e40
62 1e41
63 1e50
64 1e100
65 1e150
66 1e200
67 1e250
68 1e300
69 1.79641e308
70 wizzah
71 ])
72 AT_DATA([bignum.sps], [dnl
73 title 'Test use of big numbers'.
74
75 *** Do the portable output.
76 data list file='bignum.txt'/BIGNUM 1-40.
77 list.
78
79 *** Do the nonportable output for fun. 
80 descriptives BIGNUM.
81 ])
82 AT_CHECK([pspp -o pspp.csv bignum.sps], [0], [ignore])
83 AT_CLEANUP
84
85 AT_SETUP([BCD input (P and PK formats)])
86 AT_CHECK([$PERL -e 'print pack "n", $_ foreach 0...65535' > bcd-in.data])
87 AT_CHECK([wc -c < bcd-in.data], [0], [131072
88 ])
89 AT_DATA([bcd-in.sps], [dnl
90 SET ERRORS=NONE.
91 SET MXWARNS=10000000.
92 SET MXERRS=10000000.
93 FILE HANDLE data/NAME='bcd-in.data'/MODE=IMAGE/LRECL=2.
94 DATA LIST FILE=data NOTABLE/p 1-2 (P) pk 1-2 (PK).
95 COMPUTE x=$CASENUM - 1.
96 PRINT OUTFILE='bcd-in.out'/x (PIBHEX4) ' ' P PK.
97 EXECUTE.
98 ])
99 AT_CHECK([gzip -cd < $top_srcdir/tests/data/bcd-in.expected.cmp.gz | \
100             $PERL -pe "printf ' %04X ', $.-1" > expout])
101 AT_CHECK([pspp -O format=csv bcd-in.sps])
102 AT_CHECK([cat bcd-in.out], [0], [expout])
103 AT_CLEANUP
104
105 AT_SETUP([legacy input (N and Z formats)])
106 AT_CHECK([$PERL -e 'print pack "n", $_ foreach 0...65535' > legacy-in.data])
107 AT_CHECK([wc -c < legacy-in.data], [0], [131072
108 ])
109 AT_DATA([legacy-in.sps], [dnl
110 SET ERRORS=NONE.
111 SET MXWARNS=10000000.
112 SET MXERRS=10000000.
113 FILE HANDLE data/NAME='legacy-in.data'/MODE=IMAGE/LRECL=2.
114 DATA LIST NOTABLE FILE=data/n 1-2 (N) z 1-2 (z).
115 COMPUTE x=$CASENUM - 1.
116 PRINT OUTFILE='legacy-in.out'/x (PIBHEX4) ' ' N Z.
117 EXECUTE.
118 ])
119 AT_CHECK([gzip -cd < $top_srcdir/tests/data/legacy-in.expected.cmp.gz | \
120             $PERL -pe "printf ' %04X ', $.-1" > expout])
121 AT_CHECK([pspp -O format=csv legacy-in.sps])
122 AT_CHECK([cat legacy-in.out], [0], [expout])
123 AT_CLEANUP