[svn:parrot] r42432 - in branches/platform_determine_earlier: config/auto t/steps/auto
jkeenan at svn.parrot.org
jkeenan at svn.parrot.org
Thu Nov 12 00:55:11 UTC 2009
Author: jkeenan
Date: Thu Nov 12 00:55:10 2009
New Revision: 42432
URL: https://trac.parrot.org/parrot/changeset/42432
Log:
Refactor _report_verbose() a bit. Add tests.
Modified:
branches/platform_determine_earlier/config/auto/arch.pm
branches/platform_determine_earlier/t/steps/auto/arch-01.t
Modified: branches/platform_determine_earlier/config/auto/arch.pm
==============================================================================
--- branches/platform_determine_earlier/config/auto/arch.pm Wed Nov 11 23:33:38 2009 (r42431)
+++ branches/platform_determine_earlier/config/auto/arch.pm Thu Nov 12 00:55:10 2009 (r42432)
@@ -97,16 +97,15 @@
osname => $osname
);
- $conf->data->set( 'platform' => $self->_get_platform( $conf, $verbose ) );
+ $conf->data->set( 'platform' => $self->_get_platform( $conf ) );
- _report_verbose( $conf, $verbose );
+ _report_verbose( $conf );
return 1;
}
sub _get_platform {
- my $self = shift;
- my ($conf, $verbose) = @_;
+ my ($self, $conf) = @_;
my $platform = lc ( $conf->data->get('osname') );
$platform = "win32" if $platform =~ /^msys/;
@@ -123,7 +122,8 @@
}
sub _report_verbose {
- my ($conf, $verbose) = @_;
+ my ($conf) = @_;
+ my $verbose = $conf->options->get( 'verbose' );
if ( $verbose ) {
print "osname: ", $conf->data->get('osname'), "\n";
print "cpuarch: ", $conf->data->get('cpuarch'), "\n";
Modified: branches/platform_determine_earlier/t/steps/auto/arch-01.t
==============================================================================
--- branches/platform_determine_earlier/t/steps/auto/arch-01.t Wed Nov 11 23:33:38 2009 (r42431)
+++ branches/platform_determine_earlier/t/steps/auto/arch-01.t Thu Nov 12 00:55:10 2009 (r42432)
@@ -5,7 +5,7 @@
use strict;
use warnings;
-use Test::More tests => 102;
+use Test::More tests => 119;
use Carp;
use lib qw( lib t/configure/testlib );
use_ok('config::init::defaults');
@@ -102,7 +102,7 @@
my $pseudoarch = q{foobar};
$conf->data->set('archname' => $pseudoarch);
my $ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
+ok( $ret, "runstep() returned true value: $pseudoarch" );
is($step->result(), q{}, "Result was empty string as expected");
is($conf->data->get('cpuarch'), q{},
"'cpuarch' was set as expected");
@@ -126,7 +126,7 @@
my $pseudobyteorder = 1234;
$conf->data->set('byteorder' => $pseudobyteorder);
$ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
+ok( $ret, "runstep() returned true value: $pseudoarch" );
is($step->result(), q{}, "Result was empty string as expected");
is($conf->data->get('cpuarch'), q{i386},
"'cpuarch' was set as expected");
@@ -150,7 +150,7 @@
$pseudobyteorder = 4321;
$conf->data->set('byteorder' => $pseudobyteorder);
$ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
+ok( $ret, "runstep() returned true value: $pseudoarch" );
is($step->result(), q{}, "Result was empty string as expected");
is($conf->data->get('cpuarch'), q{ppc},
"'cpuarch' was set as expected");
@@ -172,7 +172,7 @@
$pseudoarch = q{MSWin32-x64};
$conf->data->set('archname' => $pseudoarch);
$ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
+ok( $ret, "runstep() returned true value: $pseudoarch" );
is($step->result(), q{}, "Result was empty string as expected");
is($conf->data->get('cpuarch'), q{amd64},
"'cpuarch' was set as expected");
@@ -194,7 +194,7 @@
$pseudoarch = q{MSWin32-i386};
$conf->data->set('archname' => $pseudoarch);
$ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
+ok( $ret, "runstep() returned true value: $pseudoarch" );
is($step->result(), q{}, "Result was empty string as expected");
is($conf->data->get('cpuarch'), q{i386},
"'cpuarch' was set as expected");
@@ -216,7 +216,7 @@
$pseudoarch = q{cygwin};
$conf->data->set('archname' => $pseudoarch);
$ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
+ok( $ret, "runstep() returned true value: $pseudoarch" );
is($step->result(), q{}, "Result was empty string as expected");
is($conf->data->get('cpuarch'), q{i386},
"'cpuarch' was set as expected");
@@ -238,7 +238,7 @@
$pseudoarch = q{powerpc-linux};
$conf->data->set('archname' => $pseudoarch);
$ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
+ok( $ret, "runstep() returned true value: $pseudoarch" );
is($step->result(), q{}, "Result was empty string as expected");
is($conf->data->get('cpuarch'), q{ppc},
"'cpuarch' was set as expected");
@@ -260,53 +260,92 @@
$pseudoarch = q{cygwin-i486};
$conf->data->set('archname' => $pseudoarch);
$ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
+ok( $ret, "runstep() returned true value: $pseudoarch" );
is($step->result(), q{}, "Result was empty string as expected");
is($conf->data->get('cpuarch'), q{i386},
"'cpuarch' was set as expected");
is($conf->data->get('osname'), q{cygwin},
"'osname' was set as expected");
-########### _get_platform() ##########
-#
-#$conf->data->set_p5( OSNAME => 'msys' );
-#is( $step->_get_platform( $conf, $verbose ), q{win32},
-# "Got expected platform for msys");
-#
-#$conf->data->set_p5( OSNAME => 'mingw' );
-#is( $step->_get_platform( $conf, $verbose ), q{win32},
-# "Got expected platform for mingw");
-#
-#$conf->data->set_p5( OSNAME => 'MSWin32' );
-#is( $step->_get_platform( $conf, $verbose ), q{win32},
-# "Got expected platform for MSWin32");
-#
-## re-set to original values
-#$conf->data->set_p5( OSNAME => $platform_orig );
-#$conf->data->set_p5( archname => $archname_orig );
-#
-#$conf->data->set_p5( archname => 'ia64-bar' );
-#is( $step->_get_platform( $conf, $verbose ), q{ia64},
-# "Got expected platform for ia64");
-#
-#$conf->data->set_p5( archname => 'foo-bar' );
-#$conf->data->set_p5( OSNAME => 'foo' );
-#{
-# $verbose = 1;
-# my ($stdout, $stderr, $rv);
-# my $expected = q{generic};
-# capture(
-# sub { $rv = $step->_get_platform( $conf, $verbose ) },
-# \$stdout,
-# \$stderr,
-# );
-# is( $rv, $expected, "Got expected platform for foo");
-# like( $stdout, qr/platform='$expected'/, "Got expected verbose output");
-#}
-#
+########## mock solaris i86pc ##########
+
+($args, $step_list_ref) = process_options( {
+ argv => [ ],
+ mode => q{configure},
+} );
+rerun_defaults_for_testing($conf, $args );
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+$pseudoarch = q{i86pc-solaris};
+$conf->data->set('archname' => $pseudoarch);
+$ret = $step->runstep($conf);
+ok( $ret, "runstep() returned true value: $pseudoarch" );
+is($step->result(), q{}, "Result was empty string as expected");
+# Since on this architecture we call uname -p,
+# we cannot test 'cpuarch' easily
+#is($conf->data->get('cpuarch'), q{},
+# "'cpuarch' was set as expected");
+is($conf->data->get('osname'), q{solaris},
+ "'osname' was set as expected");
+
+########## _get_platform() ##########
+
+my $exp;
+
+$conf->data->set( osname => 'msys' );
+$conf->data->set( archname => 'foo' );
+$exp = q{win32};
+is( $step->_get_platform( $conf ), $exp,
+ "Got expected platform for $exp");
+
+$conf->data->set( osname => 'mingw' );
+$conf->data->set( archname => 'foo' );
+$exp = q{win32};
+is( $step->_get_platform( $conf ), $exp,
+ "Got expected platform for $exp");
+
+$conf->data->set( osname => 'MSWin32' );
+$conf->data->set( archname => 'foo' );
+$exp = q{win32};
+is( $step->_get_platform( $conf ), $exp,
+ "Got expected platform for $exp");
+
## re-set to original values
-#$conf->data->set_p5( archname => $archname_orig );
-#$conf->data->set_p5( OSNAME => $platform_orig );
+#$conf->data->set( osname => $platform_orig );
+#$conf->data->set( archname => $archname_orig );
+
+$conf->data->set( archname => 'ia64-bar' );
+$exp = q{ia64};
+is( $step->_get_platform( $conf ), $exp,
+ "Got expected platform for $exp");
+
+$conf->data->set( archname => 'foo-bar' );
+$conf->data->set( osname => 'bar' );
+$exp = q{generic};
+is( $step->_get_platform( $conf ), $exp,
+ "Got expected platform for $exp");
+
+########## _report_verbose() ##########
+
+$conf->data->set( osname => 'foo' );
+$conf->data->set( cpuarch => 'bar' );
+$conf->data->set( platform => 'baz' );
+$conf->options->set( verbose => 1 );
+{
+ my ($stdout, $stderr);
+ capture(
+ sub { auto::arch::_report_verbose($conf); },
+ \$stdout,
+ \$stderr,
+ );
+ like( $stdout, qr/osname:\s+?foo/s,
+ "Got expected verbose output" );
+ like( $stdout, qr/cpuarch:\s+?bar/s,
+ "Got expected verbose output" );
+ like( $stdout, qr/platform:\s+?baz/s,
+ "Got expected verbose output" );
+}
pass("Completed all tests in $0");
More information about the parrot-commits
mailing list