[svn:parrot] r37155 - trunk/t/configure

jkeenan at svn.parrot.org jkeenan at svn.parrot.org
Sat Mar 7 04:23:02 UTC 2009


Author: jkeenan
Date: Sat Mar  7 04:23:01 2009
New Revision: 37155
URL: https://trac.parrot.org/parrot/changeset/37155

Log:
Add tests for Parrot::BuildUtil::get_bc_version().

Modified:
   trunk/t/configure/023-version.t

Modified: trunk/t/configure/023-version.t
==============================================================================
--- trunk/t/configure/023-version.t	Sat Mar  7 04:12:31 2009	(r37154)
+++ trunk/t/configure/023-version.t	Sat Mar  7 04:23:01 2009	(r37155)
@@ -6,7 +6,7 @@
 use strict;
 use warnings;
 
-use Test::More tests =>  7;
+use Test::More tests => 14;
 use Carp;
 use Cwd;
 use File::Copy;
@@ -36,8 +36,42 @@
     ok( chdir $cwd, "Able to change back to directory after testing" );
 }
 
+{
+    my $tdir = tempdir( CLEANUP => 1 );
+    ok( chdir $tdir, "Changed to temporary directory for testing" );
+    my $rv = set_bc_version(q{3.07});
+    my ($bc_major, $bc_minor) = Parrot::BuildUtil::get_bc_version();
+    is( $bc_major, 3, "Got expected bytecode major version" );
+    is( $bc_minor, 7, "Got expected bytecode minor version" );
+
+    ok( chdir $cwd, "Able to change back to directory after testing" );
+}
+
+{
+    my $tdir = tempdir( CLEANUP => 1 );
+    ok( chdir $tdir, "Changed to temporary directory for testing" );
+    my $rv = set_bc_version(q{3.tomboy});
+    eval {
+        my ($bc_major, $bc_minor) = Parrot::BuildUtil::get_bc_version();
+    };
+    like( $@, qr/No bytecode version found/,
+        "Got expected error message on failure to find bytecode version" );
+
+    ok( chdir $cwd, "Able to change back to directory after testing" );
+}
+
 pass("Completed all tests in $0");
 
+sub set_bc_version {
+    my $version_str = shift;
+    my $compat_file = 'PBC_COMPAT';
+    my ( $bc_major, $bc_minor );
+    open my $OUT, '>', $compat_file or die "Can't write $compat_file";
+    print $OUT "$version_str\n";
+    close $OUT;
+    return 1;
+}
+
 ################### DOCUMENTATION ###################
 
 =head1 NAME


More information about the parrot-commits mailing list