Automatically infer variables' measurement level from format and data.
[pspp] / tests / data / sys-file-reader.at
index d257c8ad262986f6bfc0604d3da644dc8d392902..f4466317637a5d2ef5871fce96561e7575d0e987 100644 (file)
@@ -152,16 +152,16 @@ Label,PSPP synthetic test file: ôõöø
 
 Table: Variables
 Name,Position,Label,Measurement Level,Role,Width,Alignment,Print Format,Write Format,Missing Values
-num1,1,,Scale,Input,8,Right,F8.0,F8.0,
-num2,2,Numeric variable 2's label (ùúû),Scale,Input,8,Right,F8.0,F8.0,
-num3,3,,Scale,Input,8,Right,F8.0,F8.0,1
-num4,4,Another numeric variable label,Scale,Input,8,Right,F8.0,F8.0,1
-num5,5,,Scale,Input,8,Right,F8.0,F8.0,1; 2
-num6,6,,Scale,Input,8,Right,F8.0,F8.0,1; 2; 3
-num7,7,,Scale,Input,8,Right,F8.0,F8.0,1 THRU 3
-num8,8,,Scale,Input,8,Right,F8.0,F8.0,1 THRU 3; 5
-num9,9,,Scale,Input,8,Right,F8.0,F8.0,1 THRU HIGHEST; -5
-numàèìñò,10,,Scale,Input,8,Right,F8.0,F8.0,LOWEST THRU 1; 5
+num1,1,,Unknown,Input,8,Right,F8.0,F8.0,
+num2,2,Numeric variable 2's label (ùúû),Unknown,Input,8,Right,F8.0,F8.0,
+num3,3,,Unknown,Input,8,Right,F8.0,F8.0,1
+num4,4,Another numeric variable label,Unknown,Input,8,Right,F8.0,F8.0,1
+num5,5,,Unknown,Input,8,Right,F8.0,F8.0,1; 2
+num6,6,,Unknown,Input,8,Right,F8.0,F8.0,1; 2; 3
+num7,7,,Unknown,Input,8,Right,F8.0,F8.0,1 THRU 3
+num8,8,,Unknown,Input,8,Right,F8.0,F8.0,1 THRU 3; 5
+num9,9,,Unknown,Input,8,Right,F8.0,F8.0,1 THRU HIGHEST; -5
+numàèìñò,10,,Unknown,Input,8,Right,F8.0,F8.0,LOWEST THRU 1; 5
 str1,11,,Nominal,Input,4,Left,A4,A4,
 str2,12,String variable 2's label,Nominal,Input,4,Left,A4,A4,
 str3,13,,Nominal,Input,4,Left,A4,A4,"""MISS"""
@@ -221,9 +221,9 @@ LIST.
   AT_CHECK([pspp -o pspp.csv sys-file.sps])
   AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Variables
-Name,Position,Label,Measurement Level,Role,Width,Alignment,Print Format,Write Format,Missing Values
-num1,1,,Scale,Input,8,Right,F8.0,F8.0,
-num2,2,Numeric variable 2's label,Scale,Input,8,Right,F8.0,F8.0,
+Name,Position,Label,Measurement Level,Role,Width,Alignment,Print Format,Write Format
+num1,1,,Unknown,Input,8,Right,F8.0,F8.0
+num2,2,Numeric variable 2's label,Unknown,Input,8,Right,F8.0,F8.0
 
 Table: Data List
 num1,num2
@@ -275,9 +275,9 @@ LIST.
   AT_CHECK([pspp -o pspp.csv sys-file.sps])
   AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Variables
-Name,Position,Label,Measurement Level,Role,Width,Alignment,Print Format,Write Format,Missing Values
-num1,1,,Scale,Input,8,Right,F8.0,F8.0,
-num2,2,Numeric variable 2's label,Scale,Input,8,Right,F8.0,F8.0,
+Name,Position,Label,Measurement Level,Role,Width,Alignment,Print Format,Write Format
+num1,1,,Unknown,Input,8,Right,F8.0,F8.0
+num2,2,Numeric variable 2's label,Unknown,Input,8,Right,F8.0,F8.0
 
 Table: Data List
 num1,num2
@@ -408,24 +408,24 @@ DISPLAY DICTIONARY.
   AT_CHECK([pspp -o pspp.csv sys-file.sps])
   AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Variables
