From: Ben Pfaff Date: Mon, 30 May 2022 17:28:19 +0000 (-0700) Subject: perl-module: Remove test for memory usage. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?p=pspp;a=commitdiff_plain;h=20934a68593edbd52577f1ba0ea93c74eb018af5 perl-module: Remove test for memory usage. This test only works if you're lucky. It doesn't work with Address Sanitizer and it doesn't seem to work with current versions of Perl. (It might be that there's a real leak, but I don't know how to debug it in that case.) --- diff --git a/perl-module/t/Pspp.t b/perl-module/t/Pspp.t index 05ba24119a..b8b76d3c35 100644 --- a/perl-module/t/Pspp.t +++ b/perl-module/t/Pspp.t @@ -25,7 +25,7 @@ # change 'tests => 1' to 'tests => last_test_to_print'; -use Test::More tests => 38; +use Test::More tests => 37; use Text::Diff; use File::Temp qw/ tempfile tempdir /; use Memory::Usage; @@ -624,48 +624,3 @@ EOF ok ($n == 5, "Case count"); } - - -# Check for a leak in append_case -{ - my $record_count = 10_000; - my $var_count = 10; - - # Record amount of memory used by current process - my $mu = Memory::Usage->new(); - - my $dict = PSPP::Dict->new(); - foreach my $i (1..$var_count) - { - my $var = PSPP::Var->new ($dict, "var$i", fmt => 12, width => 2); - $var->set_label ("var $i"); - } - - my $sysfile = PSPP::Sysfile->new ('testfile.sav', $dict, compress => 1); - - $mu->record(''); - - foreach my $i (1..$record_count) - { - my @data = map { int(rand() * 100) } (1..$var_count); - $sysfile->append_case (\@data); - } - - $mu->record(''); - - $sysfile->close; - - my @memstate = @{$mu->state()}; - - my @array0 = @{$memstate[0]}; - my @array1 = @{$memstate[1]}; - - # ignore the timestamps - $array0[0] = 0; - $array1[0] = 0; - - my $result0 = join(",",@array0); - my $result1 = join(",",@array1); - - ok (($result0 eq $result1), "Memory management of append_case"); -} diff --git a/tests/perl-module.at b/tests/perl-module.at index 244b1b9999..58181c5f98 100644 --- a/tests/perl-module.at +++ b/tests/perl-module.at @@ -677,13 +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]) -# 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 + [[1..37 ok 1 - use PSPP; ok 2 - Dictionary Creation ok 3 @@ -722,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