X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2Fperl-module.at;h=b40fc26b02924c601f41336a0e83f88ac3be5ea1;hb=4b9e9bd0e1c0454b637ec05f8e7538a74433f467;hp=f3f393cc2c97a35d380be921996e7b1a51fc8006;hpb=7bb005b9c9018c27c22d4fdb01f0fb199705ef0d;p=pspp diff --git a/tests/perl-module.at b/tests/perl-module.at index f3f393cc2c..b40fc26b02 100644 --- a/tests/perl-module.at +++ b/tests/perl-module.at @@ -1,16 +1,16 @@ dnl PSPP - a program for statistical analysis. -dnl Copyright (C) 2017 Free Software Foundation, Inc. -dnl +dnl Copyright (C) 2017, 2020, 2021 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 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 dnl You should have received a copy of the GNU General Public License dnl along with this program. If not, see . dnl @@ -19,11 +19,14 @@ AT_BANNER([Perl module tests]) m4_divert_push([PREPARE_TESTS]) # Find the Address Sanitizer library that PSPP is linked against, if any. # If it exists, it needs to be preloaded when we run Perl. -asan_lib=$($abs_top_builddir/libtool --mode=execute ldd \ - $abs_top_builddir/src/ui/terminal/pspp 2>/dev/null \ +asan_lib=$("$abs_top_builddir/libtool" --mode=execute ldd \ + "$abs_top_builddir/src/ui/terminal/pspp" 2>/dev/null \ | grep asan \ | awk '{print $3}') -if test ! -e "$asan_lib"; then +if test -e "$asan_lib"; then + USING_ASAN=: +else + USING_ASAN=false asan_lib= fi @@ -33,12 +36,12 @@ 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. run_perl_module () { - LD_PRELOAD=$asan_lib:$LD_PRELOAD \ - LD_LIBRARY_PATH=$abs_top_builddir/src/.libs \ - DYLD_LIBRARY_PATH=$abs_top_builddir/src/.libs \ + LD_PRELOAD="$asan_lib":"$LD_PRELOAD" \ + LD_LIBRARY_PATH="$abs_top_builddir/src/.libs" \ + DYLD_LIBRARY_PATH="$abs_top_builddir/src/.libs" \ ASAN_OPTIONS="$ASAN_OPTIONS detect_leaks=false" \ - $PERL -I$abs_top_builddir/perl-module/blib/arch \ - -I$abs_top_builddir/perl-module/blib/lib "$@" + $PERL -I"$abs_top_builddir/perl-module/blib/arch" \ + -I"$abs_top_builddir/perl-module/blib/lib" "$@" } m4_divert_pop([PREPARE_TESTS]) @@ -66,7 +69,7 @@ AT_DATA([test.pl], die "accept legal variable name" if !ref $var0; die if $d->get_var_cnt () != 1; - my $var1 = PSPP::Var->new ($d, "money", + my $var1 = PSPP::Var->new ($d, "money", (fmt=>PSPP::Fmt::DOLLAR, width=>4, decimals=>2) ); die "cappet valid format" if !ref $var1; @@ -95,9 +98,9 @@ Table: Documents These Documents 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, +Name,Position,Measurement Level,Role,Width,Alignment,Print Format,Write Format +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. ]) @@ -113,16 +116,16 @@ AT_DATA([test.pl], my $d = PSPP::Dict->new(); PSPP::Var->new ($d, "id", ( - fmt=>PSPP::Fmt::F, - width=>2, + fmt=>PSPP::Fmt::F, + width=>2, decimals=>0 ) ); PSPP::Var->new ($d, "name", ( - fmt=>PSPP::Fmt::A, - width=>20, + fmt=>PSPP::Fmt::A, + width=>20, ) ); @@ -167,9 +170,9 @@ LIST. ]) 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, +Name,Position,Measurement Level,Role,Width,Alignment,Print Format,Write Format +id,1,Scale,Input,8,Right,F2.0,F2.0 +name,2,Nominal,Input,20,Left,A20,A20 Table: File Label Label,This is the file label @@ -182,9 +185,9 @@ id,name 34,frederick 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, +Name,Position,Measurement Level,Role,Width,Alignment,Print Format,Write Format +id,1,Scale,Input,8,Right,F2.0,F2.0 +name,2,Nominal,Input,20,Left,A20,A20 Table: File Label Label,This is the file label @@ -208,7 +211,7 @@ AT_DATA([test.pl], my $dict = PSPP::Dict->new(); die "dictionary creation" if !ref $dict; - my $int = PSPP::Var->new ($dict, "integer", + my $int = PSPP::Var->new ($dict, "integer", (width=>8, decimals=>0) ); $int->set_label ("My Integer"); @@ -219,7 +222,7 @@ AT_DATA([test.pl], $int->add_value_label (1, "Unity"); $int->add_value_label (2, "Duality"); - my $str = PSPP::Var->new ($dict, "string", + my $str = PSPP::Var->new ($dict, "string", (fmt=>PSPP::Fmt::A, width=>8) ); @@ -229,7 +232,7 @@ AT_DATA([test.pl], $str->set_missing_values ("this", "that"); - my $longstr = PSPP::Var->new ($dict, "longstring", + my $longstr = PSPP::Var->new ($dict, "longstring", (fmt=>PSPP::Fmt::A, width=>9) ); @@ -281,8 +284,8 @@ my $sysfile ; PSPP::Var->new ($d, "id", ( - fmt=>PSPP::Fmt::F, - width=>2, + fmt=>PSPP::Fmt::F, + width=>2, decimals=>0 ) ); @@ -466,7 +469,7 @@ AT_CHECK([pspp -O format=csv dump-dicts.sps], [0], 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 +numeric,3,A Numeric Variable,Nominal,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, @@ -479,9 +482,7 @@ A Short String Variable,1111,ones A Numeric Variable,1,Unity ,2,Duality ,3,Thripality - -Footnotes: -a,User-missing value +Footnote: a. User-missing value Table: Variable and Dataset Attributes Variable and Name,,Value @@ -503,7 +504,7 @@ 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 +numeric,3,A Numeric Variable,Nominal,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, @@ -516,9 +517,7 @@ A Short String Variable,1111,ones A Numeric Variable,1,Unity ,2,Duality ,3,Thripality - -Footnotes: -a,User-missing value +Footnote: a. User-missing value Table: Variable and Dataset Attributes Variable and Name,,Value @@ -622,19 +621,19 @@ AT_DATA([test.pl], die "Missing Value Negative Num" if PSPP::value_is_missing ($val, $numericvar); - @c = $sf->get_next_case (); - @c = $sf->get_next_case (); + @c = $sf->get_next_case (); + @c = $sf->get_next_case (); $val = $c[0]; die "Missing Value Positive" if !PSPP::value_is_missing ($val, $stringvar); - @c = $sf->get_next_case (); + @c = $sf->get_next_case (); $val = $c[2]; die "Missing Value Positive SYS" if !PSPP::value_is_missing ($val, $numericvar); - @c = $sf->get_next_case (); + @c = $sf->get_next_case (); $val = $c[2]; die "Missing Value Positive Num" if !PSPP::value_is_missing ($val, $numericvar); @@ -674,10 +673,11 @@ size =>large AT_CLEANUP AT_SETUP([Perl Pspp.t]) +AT_KEYWORDS([slow]) 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], +AT_CHECK([run_perl_module "$abs_top_builddir/perl-module/t/Pspp.t"], [0], [[1..37 ok 1 - use PSPP; ok 2 - Dictionary Creation