citrun

watch C/C++ source code execute
Log | Files | Refs | LICENSE

commit c0bd9c6b27326a06f7eb83df609388d90bcff747
parent 7f88d730e257a5111b8d80c9db010c6092c17011
Author: Kyle Milz <kyle@0x30.net>
Date:   Sat,  9 Jul 2016 17:01:14 -0600

tt: now that line diffs are sent, check a different way

Diffstat:
MTest/Viewer.pm | 16++++++----------
Mtt/libressl.t | 11+++--------
Mtt/mutt.t | 15++++-----------
Mtt/vim.t | 21+++++++++------------
4 files changed, 22 insertions(+), 41 deletions(-)

diff --git a/Test/Viewer.pm b/Test/Viewer.pm @@ -115,24 +115,20 @@ sub cmp_static_data { } sub cmp_dynamic_data { - my ($self, $old_data) = @_; + my ($self) = @_; my $data = $self->get_dynamic_data(); - # Don't compare if given nothing to compare to. - return $data unless (defined $old_data); - - my $bad = 0; + # Check that at least a single execution has taken place. + my $good = 0; for my $key (sort keys %$data) { - my $old_data_tmp = $old_data->{$key}; my $data_tmp = $data->{$key}; - my $it = each_array( @$old_data_tmp, @$data_tmp ); - while ( my ($x, $y) = $it->() ) { - $bad = 1 if ($x > $y); + for (@$data_tmp) { + $good++ if ($_ > 0); } } - is( $bad, 0, "forward progress" ); + cmp_ok( $good, ">", 0, "a single application execution took place" ); return $data; } diff --git a/tt/libressl.t b/tt/libressl.t @@ -4,8 +4,8 @@ use warnings; use Expect; use Test::More; -my $num_tests = 2550; -$num_tests = 2530 if ($^O eq "darwin"); +my $num_tests = 2492; +$num_tests = 2472 if ($^O eq "darwin"); plan tests => $num_tests; use Test::Package; @@ -698,11 +698,6 @@ $viewer->accept(); is( $viewer->{num_tus}, @known_good, "translation unit count" ); $viewer->cmp_static_data(\@known_good); - -my ($data, $old_data) = (undef, undef); -for (1..60) { - $old_data = $data; - $data = $viewer->cmp_dynamic_data($old_data); -} +$viewer->cmp_dynamic_data(); $exp->hard_close(); diff --git a/tt/mutt.t b/tt/mutt.t @@ -3,10 +3,10 @@ use warnings; use Expect; use Test::More; -use Time::HiRes qw( time ); +use Time::HiRes qw( time usleep ); -my $num_tests = 338; -$num_tests = 342 if ($^O ne "darwin"); +my $num_tests = 284; +$num_tests = 288 if ($^O ne "darwin"); plan tests => $num_tests; use Test::Package; @@ -133,13 +133,6 @@ $viewer->accept(); is( $viewer->{num_tus}, scalar @known_good, "translation unit count" ); $viewer->cmp_static_data(\@known_good); - -my $start = time; -my ($data, $old_data) = (undef, undef); -for (1..60) { - $old_data = $data; - $data = $viewer->cmp_dynamic_data($old_data); -} -my $data_call_dur = time - $start; +$viewer->cmp_dynamic_data(); $exp->hard_close(); diff --git a/tt/vim.t b/tt/vim.t @@ -4,10 +4,10 @@ use warnings; use Cwd; use Expect; use Test::More; -use Time::HiRes qw( time ); +use Time::HiRes qw( time usleep ); -my $num_tests = 329; -$num_tests = 333 if ($^O eq "darwin"); +my $num_tests = 271; +$num_tests = 275 if ($^O eq "darwin"); plan tests => $num_tests; use Test::Package; @@ -138,11 +138,8 @@ is( $viewer->{num_tus}, scalar @known_good, "translation unit count" ); $viewer->cmp_static_data(\@known_good); -my ($data, $old_data) = (undef, undef); -for (1..60) { - $old_data = $data; - $data = $viewer->cmp_dynamic_data($old_data); -} +# Check that at least something has executed. +$viewer->cmp_dynamic_data(); $exp->hard_close(); $viewer->close(); @@ -151,8 +148,8 @@ $viewer->close(); # xxd # -# Let xxd process its own source so it's busy doing something. -$exp = Expect->spawn("$srcdir/xxd/xxd", "tt/distfiles/vim-7.4.tar.bz2"); +# Let xxd process something infinite. +$exp = Expect->spawn("$srcdir/xxd/xxd", "/dev/random", "/dev/null"); $viewer->accept(); is( $viewer->{num_tus}, 1, "xxd translation unit count" ); @@ -164,8 +161,8 @@ is( $viewer->{num_tus}, 1, "xxd translation unit count" ); $viewer->cmp_static_data(\@known_good); for (1..60) { - $old_data = $data; - $data = $viewer->cmp_dynamic_data($old_data); + usleep(1000); + $viewer->cmp_dynamic_data(); } $exp->hard_close();