Automatically infer variables' measurement level from format and data.
[pspp] / tests / perl-module.at
index 5466dbc8b68cdb39e72eee19ec735b2c5054fc39..b40fc26b02924c601f41336a0e83f88ac3be5ea1 100644 (file)
@@ -1,5 +1,5 @@
 dnl PSPP - a program for statistical analysis.
-dnl Copyright (C) 2017, 2020 Free Software Foundation, Inc.
+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
@@ -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])
 
@@ -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,
@@ -501,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,
@@ -674,10 +677,8 @@ 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])
-# Skip this test if Perl's Memory::Usage module is not installed.
-AT_CHECK([perl -MMemory::Usage -e '' || exit 77])
-AT_CHECK([run_perl_module $abs_top_builddir/perl-module/t/Pspp.t], [0],
-  [[1..38
+AT_CHECK([run_perl_module "$abs_top_builddir/perl-module/t/Pspp.t"], [0],
+  [[1..37
 ok 1 - use PSPP;
 ok 2 - Dictionary Creation
 ok 3
@@ -716,6 +717,5 @@ ok 34 - Missing Value Positive SYS
 ok 35 - Missing Value Positive Num
 ok 36 - Custom Attributes
 ok 37 - Case count
-ok 38 - Memory management of append_case
 ]],[ignore])
 AT_CLEANUP