-Name,Position,Label,Measurement Level,Role,Width,Alignment,Print Format,Write Format,Missing Values
-num1,1,,Scale,Input,8,Right,F8.0,F8.0,
-num2,2,,Scale,Input,8,Right,F8.0,F8.0,
-num3,3,,Scale,Input,8,Right,F8.0,F8.0,
-num4,4,,Scale,Input,8,Right,F8.0,F8.0,
-num5,5,,Scale,Input,8,Right,F8.0,F8.0,
-str1,6,,Nominal,Input,1,Left,A1,A1,
-str2,7,,Nominal,Input,2,Left,A2,A2,
-str3,8,,Nominal,Input,3,Left,A3,A3,
-str4,9,,Nominal,Input,4,Left,A4,A4,
-str5,10,,Nominal,Input,4,Left,A4,A4,
-str6,11,,Nominal,Input,6,Left,A6,A6,
-str7,12,,Nominal,Input,7,Left,A7,A7,
-str8,13,,Nominal,Input,8,Left,A8,A8,
-str9ж,14,,Nominal,Input,9,Left,A9,A9,
-str12,15,,Nominal,Input,12,Left,A12,A12,
-str16,16,,Nominal,Input,16,Left,A16,A16,
-str17,17,,Nominal,Input,17,Left,A17,A17,
+Name,Position,Measurement Level,Role,Width,Alignment,Print Format,Write Format
+num1,1,Unknown,Input,8,Right,F8.0,F8.0
+num2,2,Unknown,Input,8,Right,F8.0,F8.0
+num3,3,Unknown,Input,8,Right,F8.0,F8.0
+num4,4,Unknown,Input,8,Right,F8.0,F8.0
+num5,5,Unknown,Input,8,Right,F8.0,F8.0
+str1,6,Nominal,Input,1,Left,A1,A1
+str2,7,Nominal,Input,2,Left,A2,A2
+str3,8,Nominal,Input,3,Left,A3,A3
+str4,9,Nominal,Input,4,Left,A4,A4
+str5,10,Nominal,Input,4,Left,A4,A4
+str6,11,Nominal,Input,6,Left,A6,A6
+str7,12,Nominal,Input,7,Left,A7,A7
+str8,13,Nominal,Input,8,Left,A8,A8
+str9ж,14,Nominal,Input,9,Left,A9,A9
+str12,15,Nominal,Input,12,Left,A12,A12
+str16,16,Nominal,Input,16,Left,A16,A16
+str17,17,Nominal,Input,17,Left,A17,A17
 
 Table: Value Labels
 Variable Value,,Label
@@ -699,7 +699,7 @@ dnl Character encoding record.
 dnl Dictionary termination record.
 999; 0;
 ])
-for variant in be le; do
+for variant in be; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [dnl
 SYSFILE INFO FILE='sys-file.sav'.
@@ -784,19 +784,19 @@ DISPLAY DICTIONARY.
   AT_CHECK([pspp -o pspp.csv sys-file.sps])
   AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Variables
-Name,Position,Label,Measurement Level,Role,Width,Alignment,Print Format,Write Format,Missing Values
-a,1,,Nominal,Input,8,Left,F8.0,F8.0,
-b,2,,Ordinal,Input,8,Left,F8.0,F8.0,
-c,3,,Scale,Input,8,Left,F8.0,F8.0,
-d,4,,Nominal,Input,8,Right,F8.0,F8.0,
-h,5,,Ordinal,Input,3,Right,A3,A3,
-i,6,,Scale,Input,3,Right,A3,A3,
-j,7,,Nominal,Input,3,Center,A3,A3,
-k,8,,Ordinal,Input,3,Center,A3,A3,
-l,9,,Scale,Input,9,Center,A9,A9,
-m,10,,Nominal,Input,10,Left,A10,A10,
-n,11,,Nominal,Input,17,Right,A17,A17,
-o,12,,Nominal,Input,25,Center,A25,A25,
+Name,Position,Measurement Level,Role,Width,Alignment,Print Format,Write Format
+a,1,Nominal,Input,8,Left,F8.0,F8.0
+b,2,Ordinal,Input,8,Left,F8.0,F8.0
+c,3,Scale,Input,8,Left,F8.0,F8.0
+d,4,Nominal,Input,8,Right,F8.0,F8.0
+h,5,Ordinal,Input,3,Right,A3,A3
+i,6,Scale,Input,3,Right,A3,A3
+j,7,Nominal,Input,3,Center,A3,A3
+k,8,Ordinal,Input,3,Center,A3,A3
+l,9,Scale,Input,9,Center,A9,A9
+m,10,Nominal,Input,10,Left,A10,A10
+n,11,Nominal,Input,17,Right,A17,A17
+o,12,Nominal,Input,25,Center,A25,A25
 ])
 done
 AT_CLEANUP
