X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2Fperl-module.at;h=244b1b9999dc537457a6176f3a8eb7b6271f14d3;hb=e19616ea0d990e23d3ae394fac4482db4378a3eb;hp=5466dbc8b68cdb39e72eee19ec735b2c5054fc39;hpb=ab19e5378e9509be1beaf5c1ca837c1acf69e764;p=pspp diff --git a/tests/perl-module.at b/tests/perl-module.at index 5466dbc8b6..244b1b9999 100644 --- a/tests/perl-module.at +++ b/tests/perl-module.at @@ -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]) @@ -676,7 +679,10 @@ AT_SKIP_IF([test "$WITH_PERL_MODULE" = no]) 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], +# Skip this test if Address Sanitizer is in use because it will +# screw up memory accounting and look like a leak. +AT_SKIP_IF([$USING_ASAN]) +AT_CHECK([run_perl_module "$abs_top_builddir/perl-module/t/Pspp.t"], [0], [[1..38 ok 1 - use PSPP; ok 2 - Dictionary Creation