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:
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 );