@@ -867,19 +867,19 @@ DISPLAY DICTIONARY.
   AT_CHECK([pspp -o pspp.csv sys-file.sps])
   AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Variables
-Name,Position,Label,Measurement Level,Role,Width,Alignment,Print Format,Write Format,Missing Values
-a,1,,Nominal,Input,1,Left,F8.0,F8.0,
-b,2,,Ordinal,Input,2,Left,F8.0,F8.0,
-c,3,,Scale,Input,3,Left,F8.0,F8.0,
-d,4,,Nominal,Input,4,Right,F8.0,F8.0,
-h,5,,Ordinal,Input,5,Right,A3,A3,
-i,6,,Scale,Input,6,Right,A3,A3,
-j,7,,Nominal,Input,7,Center,A3,A3,
-k,8,,Ordinal,Input,8,Center,A3,A3,
-l,9,,Scale,Input,9,Center,A9,A9,
-m,10,,Nominal,Input,10,Left,A10,A10,
-n,11,,Nominal,Input,11,Right,A17,A17,
-o,12,,Nominal,Input,12,Center,A25,A25,
+Name,Position,Measurement Level,Role,Width,Alignment,Print Format,Write Format
+a,1,Nominal,Input,1,Left,F8.0,F8.0
+b,2,Ordinal,Input,2,Left,F8.0,F8.0
+c,3,Scale,Input,3,Left,F8.0,F8.0
+d,4,Nominal,Input,4,Right,F8.0,F8.0
+h,5,Ordinal,Input,5,Right,A3,A3
+i,6,Scale,Input,6,Right,A3,A3
+j,7,Nominal,Input,7,Center,A3,A3
+k,8,Ordinal,Input,8,Center,A3,A3
+l,9,Scale,Input,9,Center,A9,A9
+m,10,Nominal,Input,10,Left,A10,A10
+n,11,Nominal,Input,11,Right,A17,A17
+o,12,Nominal,Input,12,Center,A25,A25
 ])
 done
 AT_CLEANUP
@@ -939,14 +939,14 @@ DISPLAY DICTIONARY.
   AT_CHECK([pspp -o pspp.csv sys-file.sps])
   AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Variables
-Name,Position,Label,Measurement Level,Role,Width,Alignment,Print Format,Write Format,Missing Values
-LongVariableName1,1,,Scale,Input,8,Right,F8.0,F8.0,
-LongVariableName2,2,,Scale,Input,8,Right,F8.0,F8.0,
-LongVariableName3,3,,Scale,Input,8,Right,F8.0,F8.0,
-LongVariableName4,4,,Scale,Input,8,Right,F8.0,F8.0,
-Coördinate_X,5,,Scale,Input,8,Right,F8.0,F8.0,
-Coördinate_Y,6,,Scale,Input,8,Right,F8.0,F8.0,
-Coördinate_Z,7,,Scale,Input,8,Right,F8.0,F8.0,
+Name,Position,Measurement Level,Role,Width,Alignment,Print Format,Write Format
+LongVariableName1,1,Unknown,Input,8,Right,F8.0,F8.0
+LongVariableName2,2,Unknown,Input,8,Right,F8.0,F8.0
+LongVariableName3,3,Unknown,Input,8,Right,F8.0,F8.0
+LongVariableName4,4,Unknown,Input,8,Right,F8.0,F8.0
+Coördinate_X,5,Unknown,Input,8,Right,F8.0,F8.0
+Coördinate_Y,6,Unknown,Input,8,Right,F8.0,F8.0
+Coördinate_Z,7,Unknown,Input,8,Right,F8.0,F8.0
 ])
 done
 AT_CLEANUP
@@ -1009,9 +1009,9 @@ LIST.
   AT_CHECK([pspp -o pspp.csv sys-file.sps])
   AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Variables
