1 AT_BANNER([system file reader - positive])
3 AT_SETUP([variable labels and missing values])
4 AT_KEYWORDS([sack synthetic system file positive])
5 AT_DATA([sys-file.sack], [dnl
7 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
9 22; dnl Nominal case size
14 "01 Jan 11"; "20:53:52"; s64 "PSPP synthetic test file";
17 dnl Numeric variable, no label or missing values.
18 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
20 dnl Numeric variable, variable label.
21 2; 0; 1; 0; 0x050800 *2; s8 "NUM2";
22 26; "Numeric variable 2's label"; i8 0 *2;
24 dnl Numeric variable, one missing value.
25 2; 0; 0; 1; 0x050800 *2; s8 "NUM3";
28 dnl Numeric variable, variable label and missing value.
29 2; 0; 1; 1; 0x050800 *2; s8 "NUM4";
30 30; "Another numeric variable label"; i8 0 * 2;
33 dnl Numeric variable, two missing values.
34 2; 0; 0; 2; 0x050800 *2; s8 "NUM5"; 1.0; 2.0;
36 dnl Numeric variable, three missing values.
37 2; 0; 0; 3; 0x050800 *2; s8 "NUM6"; 1.0; 2.0; 3.0;
39 dnl Numeric variable, range of missing values.
40 2; 0; 0; -2; 0x050800 *2; s8 "NUM7"; 1.0; 3.0;
42 dnl Numeric variables, range of missing values plus discrete value.
43 2; 0; 0; -3; 0x050800 *2; s8 "NUM8"; 1.0; 3.0; 5.0;
44 2; 0; 0; -3; 0x050800 *2; s8 "NUM9"; 1.0; HIGHEST; -5.0;
45 2; 0; 0; -3; 0x050800 *2; s8 "NUM10"; LOWEST; 1.0; 5.0;
47 dnl String variable, no label or missing values.
48 2; 4; 0; 0; 0x010400 *2; s8 "STR1";
50 dnl String variable, variable label.
51 2; 4; 1; 0; 0x010400 *2; s8 "STR2";
52 25; "String variable 2's label"; i8 0 * 3;
54 dnl String variable, one missing value.
55 2; 4; 0; 1; 0x010400 *2; s8 "STR3"; s8 "MISS";
57 dnl String variable, variable label and missing value.
58 2; 4; 1; 1; 0x010400 *2; s8 "STR4";
59 29; "Another string variable label"; i8 0 * 3;
62 dnl String variable, two missing values.
63 2; 4; 0; 2; 0x010400 *2; s8 "STR5"; s8 "MISS"; s8 "OTHR";
65 dnl String variable, three missing values.
66 2; 4; 0; 3; 0x010400 *2; s8 "STR6"; s8 "MISS"; s8 "OTHR"; s8 "MORE";
68 dnl Long string variable, one missing value.
69 2; 11; 0; 1; 0x010b00 *2; s8 "STR7"; "first8by";
70 2; -1; 0; 0; 0; 0; s8 "";
72 dnl Long string variable, value label.
73 2; 25; 1; 0; 0x011900 *2; s8 "STR8"; 14; "25-byte string"; i8 0 * 2;
74 ( 2; -1; 0; 0; 0; 0; s8 ""; ) * 2;
75 dnl Variable label fields on continuation records have been spotted in system
76 dnl files created by "SPSS Power Macintosh Release 6.1".
77 2; -1; 1; 0; 0; 0; s8 ""; 20; "dummy variable label";
79 dnl Machine integer info record.
80 7; 3; 4; 8; 1; 2; 3; -1; 1; 1; ENDIAN; 1252;
82 dnl Machine floating-point info record.
83 7; 4; 8; 3; SYSMIS; HIGHEST; LOWEST;
85 dnl Character encoding record.
86 7; 20; 1; 12; "windows-1252";
88 dnl Dictionary termination record.
92 1.0; 2.0; 3.0; 4.0; 5.0; 6.0; 7.0; 8.0; 9.0; 10.0;
93 s8 "abcd"; s8 "efgh"; s8 "ijkl"; s8 "mnop"; s8 "qrst"; s8 "uvwx";
94 s16 "yzABCDEFGHI"; s32 "JKLMNOPQRSTUVWXYZ01234567";
97 "be e07ee28eaf7bceca017e83e9fd46be3c" \
98 "le c357aa20227c856b8a80d1b840722da1"
101 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
103 AT_DATA([sys-file.sps], [dnl
104 GET FILE='sys-file.sav'.
108 AT_CHECK([pspp -o pspp.csv sys-file.sps])
109 AT_CHECK([grep -v Measure pspp.csv | grep -v Display], [0], [dnl
110 Variable,Description,,Position
112 num2,Numeric variable 2's label,,2
116 num4,Another numeric variable label,,4
120 ,Missing Values: 1; 2,,
122 ,Missing Values: 1; 2; 3,,
124 ,Missing Values: 1 THRU 3,,
126 ,Missing Values: 1 THRU 3; 5,,
128 ,Missing Values: 1 THRU HIGHEST; -5,,
129 num10,Format: F8.0,,10
130 ,Missing Values: LOWEST THRU 1; 5,,
132 str2,String variable 2's label,,12
135 ,"Missing Values: ""MISS""",,
136 str4,Another string variable label,,14
138 ,"Missing Values: ""OTHR""",,
140 ,"Missing Values: ""MISS""; ""OTHR""",,
142 ,"Missing Values: ""MISS""; ""OTHR""; ""MORE""",,
144 ,"Missing Values: ""first8by""",,
145 str8,25-byte string,,18
149 num1,num2,num3,num4,num5,num6,num7,num8,num9,num10,str1,str2,str3,str4,str5,str6,str7,str8
150 1,2,3,4,5,6,7,8,9,10,abcd,efgh,ijkl,mnop,qrst,uvwx,yzABCDEFGHI,JKLMNOPQRSTUVWXYZ01234567
155 AT_SETUP([unspecified number of variable positions])
156 AT_KEYWORDS([sack synthetic system file positive])
157 AT_DATA([sys-file.sack], [dnl
159 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
161 -1; dnl Nominal case size (unspecified)
162 0; dnl Not compressed
166 "01 Jan 11"; "20:53:52"; s64 "PSPP synthetic test file";
169 dnl Numeric variable, no label or missing values.
170 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
172 dnl Numeric variable, variable label.
173 2; 0; 1; 0; 0x050800 *2; s8 "NUM2";
174 26; "Numeric variable 2's label"; i8 0 *2;
176 dnl Dictionary termination record.
183 "be 413e7bc80a47fcd7e4c8020e8e120060" \
184 "le d7db9120b1ff28c83aa6fe9fc405d903"
187 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
189 AT_DATA([sys-file.sps], [dnl
190 GET FILE='sys-file.sav'.
194 AT_CHECK([pspp -o pspp.csv sys-file.sps])
195 AT_CHECK([grep -v Measure pspp.csv | grep -v Display], [0], [dnl
196 Variable,Description,,Position
198 num2,Numeric variable 2's label,,2
208 AT_SETUP([wrong number of variable positions but version 13])
209 AT_KEYWORDS([sack synthetic system file positive])
210 AT_DATA([sys-file.sack], [dnl
212 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
214 -1; dnl Nominal case size (unspecified)
215 0; dnl Not compressed
219 "01 Jan 11"; "20:53:52"; s64 "PSPP synthetic test file";
222 dnl Numeric variable, no label or missing values.
223 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
225 dnl Numeric variable, variable label.
226 2; 0; 1; 0; 0x050800 *2; s8 "NUM2";
227 26; "Numeric variable 2's label"; i8 0 *2;
229 dnl Machine integer info record (SPSS 13).
230 7; 3; 4; 8; 13; 2; 3; -1; 1; 1; ENDIAN; 1252;
232 dnl Dictionary termination record.
239 "be 3d17aae7d99538dc73c5cb42692b1038" \
240 "le 8ad1000df598617d5258f323c882d749"
243 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
245 AT_DATA([sys-file.sps], [dnl
246 GET FILE='sys-file.sav'.
250 AT_CHECK([pspp -o pspp.csv sys-file.sps])
251 AT_CHECK([grep -v Measure pspp.csv | grep -v Display], [0], [dnl
252 Variable,Description,,Position
254 num2,Numeric variable 2's label,,2
264 AT_SETUP([value labels])
265 AT_KEYWORDS([sack synthetic system file positive])
266 AT_DATA([sys-file.sack], [dnl
268 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
270 22; dnl Nominal case size
271 0; dnl Not compressed
275 "01 Jan 11"; "20:53:52"; s64 "PSPP synthetic test file";
278 dnl Numeric variables.
279 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
280 2; 0; 0; 0; 0x050800 *2; s8 "NUM2";
281 2; 0; 0; 0; 0x050800 *2; s8 "NUM3";
282 2; 0; 0; 0; 0x050800 *2; s8 "NUM4";
283 2; 0; 0; 0; 0x050800 *2; s8 "NUM5";
285 dnl String variables.
286 2; 1; 0; 0; 0x010100 *2; s8 "STR1"; dnl index 6
287 2; 2; 0; 0; 0x010200 *2; s8 "STR2"; dnl index 7
288 2; 3; 0; 0; 0x010300 *2; s8 "STR3"; dnl index 8
289 2; 4; 0; 0; 0x010400 *2; s8 "STR4"; dnl index 9
290 2; 4; 0; 0; 0x010400 *2; s8 "STR5"; dnl index 10
291 2; 6; 0; 0; 0x010600 *2; s8 "STR6"; dnl index 11
292 2; 7; 0; 0; 0x010700 *2; s8 "STR7"; dnl index 12
293 2; 8; 0; 0; 0x010800 *2; s8 "STR8"; dnl index 13
294 2; 9; 0; 0; 0x010900 *2; s8 "STR9"; dnl index 14
295 2; -1; 0; 0; 0; 0; s8 "";
296 2; 12; 0; 0; 0x010c00 *2; s8 "STR12"; dnl index 16
297 2; -1; 0; 0; 0; 0; s8 "";
298 2; 16; 0; 0; 0x011000 *2; s8 "STR16"; dnl index 18
299 2; -1; 0; 0; 0; 0; s8 "";
300 2; 17; 0; 0; 0x011100 *2; s8 "STR17"; dnl index 20
301 ( 2; -1; 0; 0; 0; 0; s8 ""; ) * 2;
303 dnl One value label for NUM1.
304 3; 1; 1.0; i8 3; s7 "one"; 4; 1; 1;
306 dnl Two value labels for NUM2, as a single pair of type 3 and type 4 records.
307 3; 2; 1.0; i8 3; s7 "one"; 2.0; i8 3; s7 "two"; 4; 1; 2;
309 dnl Two value labels for NUM3, as two pairs of type 3 and type 4 records.
310 3; 1; 3.0; i8 5; s7 "three"; 4; 1; 3;
311 3; 1; 4.0; i8 4; s7 "four"; 4; 1; 3;
313 dnl Two common value labels for NUM4 and NUM5, plus two different ones for each.
314 3; 1; 5.0; i8 4; s7 "five"; 4; 1; 4;
315 3; 1; 6.0; i8 3; s7 "six"; 4; 1; 5;
316 3; 2; 7.0; i8 5; s7 "seven"; 8.0; i8 5; s7 "eight"; 4; 2; 4; 5;
317 3; 1; 9.0; i8 4; s7 "nine"; 4; 1; 4;
318 3; 1; 10.0; i8 3; s7 "ten"; 4; 1; 5;
320 dnl One value label for STR1.
321 3; 1; s8 "a"; i8 19; s23 "value label for `a'"; 4; 1; 6;
323 dnl Two value labels for STR2, as a single pair of type 3 and type 4 records.
325 s8 "bc"; i8 20; s23 "value label for `bc'";
326 s8 "de"; i8 20; s23 "value label for `de'";
329 dnl Two value labels for STR3, as two pairs of type 3 and type 4 records.
330 3; 1; s8 "fgh"; i8 21; s23 "value label for `fgh'"; 4; 1; 8;
331 3; 1; s8 "ijk"; i8 21; s23 "value label for `ijk'"; 4; 1; 8;
333 dnl Two common value labels for STR4 and STR5, plus two different ones for each.
334 3; 1; s8 "lmno"; i8 22; s23 "value label for `lmno'"; 4; 1; 9;
335 3; 1; s8 "pqrs"; i8 22; s23 "value label for `pqrs'"; 4; 1; 10;
337 s8 "tuvw"; i8 22; s23 "value label for `tuvw'";
338 s8 "xyzA"; i8 22; s23 "value label for `xyzA'";
340 3; 1; s8 "BCDE"; i8 22; s23 "value label for `BCDE'"; 4; 1; 9;
341 3; 1; s8 "FGHI"; i8 22; s23 "value label for `FGHI'"; 4; 1; 10;
343 dnl One value label for STR6, STR7, STR8.
344 3; 1; s8 "JKLMNO"; i8 24; s31 "value label for `JKLMNO'"; 4; 1; 11;
345 3; 1; s8 "JKLMNOP"; i8 25; s31 "value label for `JKLMNOP'"; 4; 1; 12;
346 3; 1; s8 "JKLMNOPQ"; i8 26; s31 "value label for `JKLMNOPQ'"; 4; 1; 13;
349 dnl One value label for STR9,
350 COUNT("STR9"); 9; 1; COUNT("RSTUVWXYZ"); COUNT("value label for `RSTUVWXYZ'");
352 dnl Two value labels for STR12.
353 COUNT("STR12"); 12; 2;
354 COUNT("0123456789ab"); COUNT("value label for `0123456789ab'");
355 COUNT("cdefghijklmn"); COUNT("value label for `cdefghijklmn'");
357 dnl Three value labels for STR16.
358 COUNT("STR16"); 16; 3;
359 COUNT("opqrstuvwxyzABCD"); COUNT("value label for `opqrstuvwxyzABCD'");
360 COUNT("EFGHIJKLMNOPQRST"); COUNT("value label for `EFGHIJKLMNOPQRST'");
361 COUNT("UVWXYZ0123456789"); COUNT("value label for `UVWXYZ0123456789'");
363 dnl One value label for STR17.
364 COUNT("STR17"); 17; 1;
365 COUNT("abcdefghijklmnopq"); COUNT("value label for `abcdefghijklmnopq'");
368 dnl Dictionary termination record.
372 "be 1de55cc9fb523c8f9b014cdc5387c12b" \
373 "le 76a6974012df7351b591c5964c41e582"
376 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
378 AT_DATA([sys-file.sps], [dnl
379 GET FILE='sys-file.sav'.
382 AT_CHECK([pspp -o pspp.csv sys-file.sps])
383 AT_CHECK([grep -v Measure pspp.csv | grep -v Display], [0], [dnl
384 Variable,Description,,Position
404 ,a,value label for `a',
406 ,bc,value label for `bc',
407 ,de,value label for `de',
409 ,fgh,value label for `fgh',
410 ,ijk,value label for `ijk',
412 ,BCDE,value label for `BCDE',
413 ,lmno,value label for `lmno',
414 ,tuvw,value label for `tuvw',
415 ,xyzA,value label for `xyzA',
417 ,FGHI,value label for `FGHI',
418 ,pqrs,value label for `pqrs',
419 ,tuvw,value label for `tuvw',
420 ,xyzA,value label for `xyzA',
422 ,JKLMNO,value label for `JKLMNO',
424 ,JKLMNOP,value label for `JKLMNOP',
426 ,JKLMNOPQ,value label for `JKLMNOPQ',
428 ,RSTUVWXYZ,value label for `RSTUVWXYZ',
429 str12,Format: A12,,15
430 ,0123456789ab,value label for `0123456789ab',
431 ,cdefghijklmn,value label for `cdefghijklmn',
432 str16,Format: A16,,16
433 ,EFGHIJKLMNOPQRST,value label for `EFGHIJKLMNOPQRST',
434 ,UVWXYZ0123456789,value label for `UVWXYZ0123456789',
435 ,opqrstuvwxyzABCD,value label for `opqrstuvwxyzABCD',
436 str17,Format: A17,,17
437 ,abcdefghijklmnopq,value label for `abcdefghijklmnopq',
442 AT_SETUP([documents])
443 AT_KEYWORDS([sack synthetic system file positive])
444 AT_DATA([sys-file.sack], [dnl
446 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
448 1; dnl Nominal case size
449 0; dnl Not compressed
453 "01 Jan 11"; "20:53:52"; s64 "PSPP synthetic test file";
456 dnl Numeric variable, no label or missing values.
457 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
461 s80 "First line of documents";
462 s80 "Second line of documents";
464 s80 "Last line of documents";
466 dnl Dictionary termination record.
473 "be 8738124d7932cc8ff803142fbf38710b" \
474 "le f3ca2123ec9e8bda91c6b865ba39f506"
477 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
479 AT_DATA([sys-file.sps], [dnl
480 GET FILE='sys-file.sav'.
484 AT_CHECK([pspp -o pspp.csv sys-file.sps])
485 AT_CHECK([cat pspp.csv], [0], [dnl
486 Documents in the active file:
488 First line of documents
490 Second line of documents
494 Last line of documents
503 AT_SETUP([multiple response sets])
504 AT_KEYWORDS([sack synthetic system file positive])
505 AT_DATA([sys-file.sack], [dnl
507 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
509 16; dnl Nominal case size
510 0; dnl Not compressed
514 "01 Jan 11"; "20:53:52"; s64 "PSPP synthetic test file";
518 2; 0; 0; 0; 0x050800 *2; s8 "A";
519 2; 0; 0; 0; 0x050800 *2; s8 "B";
520 2; 0; 0; 0; 0x050800 *2; s8 "C";
523 2; 0; 0; 0; 0x050800 *2; s8 "D";
524 2; 0; 0; 0; 0x050800 *2; s8 "E";
525 2; 0; 0; 0; 0x050800 *2; s8 "F";
526 2; 0; 0; 0; 0x050800 *2; s8 "G";
529 2; 3; 0; 0; 0x010300 *2; s8 "H";
530 2; 3; 0; 0; 0x010300 *2; s8 "I";
531 2; 3; 0; 0; 0x010300 *2; s8 "J";
534 2; 0; 0; 0; 0x050800 *2; s8 "K";
535 2; 0; 0; 0; 0x050800 *2; s8 "L";
536 2; 0; 0; 0; 0x050800 *2; s8 "M";
539 2; 6; 0; 0; 0x010600 *2; s8 "N";
540 2; 6; 0; 0; 0x010600 *2; s8 "O";
541 2; 6; 0; 0; 0x010600 *2; s8 "P";
545 "$a=C 10 my mcgroup a b c"; i8 10;
546 "$b=D2 55 0 g e f d"; i8 10;
547 "$c=D3 Yes 10 mdgroup #2 h i j"; i8 10);
551 "$d=E 1 2 34 13 third mdgroup k l m"; i8 10;
552 "$e=E 11 6 choice 0 n o p"; i8 10);
554 dnl Dictionary termination record.
558 "be 0caa3446d7a3f6985e79fd1fcc999b10" \
559 "le 9dbeba699e4149ed836f55bad7346d67"
562 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
564 AT_DATA([sys-file.sps], [dnl
565 GET FILE='sys-file.sav'.
566 MRSETS /DISPLAY NAME=ALL.
568 AT_CHECK([pspp -o pspp.csv sys-file.sps])
569 AT_CHECK([cat pspp.csv], [0], [dnl
570 Table: Multiple Response Sets
571 Name,Variables,Details
575 ","Multiple category set
582 ","Multiple dichotomy set
584 Category label source: Variable labels
589 ","Multiple dichotomy set
591 Label source: Provided by user
593 Category label source: Variable labels
598 ","Multiple dichotomy set
600 Label source: Provided by user
602 Category label source: Value labels of counted value
607 ","Multiple dichotomy set
608 Label source: First variable label among variables
609 Counted value: `choice'
610 Category label source: Value labels of counted value
616 AT_SETUP([variable display parameters, without width])
617 AT_KEYWORDS([sack synthetic system file positive])
618 AT_DATA([sys-file.sack], [dnl
620 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
622 19; dnl Nominal case size
623 0; dnl Not compressed
627 "01 Jan 11"; "20:53:52"; s64 "PSPP synthetic test file";
630 dnl Numeric variables.
631 2; 0; 0; 0; 0x050800 *2; s8 "A";
632 2; 0; 0; 0; 0x050800 *2; s8 "B";
633 2; 0; 0; 0; 0x050800 *2; s8 "C";
634 2; 0; 0; 0; 0x050800 *2; s8 "D";
636 dnl Short string variables.
637 2; 3; 0; 0; 0x010300 *2; s8 "H";
638 2; 3; 0; 0; 0x010300 *2; s8 "I";
639 2; 3; 0; 0; 0x010300 *2; s8 "J";
640 2; 3; 0; 0; 0x010300 *2; s8 "K";
642 dnl Long string variables.
643 2; 9; 0; 0; 0x010900 *2; s8 "L";
644 2; -1; 0; 0; 0; 0; s8 "";
645 2; 10; 0; 0; 0x010a00 *2; s8 "M";
646 2; -1; 0; 0; 0; 0; s8 "";
647 2; 17; 0; 0; 0x011100 *2; s8 "N";
648 ( 2; -1; 0; 0; 0; 0; s8 "" ) * 2;
649 2; 25; 0; 0; 0x011900 *2; s8 "O";
650 ( 2; -1; 0; 0; 0; 0; s8 "" ) * 3;
652 dnl Variable display parameters
667 dnl Dictionary termination record.
671 "be c130d9345080579b8862b360924edbfa" \
672 "le 6fde96f5a7c7386bff6cca049cd84d6a"
675 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
677 AT_DATA([sys-file.sps], [dnl
678 GET FILE='sys-file.sav'.
681 AT_CHECK([pspp -o pspp.csv sys-file.sps])
682 AT_CHECK([cat pspp.csv], [0], [dnl
683 Variable,Description,,Position
686 ,Display Alignment: Left,,
690 ,Display Alignment: Left,,
694 ,Display Alignment: Left,,
698 ,Display Alignment: Right,,
702 ,Display Alignment: Right,,
706 ,Display Alignment: Right,,
710 ,Display Alignment: Center,,
714 ,Display Alignment: Center,,
718 ,Display Alignment: Center,,
722 ,Display Alignment: Left,,
726 ,Display Alignment: Right,,
730 ,Display Alignment: Center,,
736 AT_SETUP([variable display parameters, with width])
737 AT_KEYWORDS([sack synthetic system file positive])
738 AT_DATA([sys-file.sack], [dnl
740 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
742 19; dnl Nominal case size
743 0; dnl Not compressed
747 "01 Jan 11"; "20:53:52"; s64 "PSPP synthetic test file";
750 dnl Numeric variables.
751 2; 0; 0; 0; 0x050800 *2; s8 "A";
752 2; 0; 0; 0; 0x050800 *2; s8 "B";
753 2; 0; 0; 0; 0x050800 *2; s8 "C";
754 2; 0; 0; 0; 0x050800 *2; s8 "D";
756 dnl Short string variables.
757 2; 3; 0; 0; 0x010300 *2; s8 "H";
758 2; 3; 0; 0; 0x010300 *2; s8 "I";
759 2; 3; 0; 0; 0x010300 *2; s8 "J";
760 2; 3; 0; 0; 0x010300 *2; s8 "K";
762 dnl Long string variables.
763 2; 9; 0; 0; 0x010900 *2; s8 "L";
764 2; -1; 0; 0; 0; 0; s8 "";
765 2; 10; 0; 0; 0x010a00 *2; s8 "M";
766 2; -1; 0; 0; 0; 0; s8 "";
767 2; 17; 0; 0; 0x011100 *2; s8 "N";
768 ( 2; -1; 0; 0; 0; 0; s8 "" ) * 2;
769 2; 25; 0; 0; 0x011900 *2; s8 "O";
770 ( 2; -1; 0; 0; 0; 0; s8 "" ) * 3;
772 dnl Variable display parameters
787 dnl Dictionary termination record.
791 "be 3ace75689a0b7faa9360936bbfe26055" \
792 "le 6e93f35d19a9882eb53ffb1b067ef7cd"
795 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
797 AT_DATA([sys-file.sps], [dnl
798 GET FILE='sys-file.sav'.
801 AT_CHECK([pspp -o pspp.csv sys-file.sps])
802 AT_CHECK([cat pspp.csv], [0], [dnl
803 Variable,Description,,Position
806 ,Display Alignment: Left,,
810 ,Display Alignment: Left,,
814 ,Display Alignment: Left,,
818 ,Display Alignment: Right,,
822 ,Display Alignment: Right,,
826 ,Display Alignment: Right,,
830 ,Display Alignment: Center,,
834 ,Display Alignment: Center,,
838 ,Display Alignment: Center,,
842 ,Display Alignment: Left,,
846 ,Display Alignment: Right,,
850 ,Display Alignment: Center,,
856 AT_SETUP([long variable names])
857 AT_KEYWORDS([sack synthetic system file positive])
858 AT_DATA([sys-file.sack], [dnl
860 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
862 4; dnl Nominal case size
863 0; dnl Not compressed
867 "01 Jan 11"; "20:53:52"; s64 "PSPP synthetic test file";
870 dnl Numeric variables.
871 2; 0; 0; 0; 0x050800 *2; s8 "LONGVARI";
872 2; 0; 0; 0; 0x050800 *2; s8 "LONGVA_A";
873 2; 0; 0; 0; 0x050800 *2; s8 "LONGVA_B";
874 2; 0; 0; 0; 0x050800 *2; s8 "LONGVA_C";
876 dnl Long variable names.
878 "LONGVARI=LongVariableName1"; i8 9;
879 "LONGVA_A=LongVariableName2"; i8 9;
880 "LONGVA_B=LongVariableName3"; i8 9;
881 "LONGVA_C=LongVariableName4";
884 dnl Dictionary termination record.
888 "be eb7a8b4055a5d880a185a566048876b3" \
889 "le dd4ecd7541320b9b51746717ef20973f"
892 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
894 AT_DATA([sys-file.sps], [dnl
895 GET FILE='sys-file.sav'.
898 AT_CHECK([pspp -o pspp.csv sys-file.sps])
899 AT_CHECK([grep -v Measure pspp.csv | grep -v Display], [0], [dnl
900 Variable,Description,,Position
901 LongVariableName1,Format: F8.0,,1
902 LongVariableName2,Format: F8.0,,2
903 LongVariableName3,Format: F8.0,,3
904 LongVariableName4,Format: F8.0,,4
909 AT_SETUP([very long strings])
910 AT_KEYWORDS([sack synthetic system file positive])
911 AT_DATA([sys-file.sack], [dnl
913 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
915 109; dnl Nominal case size
916 0; dnl Not compressed
920 "01 Jan 11"; "20:53:52"; s64 "PSPP synthetic test file";
924 2; 255; 0; 0; 0x01FF00 *2; s8 "STR256";
925 (2; -1; 0; 0; 0; 0; s8 "") * 31;
926 2; 4; 0; 0; 0x010400 *2; s8 "STR256_1";
929 2; 255; 0; 0; 0x01FF00 *2; s8 "STR600";
930 (2; -1; 0; 0; 0; 0; s8 "") * 31;
931 2; 255; 0; 0; 0x01FF00 *2; s8 "STR600_1";
932 (2; -1; 0; 0; 0; 0; s8 "") * 31;
933 2; 96; 0; 0; 0x016000 *2; s8 "STR600_2";
934 (2; -1; 0; 0; 0; 0; s8 "") * 11;
936 dnl Very long string record.
938 "STR256=00256"; i8 0; i8 9;
939 "STR600=00600"; i8 0; i8 9;
942 dnl Dictionary termination record.
946 "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@#" * 4;
948 "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@#" * 9;
949 "abcdefghijklmnopqrstuvwxyzABCDEF";
952 "be 40a4327805d8b59891084317248f5d4a" \
953 "le ced2584a43037b893b7feb068e2cb9d6"
956 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
958 AT_DATA([sys-file.sps], [dnl
959 GET FILE='sys-file.sav'.
963 AT_CHECK([pspp -o pspp.csv sys-file.sps])
964 AT_CHECK([grep -v Measure pspp.csv | grep -v Display], [0], [dnl
965 Variable,Description,,Position
966 str256,Format: A256,,1
967 str600,Format: A600,,2
971 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@#abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@#abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@#abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@a,abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@#abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@#abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@#abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@#abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@#abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@#abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@#abcdefghijklmnopqrstuvwxyz
976 AT_SETUP([data file and variable attributes])
977 AT_KEYWORDS([sack synthetic system file positive])
978 AT_DATA([sys-file.sack], [dnl
980 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
982 2; dnl Nominal case size
983 0; dnl Not compressed
987 "01 Jan 11"; "20:53:52"; s64 "PSPP synthetic test file";
991 2; 0; 0; 0; 0x050800 *2; s8 "FIRSTVAR";
992 2; 0; 0; 0; 0x050800 *2; s8 "SECONDVA";
994 dnl Long variable names.
996 "FIRSTVAR=FirstVariable"; i8 9;
997 "SECONDVA=SecondVariable"; i8 9;
1000 dnl Data file attributes record.
1002 "Attr1('Value1'"; i8 10; "''QuotedValue''"; i8 10; ")";
1003 "SecondAttr('123'"; i8 10; "'456'"; i8 10; ")";
1006 dnl Variable attributes record.
1009 "fred('23'"; i8 10; "'34'"; i8 10; ")";
1010 "bert('123'"; i8 10; ")";
1012 "xyzzy('quux'"; i8 10; ")";
1015 dnl Dictionary termination record.
1019 "be 955802de462daf810c0ecc81ee2320a1" \
1020 "le 7fc6439aedfa00615bb1fe94d6701305"
1023 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
1025 AT_DATA([sys-file.sps], [dnl
1026 GET FILE='sys-file.sav'.
1029 AT_CHECK([pspp -o pspp.csv sys-file.sps])
1030 AT_CHECK([cat pspp.csv], [0],
1031 [[Variable,Description,
1032 FirstVariable,Custom attributes:,
1036 SecondVariable,Custom attributes:,
1039 Table: Custom data file attributes.
1044 Attr1[2],'QuotedValue'
1049 AT_SETUP([compressed data])
1050 AT_KEYWORDS([sack synthetic system file positive])
1051 AT_DATA([sys-file.sack], [dnl
1053 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
1055 6; dnl Nominal case size
1056 1; dnl Not compressed
1058 -1; dnl Unspecified number of cases.
1060 "01 Jan 11"; "20:53:52"; s64 "PSPP synthetic test file";
1063 dnl Numeric variables.
1064 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
1065 2; 0; 0; 0; 0x050800 *2; s8 "NUM2";
1067 dnl String variable.
1068 2; 4; 0; 0; 0x010400 *2; s8 "STR4";
1069 2; 8; 0; 0; 0x010800 *2; s8 "STR8";
1070 2; 15; 0; 0; 0x010f00 *2; s8 "STR15";
1071 2; -1; 0; 0; 0; 0; s8 "";
1073 dnl Dictionary termination record.
1076 dnl Compressed data.
1077 i8 1 100 254 253 254 253; i8 255 251; "abcdefgh"; s8 "0123";
1078 i8 253 253 253 254; i8 101 102 253 253; s8 "jklm"; s8 "nopqrstu";
1079 s8 "vwxyzABC"; s8 "DEFG"; s8 "HIJKLMNO";
1080 i8 254 253 252 0 0 0 0 0; s8 "PQRSTUVW";
1084 "be c0670e436b068f45710b98f6f7d01dc5" \
1085 "le 2e43a7f8861df4e714a192dfb3c8b2f4"
1088 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
1090 AT_DATA([sys-file.sps], [dnl
1091 GET FILE='sys-file.sav'.
1095 AT_CHECK([pspp -o pspp.csv sys-file.sps])
1096 AT_CHECK([grep -v Measure pspp.csv | grep -v Display], [0], [dnl
1097 Variable,Description,,Position
1098 num1,Format: F8.0,,1
1099 num2,Format: F8.0,,2
1102 str15,Format: A15,,5
1105 num1,num2,str4,str8,str15
1106 -99,0,,abcdefgh,0123 @&t@
1107 .,151,jklm,nopqrstu,vwxyzABC @&t@
1108 1,2,DEFG,HIJKLMNO,PQRSTUV
1113 AT_SETUP([compressed data, zero bias])
1114 AT_KEYWORDS([sack synthetic system file positive])
1115 AT_DATA([sys-file.sack], [dnl
1117 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
1119 6; dnl Nominal case size
1120 1; dnl Not compressed
1122 -1; dnl Unspecified number of cases.
1124 "01 Jan 11"; "20:53:52"; s64 "PSPP synthetic test file";
1127 dnl Numeric variables.
1128 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
1129 2; 0; 0; 0; 0x050800 *2; s8 "NUM2";
1131 dnl String variable.
1132 2; 4; 0; 0; 0x010400 *2; s8 "STR4";
1133 2; 8; 0; 0; 0x010800 *2; s8 "STR8";
1134 2; 15; 0; 0; 0x010f00 *2; s8 "STR15";
1135 2; -1; 0; 0; 0; 0; s8 "";
1137 dnl Dictionary termination record.
1140 dnl Compressed data.
1141 i8 1 100 254 253 254 253; i8 255 251; "abcdefgh"; s8 "0123";
1142 i8 253 253 253 254; i8 101 102 253 253; s8 "jklm"; s8 "nopqrstu";
1143 s8 "vwxyzABC"; s8 "DEFG"; s8 "HIJKLMNO";
1144 i8 254 253 252 0 0 0 0 0; s8 "PQRSTUVW";
1148 "be 2f0d25704ee497ae833213a3e4ff5e8b" \
1149 "le 49f68a9e1ba02a2f7e9166686a0db9d9"
1152 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
1154 AT_DATA([sys-file.sps], [dnl
1155 GET FILE='sys-file.sav'.
1159 AT_CHECK([pspp -o pspp.csv sys-file.sps], [0])
1160 AT_CHECK([grep -v Measure pspp.csv | grep -v Display], [0], [dnl
1161 Variable,Description,,Position
1162 num1,Format: F8.0,,1
1163 num2,Format: F8.0,,2
1166 str15,Format: A15,,5
1169 num1,num2,str4,str8,str15
1170 1,100,,abcdefgh,0123 @&t@
1171 .,251,jklm,nopqrstu,vwxyzABC @&t@
1172 101,102,DEFG,HIJKLMNO,PQRSTUV
1177 AT_SETUP([compressed data, other bias])
1178 AT_KEYWORDS([sack synthetic system file positive])
1179 AT_DATA([sys-file.sack], [dnl
1181 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
1183 6; dnl Nominal case size
1184 1; dnl Not compressed
1186 -1; dnl Unspecified number of cases.
1188 "01 Jan 11"; "20:53:52"; s64 "PSPP synthetic test file";
1191 dnl Numeric variables.
1192 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
1193 2; 0; 0; 0; 0x050800 *2; s8 "NUM2";
1195 dnl String variable.
1196 2; 4; 0; 0; 0x010400 *2; s8 "STR4";
1197 2; 8; 0; 0; 0x010800 *2; s8 "STR8";
1198 2; 15; 0; 0; 0x010f00 *2; s8 "STR15";
1199 2; -1; 0; 0; 0; 0; s8 "";
1201 dnl Dictionary termination record.
1204 dnl Compressed data.
1205 i8 1 100 254 253 254 253; i8 255 251; "abcdefgh"; s8 "0123";
1206 i8 253 253 253 254; i8 101 102 253 253; s8 "jklm"; s8 "nopqrstu";
1207 s8 "vwxyzABC"; s8 "DEFG"; s8 "HIJKLMNO";
1208 i8 254 253 252 0 0 0 0 0; s8 "PQRSTUVW";
1212 "be 668b85e3dee0797883e9933a096b8c18" \
1213 "le 5e7a9c4e88cd2dbc2322943da663868e"
1216 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
1218 AT_DATA([sys-file.sps], [dnl
1219 GET FILE='sys-file.sav'.
1223 AT_CHECK([pspp -o pspp.csv sys-file.sps], [0],
1224 [warning: `sys-file.sav' near offset 0x5c: Compression bias is not the usual value of 100, or system file uses unrecognized floating-point format.
1226 AT_CHECK([grep -v Measure pspp.csv | grep -v Display], [0], [dnl
1227 "warning: `sys-file.sav' near offset 0x5c: Compression bias is not the usual value of 100, or system file uses unrecognized floating-point format."
1229 Variable,Description,,Position
1230 num1,Format: F8.0,,1
1231 num2,Format: F8.0,,2
1234 str15,Format: A15,,5
1237 num1,num2,str4,str8,str15
1238 -49,50,,abcdefgh,0123 @&t@
1239 .,201,jklm,nopqrstu,vwxyzABC @&t@
1240 51,52,DEFG,HIJKLMNO,PQRSTUV
1245 AT_BANNER([system file reader - negative])
1247 AT_SETUP([misplaced type 4 record])
1248 AT_KEYWORDS([sack synthetic system file negative])
1249 AT_DATA([sys-file.sack], [dnl
1251 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
1252 2; 1; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
1254 dnl Numeric variable.
1255 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
1261 "be 6e0bb549fff1fd1af333d51b8a6e0f43" \
1262 "le 7b62734edcee2a1689c463f2866d11b8"
1265 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
1267 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
1269 AT_CHECK([pspp -O format=csv sys-file.sps], [1],
1270 [error: `sys-file.sav' near offset 0xd4: Misplaced type 4 record.
1272 sys-file.sps:1: error: Stopping syntax file processing here to avoid a cascade of dependent command failures.
1277 AT_SETUP([bad record type])
1278 AT_KEYWORDS([sack synthetic system file negative])
1279 AT_DATA([sys-file.sack], [dnl
1281 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
1282 2; 1; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
1284 dnl Numeric variable.
1285 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
1287 dnl Type 8 record (not a valid type).
1291 "be dc8f078c23046ee7db74ec1003178a11" \
1292 "le dc7f111642f0629f4370630fd092eee3"
1295 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
1297 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
1299 AT_CHECK([pspp -O format=csv sys-file.sps], [1],
1300 [error: `sys-file.sav' near offset 0xd4: Unrecognized record type 8.
1302 sys-file.sps:1: error: Stopping syntax file processing here to avoid a cascade of dependent command failures.
1307 AT_SETUP([wrong number of variable positions])
1308 AT_KEYWORDS([sack synthetic system file negative])
1309 AT_DATA([sys-file.sack], [dnl
1311 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
1312 2; >>2<<; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
1314 dnl Numeric variable.
1315 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
1317 dnl End of dictionary.
1321 "be c57e91aa426f61813c3ad91ea3a56dda" \
1322 "le 5d1a6c114b135b219473c8ad5bb44bda"
1325 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
1327 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
1329 AT_CHECK([pspp -O format=csv sys-file.sps], [0],
1330 [warning: `sys-file.sav' near offset 0xd8: File header claims 2 variable positions but 1 were read from file.
1335 AT_SETUP([variable name may not begin with `#'])
1336 AT_KEYWORDS([sack synthetic system file negative])
1337 AT_DATA([sys-file.sack], [dnl
1339 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
1340 2; 1; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
1342 dnl Numeric variable.
1343 2; 0; 0; 0; 0x050800 *2; s8 >>"$UM1"<<;
1345 dnl End of dictionary.
1349 "be decb7ac6defa1ab3cc7a386d1843c1ae" \
1350 "le 5279b6275633bac55d167faebccfdb14"
1353 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
1355 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
1357 AT_CHECK([pspp -O format=csv sys-file.sps], [1],
1358 [error: `sys-file.sav' near offset 0xd0: Variable name begins with invalid character `$'.
1360 sys-file.sps:1: error: Stopping syntax file processing here to avoid a cascade of dependent command failures.
1365 AT_SETUP([variable name may not be reserved word])
1366 AT_KEYWORDS([sack synthetic system file negative])
1367 AT_DATA([sys-file.sack], [dnl
1369 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
1370 2; 1; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
1372 dnl Numeric variable.
1373 2; 0; 0; 0; 0x050800 *2; s8 >>"TO"<<;
1375 dnl End of dictionary.
1379 "be 57e6ad709668bbf538e2efee4af49916" \
1380 "le 523f14b611efa380bbadf7a16ea43fed"
1383 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
1385 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
1387 AT_CHECK([pspp -O format=csv sys-file.sps], [1],
1388 [error: `sys-file.sav' near offset 0xd0: Invalid variable name `TO'.
1390 sys-file.sps:1: error: Stopping syntax file processing here to avoid a cascade of dependent command failures.
1395 AT_SETUP([variable width must be between 0 and 255])
1396 AT_KEYWORDS([sack synthetic system file negative])
1397 AT_DATA([sys-file.sack], [dnl
1399 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
1400 2; 1; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
1402 dnl String variable with invalid width 256.
1403 2; 256; 0; 0; 0x050800 *2; s8 "VAR1";
1405 dnl End of dictionary.
1409 "be 170bb18589ba264a0ed2d57b41fe77e1" \
1410 "le 9528b4b5936ef5630bbd3bdd60a123c3"
1413 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
1415 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
1417 AT_CHECK([pspp -O format=csv sys-file.sps], [1],
1418 [error: `sys-file.sav' near offset 0xd0: Bad width 256 for variable VAR1.
1420 sys-file.sps:1: error: Stopping syntax file processing here to avoid a cascade of dependent command failures.
1425 AT_SETUP([duplicate variable name])
1426 AT_KEYWORDS([sack synthetic system file negative])
1427 AT_DATA([sys-file.sack], [dnl
1429 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
1430 2; 2; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
1432 dnl Numeric variables.
1433 2; 0; 0; 0; 0x050800 *2; s8 "VAR1";
1434 2; 0; 0; 0; 0x050800 *2; s8 "VAR1";
1436 dnl End of dictionary.
1440 "be d8f5fd768ab1d641f9330a4840c71343" \
1441 "le f01e123d384cdaa7c2f7fc4791325ebf"
1444 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
1446 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
1448 AT_CHECK([pspp -O format=csv sys-file.sps], [1],
1449 [error: `sys-file.sav' near offset 0xf0: Duplicate variable name `VAR1'.
1451 sys-file.sps:1: error: Stopping syntax file processing here to avoid a cascade of dependent command failures.
1456 AT_SETUP([variable label indicator not 0 or 1])
1457 AT_KEYWORDS([sack synthetic system file negative])
1458 AT_DATA([sys-file.sack], [dnl
1460 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
1461 2; 2; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
1463 dnl Numeric variable.
1464 2; 0; >>2<<; 0; 0x050800 *2; s8 "VAR1";
1466 dnl End of dictionary.
1470 "be 3c5ff8d8f146457a385ca92d3d23ca8a" \
1471 "le 37e9f956d321ae57b0bf7fe2384e892b"
1474 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
1476 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
1478 AT_CHECK([pspp -O format=csv sys-file.sps], [1],
1479 [error: `sys-file.sav' near offset 0xd0: Variable label indicator field is not 0 or 1.
1481 sys-file.sps:1: error: Stopping syntax file processing here to avoid a cascade of dependent command failures.
1486 AT_SETUP([invalid numeric missing value indicator])
1487 AT_KEYWORDS([sack synthetic system file negative])
1488 AT_DATA([sys-file.sack], [dnl
1490 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
1491 2; 2; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
1493 dnl Numeric variable.
1494 2; 0; 0; >>-1<<; 0x050800 *2; s8 "VAR1";
1496 dnl End of dictionary.
1500 "be d1d0d4aedf9f053452c4b1e658ade5e2" \
1501 "le df697575499fe12921185a3d23a5d61d"
1504 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
1506 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
1508 AT_CHECK([pspp -O format=csv sys-file.sps], [1],
1509 ["error: `sys-file.sav' near offset 0xd0: Numeric missing value indicator field is not -3, -2, 0, 1, 2, or 3."
1511 sys-file.sps:1: error: Stopping syntax file processing here to avoid a cascade of dependent command failures.
1516 AT_SETUP([invalid string missing value indicator])
1517 AT_KEYWORDS([sack synthetic system file negative])
1518 AT_DATA([sys-file.sack], [dnl
1520 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
1521 2; 2; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
1523 dnl String variable.
1524 2; 8; 0; >>4<<; 0x010800 *2; s8 "VAR1";
1526 dnl End of dictionary.
1530 "be f833033be7b102fae19159989f62faa6" \
1531 "le 9704ba828bb7a36ef0262838f6b7936b"
1534 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
1536 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
1538 AT_CHECK([pspp -O format=csv sys-file.sps], [1],
1539 ["error: `sys-file.sav' near offset 0xd0: String missing value indicator field is not 0, 1, 2, or 3."
1541 sys-file.sps:1: error: Stopping syntax file processing here to avoid a cascade of dependent command failures.
1546 AT_SETUP([missing string continuation record])
1547 AT_KEYWORDS([sack synthetic system file negative])
1548 AT_DATA([sys-file.sack], [dnl
1550 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
1551 2; 2; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
1553 dnl String variable.
1554 2; 10; 0; 0; 0x010a00 *2; s8 "VAR1";
1555 >>2; 0; 0; 0; 0x050800 *2; s8 "VAR2";<<
1557 dnl End of dictionary.
1561 "be c8f9ad2b2acd2918055e2b78c1e0b4b8" \
1562 "le 1afab4d6aee90a6fe8d2dbf229e06409"
1565 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
1567 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
1569 AT_CHECK([pspp -O format=csv sys-file.sps], [1],
1570 [error: `sys-file.sav' near offset 0xd8: Missing string continuation record.
1572 sys-file.sps:1: error: Stopping syntax file processing here to avoid a cascade of dependent command failures.
1577 AT_SETUP([unknown variable format])
1578 AT_KEYWORDS([sack synthetic system file negative])
1579 AT_DATA([sys-file.sack], [dnl
1581 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
1582 2; 1; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
1584 dnl Numeric variable.
1585 2; 0; 0; 0; >>0xff0800<< *2; s8 "VAR1";
1587 dnl End of dictionary.
1591 "be fcf94b3ff11b7e2ff50c226b609cff1e" \
1592 "le 88fc97cc80d5a170e53a7cc89e204b0d"
1595 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
1597 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
1599 AT_CHECK([pspp -O format=csv sys-file.sps], [1],
1600 [error: `sys-file.sav' near offset 0xd0: Unknown variable format 255.
1602 sys-file.sps:1: error: Stopping syntax file processing here to avoid a cascade of dependent command failures.
1607 AT_SETUP([invalid numeric variable format])
1608 AT_KEYWORDS([sack synthetic system file negative])
1609 AT_DATA([sys-file.sack], [dnl
1611 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
1612 2; 3; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
1614 dnl Numeric variable, string formats.
1615 2; 0; 0; 0; >>0x010800<<; >>0x021000<<; s8 "VAR1";
1617 dnl String variable, numeric formats.
1618 2; 4; 0; 0; >>0x050800<<; >>0x110a01<<; s8 "STR1";
1620 dnl String variable, wrong width formats.
1621 2; 4; 0; 0; >>0x010800<<; >>0x020400<<; s8 "STR2";
1623 dnl End of dictionary.
1627 "be 0c36a39ec9118eb4a83f10a9483b5a37" \
1628 "le 1d498d60eeb2c88e0479f113fb3ffe4b"
1631 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
1633 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
1635 AT_CHECK([pspp -O format=csv sys-file.sps], [0],
1636 [warning: `sys-file.sav' near offset 0xd0: Numeric variable VAR1 has invalid print format A8.
1638 warning: `sys-file.sav' near offset 0xd0: Numeric variable VAR1 has invalid write format AHEX16.
1640 warning: `sys-file.sav' near offset 0xf0: String variable STR1 has invalid print format F8.0.
1642 warning: `sys-file.sav' near offset 0xf0: String variable STR1 has invalid write format E10.1.
1644 warning: `sys-file.sav' near offset 0x110: String variable STR2 has invalid print format A8.
1646 warning: `sys-file.sav' near offset 0x110: String variable STR2 has invalid write format AHEX4.
1651 AT_SETUP([weighting variable must be numeric])
1652 AT_KEYWORDS([sack synthetic system file negative])
1653 AT_DATA([sys-file.sack], [dnl
1655 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
1656 2; 2; 1; >>2<<; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
1658 dnl Numeric variable.
1659 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
1661 dnl String variable.
1662 2; 4; 0; 0; 0x010400 *2; s8 "STR1";
1664 dnl End of dictionary.
1668 "be 82d30105e46c4896c24f9dcec26c4749" \
1669 "le 32e235119be70050eb78bf4186a5a046"
1672 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
1674 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
1676 AT_CHECK([pspp -O format=csv sys-file.sps], [1],
1677 [error: `sys-file.sav' near offset 0xf4: Weighting variable must be numeric (not string variable `STR1').
1679 sys-file.sps:1: error: Stopping syntax file processing here to avoid a cascade of dependent command failures.
1684 AT_SETUP([bad weighting variable index])
1685 AT_KEYWORDS([sack synthetic system file negative])
1686 AT_DATA([sys-file.sack], [dnl
1688 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
1689 2; 2; 1; >>3<<; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
1691 dnl Numeric variable.
1692 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
1694 dnl String variable.
1695 2; 4; 0; 0; 0x010400 *2; s8 "STR1";
1697 dnl End of dictionary.
1701 "be cd9af924ff20bc75834aa2c696254c97" \
1702 "le cbe0f2f514f5e95f27644d0b4314bc78"
1705 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
1707 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
1709 AT_CHECK([pspp -O format=csv sys-file.sps], [1],
1710 [error: `sys-file.sav' near offset 0xf4: Variable index 3 not in valid range 1...2.
1712 sys-file.sps:1: error: Stopping syntax file processing here to avoid a cascade of dependent command failures.
1717 AT_SETUP([variable index is long string contination])
1718 AT_KEYWORDS([sack synthetic system file negative])
1719 AT_DATA([sys-file.sack], [dnl
1721 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
1722 2; 2; 1; >>3<<; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
1724 dnl Numeric variable.
1725 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
1727 dnl Long string variable.
1728 2; 9; 0; 0; 0x010900 *2; s8 "STR1";
1729 (2; -1; 0; 0; 0; 0; s8 "");
1731 dnl End of dictionary.
1735 "be 0c395354df56ea5ff374aafcc535d633" \
1736 "le d977f684ea9d4648ed40f8c6dddde9f7"
1739 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
1741 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
1743 AT_CHECK([pspp -O format=csv sys-file.sps], [1],
1744 [error: `sys-file.sav' near offset 0x114: Variable index 3 refers to long string continuation.
1746 sys-file.sps:1: error: Stopping syntax file processing here to avoid a cascade of dependent command failures.
1751 AT_SETUP([multiple documents records])
1752 AT_KEYWORDS([sack synthetic system file negative])
1753 AT_DATA([sys-file.sack], [dnl
1755 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
1756 2; 2; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
1758 dnl Numeric variable, no label or missing values.
1759 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
1761 dnl Two document records.
1762 (6; 1; s80 "One line of documents") >>* 2<<;
1764 dnl Dictionary termination record.
1771 "be 18aa3348a216ed494efe28285b348fa8" \
1772 "le 19b21522bcef1dcc60af328f923f307e"
1775 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
1777 AT_DATA([sys-file.sps], [dnl
1778 GET FILE='sys-file.sav'.
1780 AT_CHECK([pspp -O format=csv sys-file.sps], [1], [dnl
1781 error: `sys-file.sav' near offset 0x12c: Multiple type 6 (document) records.
1783 sys-file.sps:1: error: Stopping syntax file processing here to avoid a cascade of dependent command failures.
1789 AT_SETUP([empty document record])
1790 AT_KEYWORDS([sack synthetic system file negative])
1791 AT_DATA([sys-file.sack], [dnl
1793 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
1794 2; 2; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
1796 dnl Numeric variable, no label or missing values.
1797 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
1799 dnl Empty document record.
1802 dnl Dictionary termination record.
1809 "be d8ef29c1b97f9ed226cbd938c9c49b6e" \
1810 "le f6a560c5b62e2c472429d85294f36e61"
1813 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
1815 AT_DATA([sys-file.sps], [dnl
1816 GET FILE='sys-file.sav'.
1818 AT_CHECK([pspp -O format=csv sys-file.sps], [1], [dnl
1819 error: `sys-file.sav' near offset 0xd8: Number of document lines (0) must be greater than 0.
1821 sys-file.sps:1: error: Stopping syntax file processing here to avoid a cascade of dependent command failures.
1826 AT_SETUP([document contains null byte])
1827 AT_KEYWORDS([sack synthetic system file negative])
1828 AT_DATA([sys-file.sack], [dnl
1830 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
1831 2; 2; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
1833 dnl Numeric variable, no label or missing values.
1834 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
1836 dnl Document record.
1837 6; 1; >>i8 0<<; s79 "One line of documents";
1839 dnl Dictionary termination record.
1846 "be 24b5f451ae2559785c1a38358c511e39" \
1847 "le b7e9802506307c28343293144bd6d4f4"
1850 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
1852 AT_DATA([sys-file.sps], [dnl
1853 GET FILE='sys-file.sav'.
1855 AT_CHECK([pspp -O format=csv sys-file.sps], [1], [dnl
1856 error: `sys-file.sav' near offset 0x128: Document line contains null byte.
1858 sys-file.sps:1: error: Stopping syntax file processing here to avoid a cascade of dependent command failures.
1863 AT_SETUP([extension record too large])
1864 AT_KEYWORDS([sack synthetic system file negative])
1865 AT_DATA([sys-file.sack], [dnl
1867 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
1868 2; 2; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
1870 dnl Numeric variable, no label or missing values.
1871 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
1873 dnl Too-large extension record.
1874 7; 3; >>0xfffff000 * 2<<;
1877 "be 5a6679dc41ac349b0b73fc430937c05c" \
1878 "le d4769c7f650cfbf160e0386d0d33be04"
1881 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
1883 AT_DATA([sys-file.sps], [dnl
1884 GET FILE='sys-file.sav'.
1886 AT_CHECK([pspp -O format=csv sys-file.sps], [1], [dnl
1887 error: `sys-file.sav' near offset 0xe0: Record type 7 subtype 3 too large.
1889 sys-file.sps:1: error: Stopping syntax file processing here to avoid a cascade of dependent command failures.
1894 AT_SETUP([unknown extension record])
1895 AT_KEYWORDS([sack synthetic system file negative])
1896 AT_DATA([sys-file.sack], [dnl
1898 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
1899 2; 1; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
1901 dnl Numeric variable, no label or missing values.
1902 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
1904 dnl Unknown extension record type.
1907 dnl End of dictionary.
1911 "be ac8395e27677408189bcb8655e56cc0e" \
1912 "le e308bfcd51f1e3c28d7379c29271f9d6"
1915 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
1917 AT_DATA([sys-file.sps], [dnl
1918 GET FILE='sys-file.sav'.
1920 AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
1921 "warning: `sys-file.sav' near offset 0xe0: Unrecognized record type 7, subtype 30. Please send a copy of this file, and the syntax which created it to bug-gnu-pspp@gnu.org."
1926 AT_SETUP([bad machine integer info size])
1927 AT_KEYWORDS([sack synthetic system file negative])
1928 AT_DATA([sys-file.sack], [dnl
1930 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
1931 2; 2; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
1933 dnl Numeric variable, no label or missing values.
1934 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
1936 dnl Machine integer info record.
1937 7; 3; 4; >>9<<; 1; 2; 3; -1; 1; 1; ENDIAN; 1252;
1940 "be 21ec84826886b0a266d1360f8279d769" \
1941 "le 15dcba7b2b89b7d8a21ebcc872f515af"
1944 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
1946 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
1948 AT_CHECK([pspp -O format=csv sys-file.sps], [1], [dnl
1949 "error: `sys-file.sav' near offset 0x100: Bad size (4) or count (9) field on record type 7, subtype 3."
1951 sys-file.sps:1: error: Stopping syntax file processing here to avoid a cascade of dependent command failures.
1956 AT_SETUP([bad machine integer info float format])
1957 AT_KEYWORDS([sack synthetic system file negative])
1958 AT_DATA([sys-file.sack], [dnl
1960 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
1961 2; 2; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
1963 dnl Numeric variable, no label or missing values.
1964 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
1966 dnl Machine integer info record.
1967 7; 3; 4; 8; 1; 2; 3; -1; >>2<<; 1; ENDIAN; 1252;
1970 "be d510ed28278649eee997fb6881a4c04f" \
1971 "le fbf1eca561a4e243b7ae844ed1677035"
1974 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
1976 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
1978 AT_CHECK([pspp -O format=csv sys-file.sps], [1], [dnl
1979 error: `sys-file.sav' near offset 0x100: Floating-point representation indicated by system file (2) differs from expected (1).
1981 sys-file.sps:1: error: Stopping syntax file processing here to avoid a cascade of dependent command failures.
1986 AT_SETUP([bad machine integer info endianness])
1987 AT_KEYWORDS([sack synthetic system file negative])
1988 AT_DATA([sys-file.sack], [dnl
1990 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
1991 2; 1; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
1993 dnl Numeric variable, no label or missing values.
1994 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
1996 dnl Machine integer info record.
1997 7; 3; 4; 8; 1; 2; 3; -1; 1; 1; >>3<<; 1252;
1999 dnl End of dictionary.
2003 "be 855123d16d5e1560b91d60753dad79ad 1" \
2004 "le d6626b4fa2e46a91f26c2fc609b2f1e0 2"
2007 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
2009 AT_DATA([sys-file.sps], [dnl
2010 GET FILE='sys-file.sav'.
2013 AT_CHECK_UNQUOTED([pspp -O format=csv sys-file.sps], [0], [dnl
2014 warning: \`sys-file.sav' near offset 0x100: Integer format indicated by system file (3) differs from expected ($[3]).
2016 Variable,Description,,Position
2017 num1,Format: F8.0,,1
2019 ,Display Alignment: Right,,
2026 AT_SETUP([bad machine floating-point info size])
2027 AT_KEYWORDS([sack synthetic system file negative])
2028 AT_DATA([sys-file.sack], [dnl
2030 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
2031 2; 2; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
2033 dnl Numeric variable, no label or missing values.
2034 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
2036 dnl Machine floating-point info record.
2037 7; 4; 8; >>4<<; SYSMIS; HIGHEST; LOWEST; 0.0;
2040 "be 29c9a173638fbb8bb1efe1176c4d670f" \
2041 "le 5cb49eb1084e5b9cd573a54705ff86a7"
2044 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
2046 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
2048 AT_CHECK([pspp -O format=csv sys-file.sps], [1], [dnl
2049 error: `sys-file.sav' near offset 0xf8: Bad size (8) or count (4) on extension 4.
2051 sys-file.sps:1: error: Stopping syntax file processing here to avoid a cascade of dependent command failures.
2056 AT_SETUP([wrong special floating point values])
2057 AT_KEYWORDS([sack synthetic system file negative])
2058 AT_DATA([sys-file.sack], [dnl
2060 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
2061 2; 1; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
2063 dnl Numeric variable, no label or missing values.
2064 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
2066 dnl Machine floating-point info record.
2067 7; 4; 8; 3; >>0.0<<; >>1.0<<; >>2.0<<;
2069 dnl End of dictionary.
2073 "be 1e7452d9bb0a2397bf6084a25437514e" \
2074 "le f59f9a83f723cde1611869ff6d91d325"
2077 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
2079 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
2081 AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
2082 warning: `sys-file.sav' near offset 0xf8: File specifies unexpected value 0 as SYSMIS.
2084 warning: `sys-file.sav' near offset 0xf8: File specifies unexpected value 1 as HIGHEST.
2086 warning: `sys-file.sav' near offset 0xf8: File specifies unexpected value 2 as LOWEST.
2091 AT_SETUP([bad mrsets name])
2092 AT_KEYWORDS([sack synthetic system file negative multiple response])
2093 AT_DATA([sys-file.sack], [dnl
2095 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
2096 2; 1; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
2098 dnl Numeric variable, no label or missing values.
2099 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
2101 dnl Multiple response sets.
2102 7; 7; 1; COUNT("a=C");
2103 7; 19; 1; COUNT("xyz=D");
2108 "be 15a9bf44d0cd6186a60629b77079c5a5" \
2109 "le 161c99aca5e7a3684df096137e72ce5b"
2112 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
2114 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
2116 AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
2117 warning: `sys-file.sav' near offset 0xe3: `a' does not begin with `$' at offset 2 in MRSETS record.
2119 warning: `sys-file.sav' near offset 0xf8: `xyz' does not begin with `$' at offset 4 in MRSETS record.
2124 AT_SETUP([missing space after C in mrsets])
2125 AT_KEYWORDS([sack synthetic system file negative multiple response])
2126 AT_DATA([sys-file.sack], [dnl
2128 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
2129 2; 1; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
2131 dnl Numeric variable, no label or missing values.
2132 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
2134 dnl Multiple response sets.
2135 7; 7; 1; COUNT("$a=Cx");
2140 "be c5e5656ba3d74c3a967850f29ad89970" \
2141 "le 29f110509c3d6893a7d21ae2d66aad9d"
2144 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
2146 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
2148 AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
2149 warning: `sys-file.sav' near offset 0xe5: Missing space following `C' at offset 4 in MRSETS record.
2154 AT_SETUP([missing space after E in mrsets])
2155 AT_KEYWORDS([sack synthetic system file negative multiple response])
2156 AT_DATA([sys-file.sack], [dnl
2158 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
2159 2; 1; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
2161 dnl Numeric variable, no label or missing values.
2162 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
2164 dnl Multiple response sets.
2165 7; 7; 1; COUNT("$a=Ex");
2170 "be a9e1dc63e2524882a5e3d2949a2da9d4" \
2171 "le ac709ca1928f65f47a8c8efdd9454b50"
2174 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
2176 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
2178 AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
2179 warning: `sys-file.sav' near offset 0xe5: Missing space following `E' at offset 4 in MRSETS record.
2184 AT_SETUP([unexpected label source in mrsets])
2185 AT_KEYWORDS([sack synthetic system file negative multiple response])
2186 AT_DATA([sys-file.sack], [dnl
2188 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
2189 2; 1; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
2191 dnl Numeric variable, no label or missing values.
2192 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
2194 dnl Multiple response sets.
2195 7; 7; 1; COUNT("$a=E 2");
2200 "be 8c710e85a0a1609d0d03dec80aaf5f94" \
2201 "le 4682440b82f22d4bd2ac56afb7fa3152"
2204 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
2206 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
2208 AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
2209 warning: `sys-file.sav' near offset 0xe6: Unexpected label source value `2' following `E' at offset 7 in MRSETS record.
2211 warning: `sys-file.sav' near offset 0xe6: Expecting digit at offset 7 in MRSETS record.
2216 AT_SETUP([bad type character in mrsets])
2217 AT_KEYWORDS([sack synthetic system file negative multiple response])
2218 AT_DATA([sys-file.sack], [dnl
2220 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
2221 2; 1; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
2223 dnl Numeric variable, no label or missing values.
2224 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
2226 dnl Multiple response sets.
2227 7; 7; 1; COUNT("$a=");
2232 "be fc5e5200d8f56b9a5a713e4a95313a3b" \
2233 "le 578a61e8a06b20216612f566c2050879"
2236 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
2238 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
2240 AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
2241 "warning: `sys-file.sav' near offset 0xe3: Missing `C', `D', or `E' at offset 3 in MRSETS record."
2246 AT_SETUP([bad counted string length in mrsets])
2247 AT_KEYWORDS([sack synthetic system file negative multiple response])
2248 AT_DATA([sys-file.sack], [dnl
2250 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
2251 2; 1; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
2253 dnl Numeric variable, no label or missing values.
2254 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
2256 dnl Multiple response sets.
2257 7; 7; 1; COUNT("$a=Dx");
2262 "be 23d0e2f65c7c5f93bbedcc0f2b260c69" \
2263 "le c3860c1d80e08842264948056e72c0db"
2266 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
2268 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
2270 AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
2271 warning: `sys-file.sav' near offset 0xe5: Expecting digit at offset 4 in MRSETS record.
2276 AT_SETUP([missing space in counted string in mrsets])
2277 AT_KEYWORDS([sack synthetic system file negative multiple response])
2278 AT_DATA([sys-file.sack], [dnl
2280 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
2281 2; 1; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
2283 dnl Numeric variable, no label or missing values.
2284 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
2286 dnl Multiple response sets.
2287 7; 7; 1; COUNT("$a=D1x");
2292 "be c9ce001723763e0698878b7e43a887e8" \
2293 "le e258a1e4491d5a1d1e7d2272ef631a22"
2296 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
2298 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
2300 AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
2301 warning: `sys-file.sav' near offset 0xe6: Expecting space at offset 5 in MRSETS record.
2306 AT_SETUP([counted string too long in mrsets])
2307 AT_KEYWORDS([sack synthetic system file negative multiple response])
2308 AT_DATA([sys-file.sack], [dnl
2310 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
2311 2; 1; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
2313 dnl Numeric variable, no label or missing values.
2314 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
2316 dnl Multiple response sets.
2317 7; 7; 1; COUNT("$a=D4 abc");
2322 "be 196d1266fa0e8e315769dcbe3130e3df" \
2323 "le 23df1ba7b77a26da8ce1c2cfbcaadce0"
2326 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
2328 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
2330 AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
2331 warning: `sys-file.sav' near offset 0xe9: 4-byte string starting at offset 6 exceeds record length 9.
2336 AT_SETUP([missing space after counted string in mrsets])
2337 AT_KEYWORDS([sack synthetic system file negative multiple response])
2338 AT_DATA([sys-file.sack], [dnl
2340 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
2341 2; 1; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
2343 dnl Numeric variable, no label or missing values.
2344 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
2346 dnl Multiple response sets.
2347 7; 7; 1; COUNT("$a=D3 abcx");
2352 "be 86314bb0bbdfad48c10af8b8d8106d6e" \
2353 "le 2b8d05ff501ca78e51f7110ce88a2364"
2356 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
2358 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
2360 AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
2361 warning: `sys-file.sav' near offset 0xea: Expecting space at offset 9 following 3-byte string.
2366 AT_SETUP([missing newline after variable name in mrsets])
2367 AT_KEYWORDS([sack synthetic system file negative multiple response])
2368 AT_DATA([sys-file.sack], [dnl
2370 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
2371 2; 1; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
2373 dnl Numeric variable, no label or missing values.
2374 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
2376 dnl Multiple response sets.
2377 7; 7; 1; COUNT("$a=C 0 NUM1");
2382 "be cea939cf3e6a5f88cb45e8fa871c5e13" \
2383 "le 52135afec082f50f37eafacadbb2cd65"
2386 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
2388 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
2390 AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
2391 warning: `sys-file.sav' near offset 0xec: Missing new-line parsing variable names at offset 14 in MRSETS record.
2393 warning: `sys-file.sav' near offset 0xec: MRSET $a has only 1 variables.
2398 AT_SETUP([duplicate variable name in mrsets])
2399 AT_KEYWORDS([sack synthetic system file negative multiple response])
2400 AT_DATA([sys-file.sack], [dnl
2402 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
2403 2; 1; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
2405 dnl Numeric variable, no label or missing values.
2406 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
2408 dnl Multiple response sets.
2409 7; 7; 1; COUNT("$a=C 0 NUM1 NUM1"; i8 10);
2414 "be 4b1b5fa2dc22cf0afdd35422290b0a29" \
2415 "le e4304b57976440a036f25f8dd8ac1404"
2418 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
2420 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
2422 AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
2423 warning: `sys-file.sav' near offset 0xf2: Duplicate variable name NUM1 at offset 18 in MRSETS record.
2425 warning: `sys-file.sav' near offset 0xf2: MRSET $a has only 1 variables.
2430 AT_SETUP([mixed variable types in mrsets])
2431 AT_KEYWORDS([sack synthetic system file negative multiple response])
2432 AT_DATA([sys-file.sack], [dnl
2434 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
2435 2; 2; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
2438 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
2439 2; 8; 0; 0; 0x010800 *2; s8 "STR1";
2441 dnl Multiple response sets.
2442 7; 7; 1; COUNT("$a=C 0 NUM1 STR1"; i8 10);
2447 "be 0f130e967e4097823f85b8711eb20727" \
2448 "le 4dc987b4303fd115f1cae9be3963acc9"
2451 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
2453 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
2455 AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
2456 warning: `sys-file.sav' near offset 0x112: MRSET $a contains both string and numeric variables.
2458 warning: `sys-file.sav' near offset 0x112: MRSET $a has only 1 variables.
2463 AT_SETUP([missing newline after variable name in mrsets])
2464 AT_KEYWORDS([sack synthetic system file negative multiple response])
2465 AT_DATA([sys-file.sack], [dnl
2467 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
2468 2; 1; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
2470 dnl Numeric variable, no label or missing values.
2471 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
2473 dnl Multiple response sets.
2474 7; 7; 1; COUNT("$a=C 0 NUM1"; i8 10);
2479 "be 3a891e0a467afb3d622629c70f329ada" \
2480 "le 432998ec08370510411af4f5207c015e"
2483 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
2485 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
2487 AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
2488 warning: `sys-file.sav' near offset 0xed: MRSET $a has only 1 variables.
2493 AT_SETUP([only one variable in mrset])
2494 AT_KEYWORDS([sack synthetic system file negative multiple response])
2495 AT_DATA([sys-file.sack], [dnl
2497 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
2498 2; 1; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
2500 dnl Numeric variable, no label or missing values.
2501 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
2503 dnl Multiple response sets.
2504 7; 7; 1; COUNT("$a=C 0 NUM1"; i8 10);
2509 "be 3a891e0a467afb3d622629c70f329ada" \
2510 "le 432998ec08370510411af4f5207c015e"
2513 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
2515 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
2517 AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
2518 warning: `sys-file.sav' near offset 0xed: MRSET $a has only 1 variables.
2523 AT_SETUP([wrong display parameter size])
2524 AT_KEYWORDS([sack synthetic system file negative])
2525 AT_DATA([sys-file.sack], [dnl
2527 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
2528 2; 1; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
2530 dnl Numeric variable, no label or missing values.
2531 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
2533 dnl Display parameters record.
2534 7; 11; >>8<<; 2; 1.0; 1.0;
2536 dnl End of dictionary.
2540 "be 7c0f1ae47ae11e37d435c4abaceca226" \
2541 "le c29d05a1f8f15ed2201f31f8b787aaa0"
2544 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
2546 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
2548 AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
2549 warning: `sys-file.sav' near offset 0xe0: Bad size 8 on extension 11.
2554 AT_SETUP([wrong display parameter count])
2555 AT_KEYWORDS([sack synthetic system file negative])
2556 AT_DATA([sys-file.sack], [dnl
2558 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
2559 2; 1; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
2561 dnl Numeric variable, no label or missing values.
2562 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
2564 dnl Display parameters record.
2565 7; 11; 4; >>4<<; 1; 1; 2; 2;
2567 dnl End of dictionary.
2571 "be 372b57e73c69b05047b60bf6c596e2a1" \
2572 "le 2a550d8c5ceae4de7ced77df66e49d0f"
2575 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
2577 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
2579 AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
2580 warning: `sys-file.sav' near offset 0xe0: Extension 11 has bad count 4 (for 1 variables).
2585 AT_SETUP([wrong display measurement level])
2586 AT_KEYWORDS([sack synthetic system file negative])
2587 AT_DATA([sys-file.sack], [dnl
2589 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
2590 2; 1; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
2592 dnl Numeric variable, no label or missing values.
2593 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
2595 dnl Display parameters record.
2596 7; 11; 4; 2; >>4<<; 0;
2598 dnl End of dictionary.
2602 "be d43e7616b03743339f37292dec6c2204" \
2603 "le 821533c29a070cefdd8f07f4e1741d2a"
2606 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
2608 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
2610 AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
2611 warning: `sys-file.sav' near offset 0xe8: Invalid variable display parameters for variable 0 (NUM1). Default parameters substituted.
2616 AT_SETUP([wrong display alignment])
2617 AT_KEYWORDS([sack synthetic system file negative])
2618 AT_DATA([sys-file.sack], [dnl
2620 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
2621 2; 1; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
2623 dnl Numeric variable, no label or missing values.
2624 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
2626 dnl Display parameters record.
2627 7; 11; 4; 2; 1; >>-1<<;
2629 dnl End of dictionary.
2633 "be c54bc48b5767e2ec3a9ef31df790cb7c" \
2634 "le a4d8b14af64221abe83adb417d110e10"
2637 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
2639 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
2641 AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
2642 warning: `sys-file.sav' near offset 0xe8: Invalid variable display parameters for variable 0 (NUM1). Default parameters substituted.
2647 AT_SETUP([bad variable name in variable/value pair])
2648 AT_KEYWORDS([sack synthetic system file negative])
2649 AT_DATA([sys-file.sack], [dnl
2651 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
2652 2; 1; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
2654 dnl Numeric variables.
2655 2; 0; 0; 0; 0x050800 *2; s8 "LONGVARI";
2657 dnl Long variable names.
2658 7; 13; 1; COUNT (>>"xyzzy"<<);
2660 dnl Dictionary termination record.
2664 "be b67b6e3c1900e5a9cc691055008f0447" \
2665 "le 26cc52e601f830f9087a0ea2bd9527df"
2668 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
2670 AT_DATA([sys-file.sps], [dnl
2671 GET FILE='sys-file.sav'.
2673 AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
2674 warning: `sys-file.sav' near offset 0xe5: Dictionary record refers to unknown variable xyzzy.
2679 AT_SETUP([duplicate long variable name])
2680 AT_KEYWORDS([sack synthetic system file negative])
2681 AT_DATA([sys-file.sack], [dnl
2683 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
2684 2; 4; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
2686 dnl Numeric variables.
2687 2; 0; 0; 0; 0x050800 *2; s8 "LONGVARI";
2688 2; 0; 0; 0; 0x050800 *2; s8 "LONGVA_A";
2689 2; 0; 0; 0; 0x050800 *2; s8 "LONGVA_B";
2690 2; 0; 0; 0; 0x050800 *2; s8 "LONGVA_C";
2692 dnl Long variable names.
2694 "LONGVARI=_Invalid"; i8 9;
2695 "LONGVA_A=LongVariableName"; i8 9;
2696 "LONGVA_B=LONGVARIABLENAME"; i8 9;
2699 dnl Dictionary termination record.
2703 "be 9b4b4daa00084d984efb8f889bcb727c" \
2704 "le c1b1470d5cd615106e9ae507c9948d8e"
2707 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
2709 AT_DATA([sys-file.sps], [dnl
2710 GET FILE='sys-file.sav'.
2712 AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
2713 warning: `sys-file.sav' near offset 0x186: Long variable mapping from LONGVARI to invalid variable name `_Invalid'.
2715 warning: `sys-file.sav' near offset 0x186: Duplicate long variable name `LONGVARIABLENAME'.
2720 AT_SETUP([bad very long string length])
2721 AT_KEYWORDS([sack synthetic system file negative])
2722 AT_DATA([sys-file.sack], [dnl
2724 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
2725 2; 1; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
2727 dnl Numeric variable.
2728 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
2730 dnl Very long string map.
2732 "NUM1=00000"; i8 0; i8 9;
2733 "NUM1=00255"; i8 0; i8 9;
2734 "NUM1=00256"; i8 0; i8 9;
2737 dnl Dictionary termination record.
2741 "be 1309d8d9fb24bcf08952dce9b0f39a94" \
2742 "le 94a39de88f8034001b3e467c4cc04d0f"
2745 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
2747 AT_DATA([sys-file.sps], [dnl
2748 GET FILE='sys-file.sav'.
2750 AT_CHECK([pspp -O format=csv sys-file.sps], [1], [dnl
2751 warning: `sys-file.sav' near offset 0x104: NUM1 listed as string of invalid length 00000 in very long string record.
2753 "warning: `sys-file.sav' near offset 0x104: NUM1 listed in very long string record with width 00255, which requires only one segment."
2755 error: `sys-file.sav' near offset 0x104: Very long string NUM1 overflows dictionary.
2757 sys-file.sps:1: error: Stopping syntax file processing here to avoid a cascade of dependent command failures.
2762 AT_SETUP([bad very long string segment width])
2763 AT_KEYWORDS([sack synthetic system file negative])
2764 AT_DATA([sys-file.sack], [dnl
2766 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
2767 2; 1; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
2770 2; 255; 0; 0; 0x01ff00 *2; s8 "STR1";
2771 (2; -1; 0; 0; 0; 0; s8 "") * 31;
2772 2; >>9<<; 0; 0; 0x010900 *2; s8 "STR1_A";
2773 >>2; -1; 0; 0; 0; 0; s8 "";<<
2775 dnl Very long string map.
2777 "STR1=00256"; i8 0; i8 9;
2780 dnl Dictionary termination record.
2784 "be 1d09a44a46859e6eda28e053dd4b7a8b" \
2785 "le 63b9ac0b3953f3e0d5ee248ebe257794"
2788 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
2790 AT_DATA([sys-file.sps], [dnl
2791 GET FILE='sys-file.sav'.
2793 AT_CHECK([pspp -O format=csv sys-file.sps], [1], [dnl
2794 error: `sys-file.sav' near offset 0x50c: Very long string with width 256 has segment 1 of width 9 (expected 4).
2796 sys-file.sps:1: error: Stopping syntax file processing here to avoid a cascade of dependent command failures.
2801 AT_SETUP([too many value labels])
2802 dnl Skip the test if multiplying a small number by INT32_MAX would not
2803 dnl cause an overflow in size_t.
2804 AT_SKIP_IF([test $SIZEOF_SIZE_T -gt 4])
2805 AT_KEYWORDS([sack synthetic system file negative])
2806 AT_DATA([sys-file.sack], [dnl
2808 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
2809 2; 1; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
2811 dnl Numeric variable.
2812 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
2816 "be 975b2668dde395ddf619977958b37412" \
2817 "le 0c14aa278cfc2a4b801f91c14321f03b"
2820 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
2822 AT_DATA([sys-file.sps], [dnl
2823 GET FILE='sys-file.sav'.
2825 AT_CHECK([pspp -O format=csv sys-file.sps], [1], [dnl
2826 error: `sys-file.sav' near offset 0xd8: Invalid number of labels 2147483647.
2828 sys-file.sps:1: error: Stopping syntax file processing here to avoid a cascade of dependent command failures.
2833 AT_SETUP([missing type 4 record])
2834 AT_KEYWORDS([sack synthetic system file negative])
2835 AT_DATA([sys-file.sack], [dnl
2837 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
2838 2; 1; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
2840 dnl Numeric variable.
2841 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
2843 dnl Value label with missing type 4 record.
2844 3; 1; 1.0; i8 3; s7 "one";
2846 dnl End of dictionary.
2850 "be 5e1286ac92e3f25ff98492bc5019d608" \
2851 "le b33c12f776bbcaa43aa3bfdd4799e0c0"
2854 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
2856 AT_DATA([sys-file.sps], [dnl
2857 GET FILE='sys-file.sav'.
2859 AT_CHECK([pspp -O format=csv sys-file.sps], [1], [dnl
2860 error: `sys-file.sav' near offset 0xec: Variable index record (type 4) does not immediately follow value label record (type 3) as it should.
2862 sys-file.sps:1: error: Stopping syntax file processing here to avoid a cascade of dependent command failures.
2867 AT_SETUP([value label with no associated variables])
2868 AT_KEYWORDS([sack synthetic system file negative])
2869 AT_DATA([sys-file.sack], [dnl
2871 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
2872 2; 1; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
2874 dnl Numeric variable.
2875 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
2877 dnl Value label with no variables.
2878 3; 1; 1.0; i8 3; s7 "one"; 4; >>0<<;
2881 "be b0dcec30a936cbcad21c4f3d6fe10fcf" \
2882 "le 3b9fdfce5c8c248048232fd6eac018e3"
2885 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
2887 AT_DATA([sys-file.sps], [dnl
2888 GET FILE='sys-file.sav'.
2890 AT_CHECK([pspp -O format=csv sys-file.sps], [1], [dnl
2891 error: `sys-file.sav' near offset 0xf0: Number of variables associated with a value label (0) is not between 1 and the number of variables (1).
2893 sys-file.sps:1: error: Stopping syntax file processing here to avoid a cascade of dependent command failures.
2898 AT_SETUP([type 4 record names long string variable])
2899 AT_KEYWORDS([sack synthetic system file negative])
2900 AT_DATA([sys-file.sack], [dnl
2902 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
2903 2; 2; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
2905 dnl Long string variable.
2906 2; 9; 0; 0; 0x010900 *2; s8 "STR1";
2907 2; -1; 0; 0; 0; 0; s8 "";
2909 dnl Value label that names long string variable.
2910 3; 1; s8 "xyzzy"; i8 3; s7 "one"; 4; 1; >>1<<;
2913 "be 14053a4f09de4c7c4c55281534dd66f4" \
2914 "le 8a61cc994c659fd66307d2f0fd64ce20"
2917 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
2919 AT_DATA([sys-file.sps], [dnl
2920 GET FILE='sys-file.sav'.
2922 AT_CHECK([pspp -O format=csv sys-file.sps], [1], [dnl
2923 error: `sys-file.sav' near offset 0x114: Value labels may not be added to long string variables (e.g. STR1) using records types 3 and 4.
2925 sys-file.sps:1: error: Stopping syntax file processing here to avoid a cascade of dependent command failures.
2930 AT_SETUP([variables for value label must all be same type])
2931 AT_KEYWORDS([sack synthetic system file negative])
2932 AT_DATA([sys-file.sack], [dnl
2934 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
2935 2; 2; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
2938 2; 6; 0; 0; 0x010600 *2; s8 "STR1";
2939 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
2941 dnl Value label that names numeric and string variables.
2942 3; 1; s8 "xyzzy"; i8 3; s7 "one"; 4; 2; >>1; 2<<;
2945 "be 7577c456726a88f52bbef63a8b47bf1a" \
2946 "le 3ba5c6af9ad0ae5cc88f9f63e726e414"
2949 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
2951 AT_DATA([sys-file.sps], [dnl
2952 GET FILE='sys-file.sav'.
2954 AT_CHECK([pspp -O format=csv sys-file.sps], [1], [dnl
2955 "error: `sys-file.sav' near offset 0x118: Variables associated with value label are not all of identical type. Variable STR1 is string, but variable NUM1 is numeric."
2957 sys-file.sps:1: error: Stopping syntax file processing here to avoid a cascade of dependent command failures.
2962 AT_SETUP([duplicate value labels type])
2963 AT_KEYWORDS([sack synthetic system file negative])
2964 AT_DATA([sys-file.sack], [dnl
2966 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
2967 2; 2; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
2970 2; 6; 0; 0; 0x010600 *2; s8 "STR1";
2971 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
2973 dnl Duplicate value labels.
2974 3; 1; s8 "xyzzy"; i8 3; s7 "one"; 4; 2; >>1; 1<<;
2975 3; 1; 1.0; i8 3; s7 "one"; 4; 2; >>2; 2<<;
2977 dnl End of dictionary.
2981 "be ef0f5b2ebddb5a3bfcda16c93a2508f4" \
2982 "le c00e27abd9a6c06bf29a108d7220435a"
2985 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
2987 AT_DATA([sys-file.sps], [dnl
2988 GET FILE='sys-file.sav'.
2990 AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
2991 warning: `sys-file.sav' near offset 0x118: Duplicate value label for `xyzzy ' on STR1.
2993 warning: `sys-file.sav' near offset 0x140: Duplicate value label for 1 on NUM1.
2998 AT_SETUP([missing attribute value])
2999 AT_KEYWORDS([sack synthetic system file negative])
3000 AT_DATA([sys-file.sack], [dnl
3002 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
3003 2; 1; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
3006 2; 0; 0; 0; 0x050800 *2; s8 "FIRSTVAR";
3008 dnl Data file attributes record.
3013 dnl Variable attributes record.
3019 dnl Dictionary termination record.
3023 "be 0fc71f5e3cdb6b7f2dd73d011d4885c2" \
3024 "le e519b44715400156a2bfe648eb5cff34"
3027 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
3029 AT_DATA([sys-file.sps], [dnl
3030 GET FILE='sys-file.sav'.
3032 AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
3033 warning: `sys-file.sav' near offset 0xe6: Error parsing attribute value Attr1[[1]].
3035 warning: `sys-file.sav' near offset 0x109: Error parsing attribute value fred[[2]].
3040 AT_SETUP([unquoted attribute value])
3041 AT_KEYWORDS([sack synthetic system file negative])
3042 AT_DATA([sys-file.sack], [dnl
3044 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
3045 2; 1; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
3048 2; 0; 0; 0; 0x050800 *2; s8 "FIRSTVAR";
3050 dnl Data file attributes record.
3052 "Attr1(value"; i8 10;
3056 dnl Variable attributes record.
3059 "fred(23"; i8 10; ")"
3062 dnl Dictionary termination record.
3066 "be 33dba37c2247e63c04bb74a7b472293d" \
3067 "le 041025a9d9d9e21a7fabd90ba7341934"
3070 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
3072 AT_DATA([sys-file.sps], [dnl
3073 GET FILE='sys-file.sav'.
3075 AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
3076 warning: `sys-file.sav' near offset 0xed: Attribute value Attr1[[1]] is not quoted: value.
3078 warning: `sys-file.sav' near offset 0x10f: Attribute value fred[[1]] is not quoted: 23.
3083 AT_SETUP([bad variable name in long string value label])
3084 AT_KEYWORDS([sack synthetic system file negative])
3085 AT_DATA([sys-file.sack], [dnl
3087 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
3088 2; 3; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
3091 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
3092 2; 14; 0; 0; 0x010e00 *2; s8 "STR14";
3093 2; -1; 0; 0; 0; 0; s8 "";
3096 dnl No variable named STR9.
3097 COUNT(>>"STR9"<<); 9;
3098 1; COUNT("RSTUVWXYZ"); COUNT("value label for `RSTUVWXYZ'");
3100 dnl NUM1 is numeric.
3101 COUNT(>>"NUM1"<<); 0;
3102 1; COUNT("xyz"); COUNT("value label for 1.0");
3104 dnl Wrong width for STR14.
3105 COUNT("STR14"); >>9<<;
3106 1; COUNT("RSTUVWXYZ"); COUNT("value label for `RSTUVWXYZ'");
3108 dnl Wrong width for value.
3110 1; COUNT(>>"RSTUVWXYZ"<<); COUNT("value label for `RSTUVWXYZ'");
3112 dnl Duplicate value label.
3113 COUNT("STR14"); 14; 2;
3114 COUNT("abcdefghijklmn"); COUNT("value label for `abcdefghijklmn'");
3115 >>COUNT("abcdefghijklmn"); COUNT("another value label for `abcdefghijklmn'")<<;
3118 dnl Dictionary termination record.
3122 "be cf2e883dadb00e2c6404c09ea0a4e388" \
3123 "le 89c340faf0a7e4a8c834f9687684c091"
3126 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
3128 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
3130 AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
3131 warning: `sys-file.sav' near offset 0x130: Ignoring long string value record for unknown variable STR9.
3133 warning: `sys-file.sav' near offset 0x16c: Ignoring long string value record for numeric variable NUM1.
3135 warning: `sys-file.sav' near offset 0x19b: Ignoring long string value record for variable STR14 because the record's width (9) does not match the variable's width (14).
3137 "warning: `sys-file.sav' near offset 0x1dc: Ignoring long string value 0 for variable STR14, with width 14, that has bad value width 9."
3139 warning: `sys-file.sav' near offset 0x289: Duplicate value label for `abcdefghijklmn' on STR14.
3144 AT_SETUP([fewer data records than indicated by file header])
3145 AT_KEYWORDS([sack synthetic system file negative])
3146 AT_DATA([sys-file.sack], [dnl
3148 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
3149 2; 2; 0; 0; >>5<<; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
3151 dnl Numeric variables.
3152 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
3153 2; 0; 0; 0; 0x050800 *2; s8 "NUM2";
3161 dnl Missing record here.
3164 "be 6ee097c3934055d0c4564641636f4b5a" \
3165 "le ae03fe1b888091d6938b5a436d44ac60"
3168 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
3170 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
3173 AT_CHECK([pspp -O format=csv sys-file.sps], [1],
3174 [error: Error reading case from file `sys-file.sav'.
3183 sys-file.sps:2: error: Stopping syntax file processing here to avoid a cascade of dependent command failures.
3188 AT_SETUP([partial data record between variables])
3189 AT_KEYWORDS([sack synthetic system file negative])
3190 AT_DATA([sys-file.sack], [dnl
3192 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
3193 2; 2; 0; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
3195 dnl Numeric variables.
3196 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
3197 2; 0; 0; 0; 0x050800 *2; s8 "NUM2";
3205 "be 4bcc085d7d8f0f09c6a4ba8064ffe61c" \
3206 "le 7387fc5edd2740aff92c30ca688d6d9b"
3209 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
3211 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
3214 AT_CHECK([pspp -O format=csv sys-file.sps], [1],
3215 [error: `sys-file.sav' near offset 0x110: File ends in partial case.
3221 sys-file.sps:2: error: Stopping syntax file processing here to avoid a cascade of dependent command failures.
3226 AT_SETUP([partial data record within long string])
3227 AT_KEYWORDS([sack synthetic system file negative])
3228 AT_DATA([sys-file.sack], [dnl
3230 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
3231 2; 2; 0; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
3233 dnl Numeric variables.
3234 2; 14; 0; 0; 0x010e00 *2; s8 "STR14";
3235 2; -1; 0; 0; 0; 0; s8 "";
3239 s14 "one data item";
3243 "be 4a9e84f9e679afb7bb71acd0bb7eab89" \
3244 "le 30752606f14ee2deec2854e8e6de4b3b"
3247 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
3249 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
3252 AT_CHECK([pspp -O format=csv sys-file.sps], [1],
3253 [error: `sys-file.sav' near offset 0x10e: Unexpected end of file.
3259 sys-file.sps:2: error: Stopping syntax file processing here to avoid a cascade of dependent command failures.
3264 AT_SETUP([partial compressed data record])
3265 AT_KEYWORDS([sack synthetic system file positive])
3266 AT_DATA([sys-file.sack], [dnl
3268 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
3270 6; dnl Nominal case size
3273 -1; dnl Unspecified number of cases.
3275 "01 Jan 11"; "20:53:52"; s64 "PSPP synthetic test file";
3278 dnl Numeric variables.
3279 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
3280 2; 0; 0; 0; 0x050800 *2; s8 "NUM2";
3282 dnl String variable.
3283 2; 4; 0; 0; 0x010400 *2; s8 "STR4";
3284 2; 8; 0; 0; 0x010800 *2; s8 "STR8";
3285 2; 15; 0; 0; 0x010f00 *2; s8 "STR15";
3286 2; -1; 0; 0; 0; 0; s8 "";
3288 dnl Dictionary termination record.
3291 dnl Compressed data.
3292 i8 1 100 254 253 254 253; i8 255 251; "abcdefgh"; s8 "0123";
3295 "be ef01b16e2e397d979a3a7d20725ebe6d" \
3296 "le 51f7a61e9bc68992469d16c55d6ecd88"
3299 AT_CHECK_UNQUOTED([sack --$[1] sys-file.sack > sys-file.sav], [0], [], [$[2]
3301 AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
3304 AT_CHECK([pspp -O format=csv sys-file.sps], [1],
3305 [error: `sys-file.sav' near offset 0x190: File ends in partial case.
3308 num1,num2,str4,str8,str15
3309 -99,0,,abcdefgh,0123 @&t@
3311 sys-file.sps:2: error: Stopping syntax file processing here to avoid a cascade of dependent command failures.