citrun

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

commit 2bed827c2ef4f93f255eed917b81cde62006abe2
parent cc4177a9707d4b5c488012eb7c947dfc322adc3a
Author: Kyle Milz <kyle@0x30.net>
Date:   Mon,  9 Oct 2017 22:19:28 -0600

t: use ok_image in older test, move known good

Diffstat:
Rt/gl_basic.tga -> t/gl/basic.tga | 0
Mt/gl_basic.t | 36++++++++++++++----------------------
2 files changed, 14 insertions(+), 22 deletions(-)

diff --git a/t/gl_basic.tga b/t/gl/basic.tga Binary files differ. diff --git a/t/gl_basic.t b/t/gl_basic.t @@ -2,37 +2,29 @@ # Check that opening the viewer after an instrumented program has exited gives # an identical output to known good. # -use File::Compare; -use Imager; use Modern::Perl; + +use t::gl_utils; use t::utils; +plan tests => 9; -plan tests => 6; my $dir = setup_projdir(); - $ENV{CITRUN_PROCDIR} = $dir->workdir . "/procdir/"; + +# Run instrumented program. $dir->run( prog => $dir->workdir . "/program", args => '1', chdir => $dir->curdir ); is( $dir->stdout, '1', 'is instrumented program stdout correct' ); is( $dir->stderr, '', 'is instrumented program stderr silent' ); +is( $? >> 8, 0, 'is instrumented program exit code zero' ); -my $render_file = File::Spec->catdir( $dir->workdir, 'test.tga' ); -my $render_good_file = File::Spec->catfile( 't', 'gl_basic.tga' ); - -$dir->run( prog => 'bin/citrun_gltest', args => "$render_file 800 600", workdir => '' ); -print $dir->stdout; -is( $dir->stderr, '', 'is citrun_gltest stderr silent' ); - -if (compare( $render_file, $render_good_file ) == 0) { - pass( 'is render file identical' ); -} -else { - my $render = Imager->new( file => $render_file ) or die Imager->errstr(); - my $render_good = Imager->new( file => 't/gl_basic.tga' ) or die Imager->errstr(); +my $output_file = File::Spec->catdir( $dir->workdir, 'test.tga' ); +my $output_good = File::Spec->catfile( 't', 'gl', 'basic.tga' ); - my $diff = $render->difference( other => $render_good ); - $diff->write( file => $dir->workdir . "/diff.tga" ) or die Imager->errstr; +my $gltest = Test::Cmd->new( prog => 'bin/citrun_gltest', workdir => '' ); +$gltest->run( args => "$output_file 800 600" ); +isnt( $gltest->stdout, '', 'is citrun_gltest stdout not silent' ); +is( $gltest->stderr, '', 'is citrun_gltest stderr silent' ); +is( $? >> 8, 0, 'is citrun_gltest exit code zero' ); - system("imlib2_view " . $dir->workdir . "/diff.tga" ); - fail( 'is render file identical' ); -} +ok_image( $output_file, $output_good, $gltest->workdir );