-Name,Position,Label,Measurement Level,Role,Width,Alignment,Print Format,Write Format,Missing Values
-séq256,1,,Nominal,Input,32,Left,A256,A256,
-str600,2,,Nominal,Input,32,Left,A600,A600,
+Name,Position,Measurement Level,Role,Width,Alignment,Print Format,Write Format
+séq256,1,Nominal,Input,32,Left,A256,A256
+str600,2,Nominal,Input,32,Left,A600,A600
 
 Table: Data List
 séq256,str600
@@ -1104,10 +1104,10 @@ DISPLAY DICTIONARY.
   AT_CHECK([pspp -o pspp.csv sys-file.sps])
   AT_CHECK([cat pspp.csv], [0],
 [[Table: Variables
-Name,Position,Label,Measurement Level,Role,Width,Alignment,Print Format,Write Format,Missing Values
-FirstVariable,1,,Scale,Output,8,Right,F8.0,F8.0,
-SécondVariable,2,,Scale,Input,8,Right,F8.0,F8.0,
-ThirdVariable,3,,Scale,Input,8,Right,F8.0,F8.0,
+Name,Position,Measurement Level,Role,Width,Alignment,Print Format,Write Format
+FirstVariable,1,Unknown,Output,8,Right,F8.0,F8.0
+SécondVariable,2,Unknown,Input,8,Right,F8.0,F8.0
+ThirdVariable,3,Unknown,Input,8,Right,F8.0,F8.0
 ]])
 done
 AT_CLEANUP
@@ -1168,14 +1168,14 @@ warning: `sys-file.sav': Invalid role for variable x.
 warning: `sys-file.sav': Invalid role for variable x.
 
 Table: Variables
-Name,Position,Label,Measurement Level,Role,Width,Alignment,Print Format,Write Format,Missing Values
-i,1,,Scale,Input,8,Right,F8.0,F8.0,
-o,2,,Scale,Output,8,Right,F8.0,F8.0,
-b,3,,Scale,Both,8,Right,F8.0,F8.0,
-n,4,,Scale,None,8,Right,F8.0,F8.0,
-p,5,,Scale,Partition,8,Right,F8.0,F8.0,
-s,6,,Scale,Split,8,Right,F8.0,F8.0,
-x,7,,Scale,Input,8,Right,F8.0,F8.0,
+Name,Position,Measurement Level,Role,Width,Alignment,Print Format,Write Format
+i,1,Unknown,Input,8,Right,F8.0,F8.0
+o,2,Unknown,Output,8,Right,F8.0,F8.0
+b,3,Unknown,Both,8,Right,F8.0,F8.0
+n,4,Unknown,None,8,Right,F8.0,F8.0
+p,5,Unknown,Partition,8,Right,F8.0,F8.0
+s,6,Unknown,Split,8,Right,F8.0,F8.0
+x,7,Unknown,Input,8,Right,F8.0,F8.0
 ])
 done
 AT_CLEANUP
@@ -1227,12 +1227,12 @@ LIST.
   AT_CHECK([pspp -o pspp.csv sys-file.sps])
   AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Variables
-Name,Position,Label,Measurement Level,Role,Width,Alignment,Print Format,Write Format,Missing Values
-num1,1,,Scale,Input,8,Right,F8.0,F8.0,
-num2,2,,Scale,Input,8,Right,F8.0,F8.0,
-str4,3,,Nominal,Input,4,Left,A4,A4,
-str8,4,,Nominal,Input,8,Left,A8,A8,
-str15,5,,Nominal,Input,15,Left,A15,A15,
+Name,Position,Measurement Level,Role,Width,Alignment,Print Format,Write Format
+num1,1,Unknown,Input,8,Right,F8.0,F8.0
+num2,2,Unknown,Input,8,Right,F8.0,F8.0
+str4,3,Nominal,Input,4,Left,A4,A4
+str8,4,Nominal,Input,8,Left,A8,A8
+str15,5,Nominal,Input,15,Left,A15,A15
 
 Table: Data List
 num1,num2,str4,str8,str15
@@ -1290,12 +1290,12 @@ LIST.
   AT_CHECK([pspp -o pspp.csv sys-file.sps], [0])
   AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Variables
