Log profiler: fixed allocation and call frames end detection in test runner.
authorPaolo Molaro <lupus@oddwiz.org>
Wed, 1 Dec 2010 16:19:32 +0000 (17:19 +0100)
committerPaolo Molaro <lupus@oddwiz.org>
Wed, 1 Dec 2010 16:20:26 +0000 (17:20 +0100)
mono/profiler/ptestrunner.pl

index f346f8bd89cd670c03b2a56b8da84161d8a0e234..36ae39ec5322b1b80d86e968a39712ab0d2a39c0 100755 (executable)
@@ -226,7 +226,7 @@ sub check_call_traces
        foreach my $method (keys %calls) {
                my @desc = @{$calls{$method}};
                my $num = shift @desc;
-               my $trace = get_delim_data ($section, "\\s+\\d+\\s+\\d+\\s+\\d+\\s+\Q$method\E", "^\\s*\\d+\\s+\\d");
+               my $trace = get_delim_data ($section, "\\s+\\d+\\s+\\d+\\s+\\d+\\s+\Q$method\E", "^(\\s*\\d+\\s+\\d)|(^Total calls)");
                if ($trace =~ s/^\s+(\d+)\s+calls from:$//m) {
                        my $num_calls = $1;
                        push @errors, "Wrong calls to $method." unless $num_calls == $num;
@@ -250,7 +250,7 @@ sub check_alloc_traces
        foreach my $type (keys %types) {
                my @desc = @{$types{$type}};
                my $num = shift @desc;
-               my $trace = get_delim_data ($section, "\\s+\\d+\\s+\\d+\\s+\\d+\\s+\Q$type\E", "^\\s*\\d+\\s+\\d");
+               my $trace = get_delim_data ($section, "\\s+\\d+\\s+\\d+\\s+\\d+\\s+\Q$type\E", "^(\\s*\\d+\\s+\\d)|(^Total)");
                if ($trace =~ s/^\s+(\d+)\s+bytes from:$//m) {
                        #my $num_calls = $1;
                        #push @errors, "Wrong calls to $method." unless $num_calls == $num;