X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2Flanguage%2Fdata-io%2Flist.at;h=5dd3af42bcff989f0a096aaf19b65ab277c4578f;hb=0200682d517fd4b7cfc4e333378de03bcf74be43;hp=f8b3bb5c3bb6323eda932692a6a81aed6a68003c;hpb=42be6b12cf0cd00bbc726f101d9e1c6fef032f83;p=pspp diff --git a/tests/language/data-io/list.at b/tests/language/data-io/list.at index f8b3bb5c3b..5dd3af42bc 100644 --- a/tests/language/data-io/list.at +++ b/tests/language/data-io/list.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([LIST]) AT_SETUP([LIST plain cases]) @@ -23,8 +39,8 @@ AT_CHECK([pspp -o pspp.csv list.sps]) AT_CHECK([cat pspp.csv], [0], [dnl Table: Reading 1 record from `data.txt'. Variable,Record,Columns,Format -avar,1,1- 5,F5.0 -bvar,1,6- 10,F5.0 +avar,1,1-5,F5.0 +bvar,1,6-10,F5.0 Table: Data List avar,bvar @@ -60,13 +76,14 @@ AT_DATA([list.sps], [dnl DATA LIST FILE='data.txt'/avar 1-5 bvar 6-10. WEIGHT BY bvar. LIST/FORMAT NUMBERED. +LIST/FORMAT NUMBERED/CASES FROM 2 TO 9 BY 2. ]) AT_CHECK([pspp -o pspp.csv list.sps]) AT_CHECK([cat pspp.csv], [0], [dnl Table: Reading 1 record from `data.txt'. Variable,Record,Columns,Format -avar,1,1- 5,F5.0 -bvar,1,6- 10,F5.0 +avar,1,1-5,F5.0 +bvar,1,6-10,F5.0 Table: Data List Case Number,avar,bvar @@ -81,6 +98,60 @@ Case Number,avar,bvar 9,26,30 10,27,21 11,28,23 + +Table: Data List +Case Number,avar,bvar +2,19,7 +4,21,76 +6,23,58 +8,25,38 +]) +AT_CLEANUP + +# Checks for a crash when LIST did not include the variables from SPLIT +# FILE in the same positions (bug #30684). +AT_SETUP([LIST with split file]) +AT_DATA([data.txt], [dnl +a 1 +a 2 +a 3 +b 1 +c 4 +c 5 +]) +AT_DATA([list.sps], [dnl +DATA LIST LIST NOTABLE FILE='data.txt'/s (a1) n. +SPLIT FILE BY s. +LIST n. +]) +AT_CHECK([pspp -o pspp.csv list.sps]) +AT_CHECK([cat pspp.csv], [0], [dnl +Table: Split Values +Variable,Value +s,a + +Table: Data List +n +1.00 +2.00 +3.00 + +Table: Split Values +Variable,Value +s,b + +Table: Data List +n +1.00 + +Table: Split Values +Variable,Value +s,c + +Table: Data List +n +4.00 +5.00 ]) AT_CLEANUP @@ -140,17 +211,39 @@ AT_DATA([data.txt], [dnl ]) AT_DATA([list.sps], [dnl DATA LIST FILE='data.txt' NOTABLE/x0 to x9 1-10. -LIST /CASES=FROM 1 TO 25 BY 5. +LIST /CASES=FROM 6 TO 20 BY 5. +LIST /CASES=4. +LIST /CASES=BY 10. +LIST /CASES=FROM 25. +LIST /CASES=FROM 26. ]) AT_CHECK([pspp -o pspp.csv list.sps]) AT_CHECK([cat pspp.csv], [0], [dnl Table: Data List x0,x1,x2,x3,x4,x5,x6,x7,x8,x9 -7,6,7,5,3,2,4,6,6,3 2,3,9,9,6,1,9,6,7,0 2,2,8,4,5,3,4,0,8,3 6,8,2,1,5,6,7,7,4,6 + +Table: Data List +x0,x1,x2,x3,x4,x5,x6,x7,x8,x9 +7,6,7,5,3,2,4,6,6,3 +8,8,8,6,9,3,0,8,9,4 +4,9,2,6,1,1,5,0,7,9 +8,1,9,8,4,8,8,9,2,0 + +Table: Data List +x0,x1,x2,x3,x4,x5,x6,x7,x8,x9 +7,6,7,5,3,2,4,6,6,3 +2,2,8,4,5,3,4,0,8,3 7,9,7,0,6,2,0,0,9,1 + +Table: Data List +x0,x1,x2,x3,x4,x5,x6,x7,x8,x9 +0,7,0,0,4,8,9,5,2,4 + +Table: Data List +x0,x1,x2,x3,x4,x5,x6,x7,x8,x9 ]) AT_CLEANUP @@ -173,14 +266,62 @@ LIST. ]) AT_CHECK([pspp -o pspp.csv list.sps]) AT_CHECK([cat pspp.csv], [0], [dnl -Variable,Description,,Position -foo,Format: A2000,,1 -,Measure: Nominal,, -,Display Alignment: Left,, -,Display Width: 32,, +Table: Variables +Name,Position,Print Format,Write Format +foo,1,A2000,A2000 Table: Data List foo AxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxZ ]) AT_CLEANUP + + + +AT_SETUP([LIST crash on invalid input]) + +AT_DATA([list.sps], [dnl +DATA LIST LIST /`$b. +BEGIN DATA. +1 3 +4 6 +7 9 +END DATA. + +LIST. +]) + +AT_CHECK([pspp -o pspp.csv list.sps], [1], [ignore]) + +AT_CLEANUP + +dnl This is an example from doc/tutorial.texi +dnl So if the results of this have to be changed in any way, +dnl make sure to update that file. +AT_SETUP([LIST tutorial example]) +AT_DATA([list.sps], [dnl +data list list /forename (A12) height. +begin data. +Ahmed 188 +Bertram 167 +Catherine 134.231 +David 109.1 +end data + +list /format=numbered. +]) +AT_CHECK([pspp -o pspp.csv -o pspp.txt list.sps]) +AT_CHECK([cat pspp.csv], [0], [dnl +Table: Reading free-form data from INLINE. +Variable,Format +forename,A12 +height,F8.0 + +Table: Data List +Case Number,forename,height +1,Ahmed,188.00 +2,Bertram,167.00 +3,Catherine,134.23 +4,David,109.10 +]) +AT_CLEANUP