-Name,Position,Label,Measurement Level,Role,Width,Alignment,Print Format,Write Format,Missing Values
-num1,1,,Scale,Input,8,Right,F8.0,F8.0,
-num2,2,,Scale,Input,8,Right,F8.0,F8.0,
-str4,3,,Nominal,Input,4,Left,A4,A4,
-str8,4,,Nominal,Input,8,Left,A8,A8,
-str15,5,,Nominal,Input,15,Left,A15,A15,
+Name,Position,Measurement Level,Role,Width,Alignment,Print Format,Write Format
+num1,1,Unknown,Input,8,Right,F8.0,F8.0
+num2,2,Unknown,Input,8,Right,F8.0,F8.0
+str4,3,Nominal,Input,4,Left,A4,A4
+str8,4,Nominal,Input,8,Left,A8,A8
+str15,5,Nominal,Input,15,Left,A15,A15
 
 Table: Data List
 num1,num2,str4,str8,str15
@@ -1357,12 +1357,12 @@ LIST.
 "warning: `sys-file.sav' near offset 0x54: Compression bias is not the usual value of 100, or system file uses unrecognized floating-point format."
 
 Table: Variables
-Name,Position,Label,Measurement Level,Role,Width,Alignment,Print Format,Write Format,Missing Values
-num1,1,,Scale,Input,8,Right,F8.0,F8.0,
-num2,2,,Scale,Input,8,Right,F8.0,F8.0,
-str4,3,,Nominal,Input,4,Left,A4,A4,
-str8,4,,Nominal,Input,8,Left,A8,A8,
-str15,5,,Nominal,Input,15,Left,A15,A15,
+Name,Position,Measurement Level,Role,Width,Alignment,Print Format,Write Format
+num1,1,Unknown,Input,8,Right,F8.0,F8.0
+num2,2,Unknown,Input,8,Right,F8.0,F8.0
+str4,3,Nominal,Input,4,Left,A4,A4
+str8,4,Nominal,Input,8,Left,A8,A8
+str15,5,Nominal,Input,15,Left,A15,A15
 
 Table: Data List
 num1,num2,str4,str8,str15
@@ -1455,12 +1455,12 @@ LIST.
   AT_CHECK([pspp -o pspp.csv sys-file.sps])
   AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Variables
-Name,Position,Label,Measurement Level,Role,Width,Alignment,Print Format,Write Format,Missing Values
-num1,1,,Scale,Input,8,Right,F8.0,F8.0,
-num2,2,,Scale,Input,8,Right,F8.0,F8.0,
-str4,3,,Nominal,Input,4,Left,A4,A4,
-str8,4,,Nominal,Input,8,Left,A8,A8,
-str15,5,,Nominal,Input,15,Left,A15,A15,
+Name,Position,Measurement Level,Role,Width,Alignment,Print Format,Write Format
+num1,1,Unknown,Input,8,Right,F8.0,F8.0
+num2,2,Unknown,Input,8,Right,F8.0,F8.0
+str4,3,Nominal,Input,4,Left,A4,A4
+str8,4,Nominal,Input,8,Left,A8,A8
+str15,5,Nominal,Input,15,Left,A15,A15
 
 Table: Data List
 num1,num2,str4,str8,str15
