X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2Fperl-module.at;h=175a09aae83bceab86c0f95fb72b9a3301cc614e;hb=c70c924972443e3ec2713e421815cbf959af2582;hp=20af9681da25d2ecb6ae0e39ae785eb956ae59f6;hpb=d2179c31f7346cb9f5a901a074a939c23ca71a51;p=pspp diff --git a/tests/perl-module.at b/tests/perl-module.at index 20af9681da..175a09aae8 100644 --- a/tests/perl-module.at +++ b/tests/perl-module.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([Perl module tests]) dnl This command can be used to run with the PSPP Perl module after it has been @@ -5,8 +21,13 @@ dnl built (with "make") but before it has been installed. The -I options are dnl equivalent to "use ExtUtils::testlib;" inside the Perl program, but it does dnl not need to be run with the perl-module build directory as the current dnl working directory. +dnl +dnl XXX "libtool --mode=execute" is probably better than setting +dnl LD_LIBRARY_PATH. m4_define([RUN_PERL_MODULE], [LD_LIBRARY_PATH=$abs_top_builddir/src/.libs \ + LD_PRELOAD=/usr/lib/i386-linux-gnu/libasan.so.4 \ + DYLD_LIBRARY_PATH=$abs_top_builddir/src/.libs \ $PERL -I$abs_top_builddir/perl-module/blib/arch \ -I$abs_top_builddir/perl-module/blib/lib]) @@ -56,23 +77,16 @@ DISPLAY DICTIONARY. SHOW WEIGHT. ]) AT_CHECK([pspp -O format=csv dump-dict.sps], [0], - [File label: + [File label: My Dictionary -My Dictionary - -Documents in the active file: +Documents in the active dataset: These Documents -Variable,Description,,Position -legal,Format: F9.2,,1 -,Measure: Scale,, -,Display Alignment: Right,, -,Display Width: 8,, -money,Format: DOLLAR6.2,,2 -,Measure: Scale,, -,Display Alignment: Right,, -,Display Width: 8,, +Table: Variables +Name,Position,Label,Measurement Level,Role,Width,Alignment,Print Format,Write Format,Missing Values +legal,1,,Scale,Input,8,Right,F9.2,F9.2, +money,2,,Scale,Input,8,Right,DOLLAR6.2,DOLLAR6.2, dump-dict.sps:5: note: SHOW: WEIGHT is money. ]) @@ -140,22 +154,15 @@ DISPLAY FILE LABEL. DISPLAY DOCUMENTS. LIST. ]) -AT_CHECK([pspp -O format=csv dump-dicts.sps], [0], - [Variable,Description,,Position -id,Format: F2.0,,1 -,Measure: Scale,, -,Display Alignment: Right,, -,Display Width: 8,, -name,Format: A20,,2 -,Measure: Nominal,, -,Display Alignment: Left,, -,Display Width: 20,, - -File label: +AT_CHECK([pspp -O format=csv dump-dicts.sps], [0], [dnl +Table: Variables +Name,Position,Label,Measurement Level,Role,Width,Alignment,Print Format,Write Format,Missing Values +id,1,,Scale,Input,8,Right,F2.0,F2.0, +name,2,,Nominal,Input,20,Left,A20,A20, -This is the file label +File label: This is the file label -Documents in the active file: +Documents in the active dataset: This is a document line @@ -163,21 +170,14 @@ Table: Data List id,name 34,frederick @&t@ -Variable,Description,,Position -id,Format: F2.0,,1 -,Measure: Scale,, -,Display Alignment: Right,, -,Display Width: 8,, -name,Format: A20,,2 -,Measure: Nominal,, -,Display Alignment: Left,, -,Display Width: 20,, +Table: Variables +Name,Position,Label,Measurement Level,Role,Width,Alignment,Print Format,Write Format,Missing Values +id,1,,Scale,Input,8,Right,F2.0,F2.0, +name,2,,Nominal,Input,20,Left,A20,A20, -File label: +File label: This is the file label -This is the file label - -Documents in the active file: +Documents in the active dataset: This is a document line @@ -232,36 +232,27 @@ AT_DATA([test.pl], $sysfile->close (); ]]) -AT_CHECK([RUN_PERL_MODULE test.pl]) +AT_CHECK([RUN_PERL_MODULE test.pl], [0], [], [stderr]) +cat stderr AT_DATA([dump-dict.sps], [GET FILE='testfile.sav'. DISPLAY DICTIONARY. ]) -AT_CHECK([pspp -O format=csv dump-dict.sps], [0], - [Variable,Description,,Position -integer,My Integer,,1 -,Format: F8.0,, -,Measure: Scale,, -,Display Alignment: Right,, -,Display Width: 8,, -,Missing Values: 9; 99,, -,0,Zero, -,1,Unity, -,2,Duality, -string,My String,,2 -,Format: A8,, -,Measure: Nominal,, -,Display Alignment: Left,, -,Display Width: 8,, -,"Missing Values: ""this ""; ""that """,, -,xx ,foo, -,yy ,bar, -longstring,My Long String,,3 -,Format: A9,, -,Measure: Nominal,, -,Display Alignment: Left,, -,Display Width: 9,, -,xxx ,xfoo, +AT_CHECK([pspp -O format=csv dump-dict.sps], [0], [dnl +Table: Variables +Name,Position,Label,Measurement Level,Role,Width,Alignment,Print Format,Write Format,Missing Values +integer,1,My Integer,Scale,Input,8,Right,F8.0,F8.0,9; 99 +string,2,My String,Nominal,Input,8,Left,A8,A8,"""this ""; ""that """ +longstring,3,My Long String,Nominal,Input,9,Left,A9,A9, + +Table: Value Labels +Variable,Value,Label +integer,0,Zero +,1,Unity +,2,Duality +string,xx ,foo +,yy ,bar +longstring,xxx ,xfoo ]) AT_CLEANUP @@ -357,7 +348,7 @@ AT_DATA([test.pl], my $vl = $var->get_value_labels (); print "Value Labels:\n"; - print "$_ => $vl->{$_}\n" for keys %$vl; + print "$_ => $vl->{$_}\n" for sort (keys %$vl); } while (my @c = $sf->get_next_case () ) @@ -372,16 +363,16 @@ AT_DATA([test.pl], AT_CHECK([RUN_PERL_MODULE test.pl], [0], [Variable 0 is "string", label is "A Short String Variable" Value Labels: -3333 => threes 1111 => ones 2222 => twos +3333 => threes Variable 1 is "longstring", label is "A Long String Variable" Value Labels: Variable 2 is "numeric", label is "A Numeric Variable" Value Labels: 1 => Unity -3 => Thripality 2 => Duality +3 => Thripality Variable 3 is "date", label is "A Date Variable" Value Labels: Variable 4 is "dollar", label is "A Dollar Variable" @@ -451,58 +442,40 @@ AT_CHECK([RUN_PERL_MODULE test.pl]) AT_DATA([dump-dicts.sps], [GET FILE='sample.sav'. DISPLAY DICTIONARY. +DISPLAY ATTRIBUTES LIST. GET FILE='copy.sav'. DISPLAY DICTIONARY. +DISPLAY ATTRIBUTES LIST. ]) AT_CHECK([pspp -O format=csv dump-dicts.sps], [0], - [[Variable,Description,,Position -string,A Short String Variable,,1 -,Format: A8,, -,Measure: Nominal,, -,Display Alignment: Left,, -,Display Width: 8,, -,"Missing Values: ""3333 """,, -,1111 ,ones, -,2222 ,twos, -,3333 ,threes, -longstring,A Long String Variable,,2 -,Format: A12,, -,Measure: Nominal,, -,Display Alignment: Left,, -,Display Width: 12,, -numeric,A Numeric Variable,,3 -,Format: F10.0,, -,Measure: Scale,, -,Display Alignment: Right,, -,Display Width: 8,, -,Missing Values: 9; 5; 999,, -,1,Unity, -,2,Duality, -,3,Thripality, -,Custom attributes:,, -,size,large, -,nationality,foreign, -,colour[1],blue, -,colour[2],pink, -,colour[3],violet, -date,A Date Variable,,4 -,Format: DATE11,, -,Measure: Scale,, -,Display Alignment: Right,, -,Display Width: 8,, -dollar,A Dollar Variable,,5 -,Format: DOLLAR11.2,, -,Measure: Scale,, -,Display Alignment: Right,, -,Display Width: 8,, -datetime,A Datetime Variable,,6 -,Format: DATETIME17.0,, -,Measure: Scale,, -,Display Alignment: Right,, -,Display Width: 8,, + [[Table: Variables +Name,Position,Label,Measurement Level,Role,Width,Alignment,Print Format,Write Format,Missing Values +string,1,A Short String Variable,Nominal,Input,8,Left,A8,A8,"""3333 """ +longstring,2,A Long String Variable,Nominal,Input,12,Left,A12,A12, +numeric,3,A Numeric Variable,Scale,Input,8,Right,F10.0,F10.0,9; 5; 999 +date,4,A Date Variable,Scale,Input,8,Right,DATE11,DATE11, +dollar,5,A Dollar Variable,Scale,Input,8,Right,DOLLAR11.2,DOLLAR11.2, +datetime,6,A Datetime Variable,Scale,Input,8,Right,DATETIME17.0,DATETIME17.0, + +Table: Value Labels +Variable,Value,Label +string,1111 ,ones +,2222 ,twos +,3333 ,threes +numeric,1,Unity +,2,Duality +,3,Thripality + +Table: Variable and Dataset Attributes +Variable,Name,Value +numeric,colour[1],blue +,colour[2],pink +,colour[3],violet +,nationality,foreign +,size,large Table: Data List string,longstring,numeric,date,dollar,datetime @@ -512,51 +485,31 @@ string,longstring,numeric,date,dollar,datetime . ,. ,.,.,. ,. 5555 ,Five ,5,05-MAY-2005,$5.00,05-MAY-2005 05:05 -Variable,Description,,Position -string,A Short String Variable,,1 -,Format: A8,, -,Measure: Nominal,, -,Display Alignment: Left,, -,Display Width: 8,, -,"Missing Values: ""3333 """,, -,1111 ,ones, -,2222 ,twos, -,3333 ,threes, -longstring,A Long String Variable,,2 -,Format: A12,, -,Measure: Nominal,, -,Display Alignment: Left,, -,Display Width: 12,, -numeric,A Numeric Variable,,3 -,Format: F10.0,, -,Measure: Scale,, -,Display Alignment: Right,, -,Display Width: 8,, -,Missing Values: 9; 5; 999,, -,1,Unity, -,2,Duality, -,3,Thripality, -,Custom attributes:,, -,size,large, -,nationality,foreign, -,colour[1],blue, -,colour[2],pink, -,colour[3],violet, -date,A Date Variable,,4 -,Format: DATE11,, -,Measure: Scale,, -,Display Alignment: Right,, -,Display Width: 8,, -dollar,A Dollar Variable,,5 -,Format: DOLLAR11.2,, -,Measure: Scale,, -,Display Alignment: Right,, -,Display Width: 8,, -datetime,A Datetime Variable,,6 -,Format: DATETIME17.0,, -,Measure: Scale,, -,Display Alignment: Right,, -,Display Width: 8,, +Table: Variables +Name,Position,Label,Measurement Level,Role,Width,Alignment,Print Format,Write Format,Missing Values +string,1,A Short String Variable,Nominal,Input,8,Left,A8,A8,"""3333 """ +longstring,2,A Long String Variable,Nominal,Input,12,Left,A12,A12, +numeric,3,A Numeric Variable,Scale,Input,8,Right,F10.0,F10.0,9; 5; 999 +date,4,A Date Variable,Scale,Input,8,Right,DATE11,DATE11, +dollar,5,A Dollar Variable,Scale,Input,8,Right,DOLLAR11.2,DOLLAR11.2, +datetime,6,A Datetime Variable,Scale,Input,8,Right,DATETIME17.0,DATETIME17.0, + +Table: Value Labels +Variable,Value,Label +string,1111 ,ones +,2222 ,twos +,3333 ,threes +numeric,1,Unity +,2,Duality +,3,Thripality + +Table: Variable and Dataset Attributes +Variable,Name,Value +numeric,colour[1],blue +,colour[2],pink +,colour[3],violet +,nationality,foreign +,size,large Table: Data List string,longstring,numeric,date,dollar,datetime @@ -620,7 +573,7 @@ AT_DATA([test.pl], print $PSPP::errstr, "\n"; ]]) AT_CHECK([RUN_PERL_MODULE test.pl], [0], - [[Error opening `no-such-file.sav' for reading as a system file: No such file or directory. + [[An error occurred while opening `no-such-file.sav': No such file or directory. ]], [[Name "PSPP::errstr" used only once: possible typo at test.pl line 8. ]]) @@ -688,7 +641,7 @@ AT_DATA([test.pl], my $attr = $var->get_attributes (); - foreach my $k (keys %$attr) + foreach my $k (sort (keys (%$attr))) { my $ll = $attr->{$k}; print "$k =>"; @@ -696,7 +649,8 @@ AT_DATA([test.pl], } ]]) AT_CHECK([RUN_PERL_MODULE test.pl], [0], - [[colour =>blue, pink, violet + [[$@Role =>0 +colour =>blue, pink, violet nationality =>foreign size =>large ]]) @@ -707,7 +661,7 @@ AT_SKIP_IF([test "$WITH_PERL_MODULE" = no]) # Skip this test if Perl's Text::Diff module is not installed. AT_CHECK([perl -MText::Diff -e '' || exit 77]) AT_CHECK([RUN_PERL_MODULE $abs_top_builddir/perl-module/t/Pspp.t], [0], - [[1..36 + [[1..37 ok 1 - use PSPP; ok 2 - Dictionary Creation ok 3 @@ -745,15 +699,6 @@ ok 33 - Missing Value Positive ok 34 - Missing Value Positive SYS ok 35 - Missing Value Positive Num ok 36 - Custom Attributes -]], - [[# @&t@ -# @@ -0,0 +1 @@ -# + -# @@ -0,0 +1 @@ -# + -# @@ -0,0 +1 @@ -# + -# @@ -0,0 +1 @@ -# + -]]) +ok 37 - Case count +]],[ignore]) AT_CLEANUP