X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2Flanguage%2Fdata-io%2Flist.at;h=ccf03d66ff2d08025e33e1982debafc7d97bcea3;hb=53f132c7a4afb6bdf7335b5ce4df3c8b7aab8dbe;hp=f8b3bb5c3bb6323eda932692a6a81aed6a68003c;hpb=a258e53c63a08b0ec48aea8f03808eb651729424;p=pspp diff --git a/tests/language/data-io/list.at b/tests/language/data-io/list.at index f8b3bb5c3b..ccf03d66ff 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]) @@ -84,6 +100,50 @@ Case Number,avar,bvar ]) 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 +Variable,Value,Label +s,a, + +Table: Data List +n +1.00 +2.00 +3.00 + +Variable,Value,Label +s,b, + +Table: Data List +n +1.00 + +Variable,Value,Label +s,c, + +Table: Data List +n +4.00 +5.00 +]) +AT_CLEANUP + AT_SETUP([LIST lots of variables]) AT_DATA([data.txt], [dnl 767532466348513789073483106409 @@ -140,17 +200,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 +255,30 @@ 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,, +Variable,Description,Position +foo,Format: A2000,1 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