@@ -1638,8 +1638,8 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [1],
-   [error: `sys-file.sav' near offset 0xb4: Invalid variable name `$UM1'.
+  AT_CHECK([pspp -O format=csv sys-file.sps], 0,
+   [warning: `sys-file.sav' near offset 0xb4: Renaming variable with invalid name `$UM1' to `VAR001'.
 ])
 done
 AT_CLEANUP
@@ -1664,8 +1664,8 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [1],
-   [error: `sys-file.sav' near offset 0xb4: Invalid variable name `TO'.
+  AT_CHECK([pspp -O format=csv sys-file.sps], 0,
+   [warning: `sys-file.sav' near offset 0xb4: Renaming variable with invalid name `TO' to `VAR001'.
 ])
 done
 AT_CLEANUP
@@ -1724,9 +1724,9 @@ DISPLAY DICTIONARY.
    [warning: `sys-file.sav' near offset 0xd4: Renaming variable with duplicate name `VAR1' to `VAR001'.
 
 Table: Variables
-Name,Position,Label,Measurement Level,Role,Width,Alignment,Print Format,Write Format,Missing Values
-var1,1,,Scale,Input,8,Right,F8.0,F8.0,
-var001,2,,Scale,Input,8,Right,F8.0,F8.0,
+Name,Position,Measurement Level,Role,Width,Alignment,Print Format,Write Format
+var1,1,Unknown,Input,8,Right,F8.0,F8.0
+var001,2,Unknown,Input,8,Right,F8.0,F8.0
 ])
 done
 AT_CLEANUP
@@ -1965,11 +1965,11 @@ warning: `sys-file.sav' near offset 0x257: Ignoring long string missing value re
 "warning: `sys-file.sav' near offset 0x270: Ignoring long string missing value 0 for variable str3, with width 11, that has bad value width 12."
 
 Table: Variables
-Name,Position,Label,Measurement Level,Role,Width,Alignment,Print Format,Write Format,Missing Values
-num1,1,,Scale,Input,8,Right,F8.0,F8.0,
-str1,2,,Nominal,Input,9,Left,A9,A9,
-str2,3,,Nominal,Input,10,Left,A10,A10,"""abcdefgh""; ""ijklmnop""; ""qrstuvwx"""
-str3,4,,Nominal,Input,11,Left,A11,A11,
+Name,Position,Measurement Level,Role,Width,Alignment,Print Format,Write Format,Missing Values
+num1,1,Unknown,Input,8,Right,F8.0,F8.0,
+str1,2,Nominal,Input,9,Left,A9,A9,
+str2,3,Nominal,Input,10,Left,A10,A10,"""abcdefgh""; ""ijklmnop""; ""qrstuvwx"""
+str3,4,Nominal,Input,11,Left,A11,A11,
 ])
 done
 AT_CLEANUP
@@ -2002,9 +2002,9 @@ DISPLAY DICTIONARY.
    [warning: `sys-file.sav' near offset 0x4c: Ignoring string variable `STR1' set as weighting variable.
 
 Table: Variables
-Name,Position,Label,Measurement Level,Role,Width,Alignment,Print Format,Write Format,Missing Values
-num1,1,,Scale,Input,8,Right,F8.0,F8.0,
-str1,2,,Nominal,Input,4,Left,A4,A4,
+Name,Position,Measurement Level,Role,Width,Alignment,Print Format,Write Format
+num1,1,Unknown,Input,8,Right,F8.0,F8.0
+str1,2,Nominal,Input,4,Left,A4,A4
 ])
 done
 AT_CLEANUP
@@ -2075,18 +2075,19 @@ dnl File header.
 "$FL2"; s60 "$(#) SPSS DATA FILE PSPP synthetic test file";
 2; 2; 1; 0; -1; 100.0; "01 Jan 11"; "20:53:52"; s64 ""; i8 0 *3;
 
-dnl Numeric variable, no label or missing values.
+dnl Numeric variables, no label or missing values.
 2; 0; 0; 0; 0x050800 *2; s8 "NUM1";
+2; 0; 0; 0; 0x050800 *2; s8 "NUM2";
 
 dnl Two document records.
 (6; 1; s80 "One line of documents") >>* 2<<;
 
-dnl Dictionary termination record.
-999; 0;
-
 dnl Character encoding record.
 7; 20; 1; 12; "windows-1252";
 
+dnl Dictionary termination record.
+999; 0;
+
 dnl Data.
 1.0;
 ])
@@ -2095,8 +2096,8 @@ for variant in be le; do
   AT_DATA([sys-file.sps], [dnl
 GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [1], [dnl
-error: `sys-file.sav' near offset 0x12c: Duplicate type 6 (document) record.
+  AT_CHECK([pspp -O format=csv sys-file.sps], 0, [dnl
+warning: `sys-file.sav' near offset 0x14c: Duplicate type 6 (document) record.
 ])
 done
 AT_CLEANUP
@@ -2246,8 +2247,8 @@ DISPLAY DICTIONARY.
 warning: \`sys-file.sav' near offset 0xd8: Integer format indicated by system file (3) differs from expected ($[2]).
 
 Table: Variables
-Name,Position,Label,Measurement Level,Role,Width,Alignment,Print Format,Write Format,Missing Values
-num1,1,,Scale,Input,8,Right,F8.0,F8.0,
+Name,Position,Measurement Level,Role,Width,Alignment,Print Format,Write Format
+num1,1,Unknown,Input,8,Right,F8.0,F8.0
 ])
 done
 AT_CLEANUP