X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2Flanguage%2Fdata-io%2Fget-data-txt.at;h=950c2ad7a96cfc66ae231c434dbc60ab18c1fce8;hb=fb429d05d61e959fcd4a0116e9b4327967845f9d;hp=4418974701233658dd5531635391977994eba4b9;hpb=fe8dc2171009e90d2335f159d05f7e6660e24780;p=pspp diff --git a/tests/language/data-io/get-data-txt.at b/tests/language/data-io/get-data-txt.at index 4418974701..950c2ad7a9 100644 --- a/tests/language/data-io/get-data-txt.at +++ b/tests/language/data-io/get-data-txt.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([GET DATA /TYPE=TXT]) dnl These tests exercise features of GET DATA /TYPE=TXT that @@ -36,9 +52,12 @@ begin data. ,4,,5 6 7, + 8 9 0,1,,, + ,,,, + 2 3 @@ -47,7 +66,7 @@ begin data. end data. list. ]) -AT_CHECK([pspp -o pspp.csv get-data.sps]) +AT_CHECK([pspp -o pspp.csv get-data.sps], [0], [ignore]) AT_CHECK([cat pspp.csv], [0], [dnl Table: Data List A,B,C,D @@ -69,21 +88,21 @@ begin data. # These records # are skipped. 1 2 3 4 -1 2 3 @&t@ +1 2 3 4 @&t@ 1 2 4 -1 2 @&t@ +1 2 4 @&t@ 1 3 4 -1 3 @&t@ +1 3 4 @&t@ 1 4 -1 @&t@ +1 4 @&t@ 2 3 4 - 2 3 @&t@ + 2 3 4 @&t@ 2 4 - 2 @&t@ + 2 4 @&t@ 3 4 - 3 @&t@ + 3 4 @&t@ 4 - @&t@ + 4 @&t@ end data. list. ]) @@ -92,21 +111,21 @@ AT_CHECK([cat pspp.csv], [0], [dnl Table: Data List A,B,C,D 1.00,2.00,3.00,4.00 -1.00,2.00,3.00,. @&t@ +1.00,2.00,3.00,4.00 +1.00,2.00,. ,4.00 1.00,2.00,. ,4.00 -1.00,2.00,. ,. @&t@ 1.00,. ,3.00,4.00 -1.00,. ,3.00,. @&t@ +1.00,. ,3.00,4.00 +1.00,. ,. ,4.00 1.00,. ,. ,4.00 -1.00,. ,. ,. @&t@ . ,2.00,3.00,4.00 -. ,2.00,3.00,. @&t@ +. ,2.00,3.00,4.00 . ,2.00,. ,4.00 -. ,2.00,. ,. @&t@ +. ,2.00,. ,4.00 +. ,. ,3.00,4.00 . ,. ,3.00,4.00 -. ,. ,3.00,. @&t@ . ,. ,. ,4.00 -. ,. ,. ,. @&t@ +. ,. ,. ,4.00 ]) AT_CLEANUP @@ -142,7 +161,7 @@ AT_CLEANUP AT_SETUP([GET DATA /TYPE=TXT with empty trailing record]) AT_DATA([get-data.sps], [dnl get data /type=txt /file=inline /arrangement=fixed /fixcase=2 /variables= - /1 x 0 f + /1 x 0 f y 1 f. begin data. 12 @@ -194,10 +213,10 @@ AT_CHECK([pspp -o pspp.csv passwd.sps]) AT_CHECK([cat pspp.csv], [0], [dnl Table: Data List username,password,uid,gid,gecos,home,shell -root ,$1$nyeSP5gD$pDq/ ,0,0,",,, ",/root ,/bin/bash @&t@ -blp ,$1$BrP/pFg4$g7OG ,1000,1000,"Ben Pfaff,,, ",/home/blp ,/bin/bash @&t@ -john ,$1$JBuq/Fioq$g4A ,1001,1001,"John Darrington,,, ",/home/john ,/bin/bash @&t@ -jhs ,$1$D3li4hPL$88X1 ,1002,1002,"Jason Stover,,, ",/home/jhs ,/bin/csh @&t@ +root,$1$nyeSP5gD$pDq/,0,0,",,,",/root,/bin/bash +blp,$1$BrP/pFg4$g7OG,1000,1000,"Ben Pfaff,,,",/home/blp,/bin/bash +john,$1$JBuq/Fioq$g4A,1001,1001,"John Darrington,,,",/home/john,/bin/bash +jhs,$1$D3li4hPL$88X1,1002,1002,"Jason Stover,,,",/home/jhs,/bin/csh ]) AT_CLEANUP @@ -234,17 +253,17 @@ AT_CHECK([pspp -o pspp.csv cars.sps]) AT_CHECK([cat pspp.csv], [0], [dnl Table: Data List model,year,mileage,price,type,age -Civic ,2002,29883,15900,Si ,2 -Civic ,2003,13415,15900,EX ,1 -Civic ,1992,107000,3800,n/a ,12 -Accord ,2002,26613,17900,EX ,1 +Civic,2002,29883,15900,Si,2 +Civic,2003,13415,15900,EX,1 +Civic,1992,107000,3800,n/a,12 +Accord,2002,26613,17900,EX,1 Table: Data List model,year,mileage,price,type,age -Civic ,2002,29883,15900,Si ,2 -Civic ,2003,13415,15900,EX ,1 -Civic ,1992,107000,3800,n/a ,12 -Accord ,2002,26613,17900,EX ,1 +Civic,2002,29883,15900,Si,2 +Civic,2003,13415,15900,EX,1 +Civic,1992,107000,3800,n/a,12 +Accord,2002,26613,17900,EX,1 ]) AT_CLEANUP @@ -260,7 +279,7 @@ AT_DATA([pets.data], [dnl "Gilly", , White, "10 Apr 2007", 10, "3""", "Guinea Pig" ]) AT_DATA([pets.sps], [dnl -GET DATA /TYPE=TXT /FILE='pets.data' /DELIMITERS=', ' /QUALIFIER='''"' /ESCAPE +GET DATA /TYPE=TXT /FILE='pets.data' /DELIMITERS=', ' /QUALIFIER='''"' /FIRSTCASE=3 /VARIABLES=name A10 age F3.1 @@ -275,296 +294,124 @@ AT_CHECK([pspp -o pspp.csv pets.sps]) AT_CHECK([cat pspp.csv], [0], [dnl Table: Data List name,age,color,received,price,height,type -Rover ,4.5,Brown,12.02.2004,80.00,"1'4"" ",Dog @&t@ -Charlie ,. ,Gold ,05.04.2007,12.30,"3"" ",Fish @&t@ -Molly ,2.0,Black,12.12.2006,25.00,"5"" ",Cat @&t@ -Gilly ,. ,White,10.04.2007,10.00,"3"" ",Guinea Pig +Rover,4.5,Brown,12.02.2004,80.00,"1'4""",Dog +Charlie,. ,Gold,05.04.2007,12.30,"3""",Fish +Molly,2.0,Black,12.12.2006,25.00,"5""",Cat +Gilly,. ,White,10.04.2007,10.00,"3""",Guinea Pig ]) AT_CLEANUP dnl " (fixes Emacs highlighting) -AT_SETUP([GET DATA /TYPE=TXT with IMPORTCASES]) -AT_CHECK([$PERL > test.data <<'EOF' -for ($i = 1; $i <= 100; $i++) { - printf "%02d\n", $i; -} -EOF -]) +AT_SETUP([GET DATA /TYPE=TXT with IMPORTCASE]) +AT_CHECK([$PYTHON3 > test.data -c ' +for i in range(1, 101): + print("%02d" % i) +']) AT_DATA([get-data.sps], [dnl -get data /type=txt /file='test.data' /importcases=first 10 /variables x f8.0. -list. +get data /type=txt /file='test.data' /importcase=first 10 /variables x f8.0. +get data /type=txt /file='test.data' /importcase=percent 1 /variables x f8.0. +get data /type=txt /file='test.data' /importcase=percent 35 /variables x f8.0. +get data /type=txt /file='test.data' /importcase=percent 95 /variables x f8.0. +get data /type=txt /file='test.data' /importcase=percent 100 /variables x f8.0. +]) +AT_CHECK([pspp -O format=csv get-data.sps], [0], [dnl +get-data.sps:1: warning: GET DATA: Ignoring obsolete IMPORTCASES subcommand. (N OF CASES or SAMPLE may be used to substitute.) -get data /type=txt /file='test.data' /importcases=percent 1 /variables x f8.0. -list. +get-data.sps:2: warning: GET DATA: Ignoring obsolete IMPORTCASES subcommand. (N OF CASES or SAMPLE may be used to substitute.) -get data /type=txt /file='test.data' /importcases=percent 35 /variables x f8.0. -list. +get-data.sps:3: warning: GET DATA: Ignoring obsolete IMPORTCASES subcommand. (N OF CASES or SAMPLE may be used to substitute.) -get data /type=txt /file='test.data' /importcases=percent 95 /variables x f8.0. -list. +get-data.sps:4: warning: GET DATA: Ignoring obsolete IMPORTCASES subcommand. (N OF CASES or SAMPLE may be used to substitute.) -get data /type=txt /file='test.data' /importcases=percent 100 /variables x f8.0. +get-data.sps:5: warning: GET DATA: Ignoring obsolete IMPORTCASES subcommand. (N OF CASES or SAMPLE may be used to substitute.) +]) +AT_CLEANUP + +AT_SETUP([GET DATA /TYPE=TXT with ENCODING subcommand]) +AT_CHECK([i18n-test supports_encodings UTF-8 ISO-8859-1]) +AT_DATA([get-data.sps], [dnl +set locale='utf-8' +get data /type=txt /file='data.txt' /encoding='iso-8859-1' + /delimiters="," /variables=s a8. list. ]) +printf '\351' > data.txt # é in ISO-8859-1. AT_CHECK([pspp -o pspp.csv get-data.sps]) AT_CHECK([cat pspp.csv], [0], [dnl Table: Data List -x -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 +s +é +]) +AT_CLEANUP -Table: Data List -x -1 -2 -Table: Data List -x -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 +AT_SETUP([GET DATA /TYPE= truncated]) -Table: Data List -x -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 +AT_DATA([x.sps], [dnl +GET DATA /TYPE= +. +]) + +AT_CHECK([pspp -o pspp.csv x.sps], [1], [ignore]) + +AT_CLEANUP + + + +AT_SETUP([GET DATA /TYPE=txt bug]) + +AT_DATA([thing.txt], [dnl +foo, title, last +1, this, 1 +2, that, 2 +3, other, 3 +]) + +AT_DATA([x.sps], [dnl +GET DATA + /TYPE=TXT + /FILE="thing.txt" + /ARRANGEMENT=DELIMITED + /DELCASE=LINE + /FIRSTCASE=2 + /DELIMITERS="," + /VARIABLES=foo F1.0 + title A8 + last F2.0. + +list. +]) + +AT_CHECK([pspp -O format=csv x.sps], [0], [dnl Table: Data List -x -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 +foo,title,last +1,this,1 +2,that,2 +3,other,3 ]) + AT_CLEANUP + + + +AT_SETUP([GET DATA /TYPE=txt another bug]) + +AT_DATA([crash.sps], [dnl +get data /type=txt /file=inline /variables=C f7.2 D f7>2. +begin data. +3 2 +4 2 +5 2 +end data. +]) + +AT_CHECK([pspp -O format=csv crash.sps], [1], [ignore]) + +AT_CLEANUP + + + + + +