AT_BANNER([data input (data-in)]) dnl Some very old version of PSPP crashed reading big numbers, dnl so this checks for regressions. AT_SETUP([reading big numbers]) AT_KEYWORDS([data-in]) AT_DATA([bignum.txt], [dnl 0 0.1 0.5 0.8 0.9 0.999 1 2 3 4 5 12 123 1234 12345 123456 1234567 12345678 123456789 1234567890 19999999999 199999999999 1234567890123 19999999999999 199999999999999 1234567890123456 19999999999999999 123456789012345678 1999999999999999999 12345678901234567890 199999999999999999999 1234567890123456789012 19999999999999999999999 123456789012345678901234 1999999999999999999999999 12345678901234567890123456 199999999999999999999999999 1234567890123456789012345678 19999999999999999999999999999 123456789012345678901234567890 1999999999999999999999999999999 12345678901234567890123456789012 199999999999999999999999999999999 1234567890123456789012345678901234 19999999999999999999999999999999999 123456789012345678901234567890123456 1999999999999999999999999999999999999 12345678901234567890123456789012345678 199999999999999999999999999999999999999 1234567890123456789012345678901234567890 1999999999999999999999999999999999999999 1e40 1.1e40 1.5e40 1e41 1e50 1e100 1e150 1e200 1e250 1e300 1.79641e308 wizzah ]) AT_DATA([bignum.sps], [dnl title 'Test use of big numbers'. *** Do the portable output. data list file='bignum.txt'/BIGNUM 1-40. list. *** Do the nonportable output for fun. descriptives BIGNUM. ]) AT_CHECK([pspp -o pspp.csv bignum.sps], [0], [ignore]) AT_CLEANUP AT_SETUP([binary and hexadecimal input (IB, PIB, and PIBHEX formats)]) AT_CHECK([$PERL -e 'print pack "n", $_ foreach 0...65535' > binhex-in.data]) AT_CHECK([wc -c < binhex-in.data], [0], [131072 ]) AT_DATA([binhex-in.sps], [dnl SET RIB=MSBFIRST. SET ERRORS=NONE. SET MXWARNS=10000000. SET MXERRS=10000000. FILE HANDLE data/NAME='binhex-in.data'/MODE=IMAGE/LRECL=2. DATA LIST FILE=data NOTABLE/ib 1-2 (IB) pib 1-2 (PIB) pibhex 1-2 (PIBHEX). COMPUTE x=$CASENUM - 1. PRINT OUTFILE='binhex-in.out'/x (PIBHEX4) ' ' ib pib pibhex. EXECUTE. ]) AT_CHECK([gzip -cd < $top_srcdir/tests/data/binhex-in.expected.cmp.gz | \ $PERL -pe "printf ' %04X ', $.-1" > expout]) AT_CHECK([pspp -O format=csv binhex-in.sps], [0]) AT_CHECK([cat binhex-in.out], [0], [expout]) AT_CLEANUP AT_SETUP([BCD input (P and PK formats)]) AT_CHECK([$PERL -e 'print pack "n", $_ foreach 0...65535' > bcd-in.data]) AT_CHECK([wc -c < bcd-in.data], [0], [131072 ]) AT_DATA([bcd-in.sps], [dnl SET ERRORS=NONE. SET MXWARNS=10000000. SET MXERRS=10000000. FILE HANDLE data/NAME='bcd-in.data'/MODE=IMAGE/LRECL=2. DATA LIST FILE=data NOTABLE/p 1-2 (P) pk 1-2 (PK). COMPUTE x=$CASENUM - 1. PRINT OUTFILE='bcd-in.out'/x (PIBHEX4) ' ' P PK. EXECUTE. ]) AT_CHECK([gzip -cd < $top_srcdir/tests/data/bcd-in.expected.cmp.gz | \ $PERL -pe "printf ' %04X ', $.-1" > expout]) AT_CHECK([pspp -O format=csv bcd-in.sps]) AT_CHECK([cat bcd-in.out], [0], [expout]) AT_CLEANUP AT_SETUP([legacy input (N and Z formats)]) AT_CHECK([$PERL -e 'print pack "n", $_ foreach 0...65535' > legacy-in.data]) AT_CHECK([wc -c < legacy-in.data], [0], [131072 ]) AT_DATA([legacy-in.sps], [dnl SET ERRORS=NONE. SET MXWARNS=10000000. SET MXERRS=10000000. FILE HANDLE data/NAME='legacy-in.data'/MODE=IMAGE/LRECL=2. DATA LIST NOTABLE FILE=data/n 1-2 (N) z 1-2 (z). COMPUTE x=$CASENUM - 1. PRINT OUTFILE='legacy-in.out'/x (PIBHEX4) ' ' N Z. EXECUTE. ]) AT_CHECK([gzip -cd < $top_srcdir/tests/data/legacy-in.expected.cmp.gz | \ $PERL -pe "printf ' %04X ', $.-1" > expout]) AT_CHECK([pspp -O format=csv legacy-in.sps]) AT_CHECK([cat legacy-in.out], [0], [expout]) AT_CLEANUP AT_SETUP([WKDAY input format]) AT_DATA([wkday.sps], [dnl DATA LIST NOTABLE /wkday2 1-2 (wkday) wkday3 1-3 (wkday) wkday4 1-4 (wkday) wkday5 1-5 (wkday) wkday6 1-6 (wkday) wkday7 1-7 (wkday) wkday8 1-8 (wkday) wkday9 1-9 (wkday) wkday10 1-10 (wkday). BEGIN DATA. . monady tuseday WEDENSDAY Thurdsay fRidya SAturady sudnay sturday END DATA. FORMATS ALL (WKDAY2). PRINT OUTFILE='wkday.out'/ALL. EXECUTE. ]) AT_CHECK([pspp -O format=csv wkday.sps], [0], [dnl wkday.sps:20.1-2: warning: Data for variable wkday2 is not valid as format WKDAY: Unrecognized weekday name. At least the first two letters of an English weekday name must be specified. wkday.sps:20.1-3: warning: Data for variable wkday3 is not valid as format WKDAY: Unrecognized weekday name. At least the first two letters of an English weekday name must be specified. wkday.sps:20.1-4: warning: Data for variable wkday4 is not valid as format WKDAY: Unrecognized weekday name. At least the first two letters of an English weekday name must be specified. wkday.sps:20.1-5: warning: Data for variable wkday5 is not valid as format WKDAY: Unrecognized weekday name. At least the first two letters of an English weekday name must be specified. wkday.sps:20.1-6: warning: Data for variable wkday6 is not valid as format WKDAY: Unrecognized weekday name. At least the first two letters of an English weekday name must be specified. wkday.sps:20.1-7: warning: Data for variable wkday7 is not valid as format WKDAY: Unrecognized weekday name. At least the first two letters of an English weekday name must be specified. wkday.sps:20.1-8: warning: Data for variable wkday8 is not valid as format WKDAY: Unrecognized weekday name. At least the first two letters of an English weekday name must be specified. wkday.sps:20.1-9: warning: Data for variable wkday9 is not valid as format WKDAY: Unrecognized weekday name. At least the first two letters of an English weekday name must be specified. wkday.sps:20.1-10: warning: Data for variable wkday10 is not valid as format WKDAY: Unrecognized weekday name. At least the first two letters of an English weekday name must be specified. ]) AT_CHECK([cat wkday.out], [0], [dnl . . . . . . . . . @&t@ . . . . . . . . . @&t@ MO MO MO MO MO MO MO MO MO @&t@ TU TU TU TU TU TU TU TU TU @&t@ WE WE WE WE WE WE WE WE WE @&t@ TH TH TH TH TH TH TH TH TH @&t@ FR FR FR FR FR FR FR FR FR @&t@ SA SA SA SA SA SA SA SA SA @&t@ SU SU SU SU SU SU SU SU SU @&t@ . . . . . . . . . @&t@ ]) AT_CLEANUP