[svn:parrot] r42575 - in trunk: . config/auto config/auto/sizes config/init config/init/hints config/inter docs/book/draft docs/book/pct docs/dev docs/pdds examples/embed examples/languages/abc examples/languages/squaak examples/pge include/parrot lib/Parrot/Configure/Options/Test lib/Parrot/Configure/Step ports/cpan ports/cygwin ports/debian ports/fedora ports/mandriva ports/suse runtime/parrot/languages runtime/parrot/library/Math runtime/parrot/library/Math/Random src/call src/gc src/interp src/runcore t/compilers/tge t/configure t/library t/oo t/pmc t/src t/steps/auto t/steps/gen t/steps/init t/steps/init/hints t/steps/inter t/tools/ops2pm tools/dev tools/util

jkeenan at svn.parrot.org jkeenan at svn.parrot.org
Thu Nov 19 01:00:51 UTC 2009


Author: jkeenan
Date: Thu Nov 19 01:00:42 2009
New Revision: 42575
URL: https://trac.parrot.org/parrot/changeset/42575

Log:
[configure] Merge 'configtests' branch into trunk.  Moves t/steps/*.t to run
after Configure.pl when --test or --test=configure is specified.  Steps test
now rely on %Parrot::Config::PConfig rather than init::defaults.  Most direct
dependence on Perl 5 %Config in config steps after init::defaults has been
eliminated.  Cf.:  https://trac.parrot.org/parrot/ticket/1189."

Added:
   trunk/lib/Parrot/Configure/Step/Test.pm   (props changed)
      - copied unchanged from r42574, branches/configtests/lib/Parrot/Configure/Step/Test.pm
Modified:
   trunk/   (props changed)
   trunk/MANIFEST
   trunk/config/auto/alignptrs.pm
   trunk/config/auto/format.pm
   trunk/config/auto/headers.pm
   trunk/config/auto/perldoc.pm
   trunk/config/auto/pod2man.pm
   trunk/config/auto/signal.pm
   trunk/config/auto/sizes/intval_maxmin_c.in   (props changed)
   trunk/config/auto/socklen_t.pm
   trunk/config/init/defaults.pm
   trunk/config/init/hints.pm
   trunk/config/init/hints/linux.pm
   trunk/config/init/hints/openbsd.pm
   trunk/config/init/optimize.pm
   trunk/config/inter/progs.pm
   trunk/docs/book/draft/README   (props changed)
   trunk/docs/book/draft/appa_glossary.pod   (props changed)
   trunk/docs/book/draft/appb_patch_submission.pod   (props changed)
   trunk/docs/book/draft/appc_command_line_options.pod   (props changed)
   trunk/docs/book/draft/appd_build_options.pod   (props changed)
   trunk/docs/book/draft/appe_source_code.pod   (props changed)
   trunk/docs/book/draft/ch01_introduction.pod   (props changed)
   trunk/docs/book/draft/ch02_getting_started.pod   (props changed)
   trunk/docs/book/draft/ch07_dynpmcs.pod   (props changed)
   trunk/docs/book/draft/ch08_dynops.pod   (props changed)
   trunk/docs/book/draft/ch10_opcode_reference.pod   (props changed)
   trunk/docs/book/draft/ch11_directive_reference.pod   (props changed)
   trunk/docs/book/draft/ch12_operator_reference.pod   (props changed)
   trunk/docs/book/draft/chXX_hlls.pod   (props changed)
   trunk/docs/book/draft/chXX_library.pod   (props changed)
   trunk/docs/book/draft/chXX_testing_and_debugging.pod   (props changed)
   trunk/docs/book/pct/ch01_introduction.pod   (props changed)
   trunk/docs/book/pct/ch02_getting_started.pod   (props changed)
   trunk/docs/book/pct/ch03_compiler_tools.pod   (props changed)
   trunk/docs/book/pct/ch04_pge.pod   (props changed)
   trunk/docs/book/pct/ch05_nqp.pod   (props changed)
   trunk/docs/dev/c_functions.pod   (props changed)
   trunk/docs/pdds/pdd30_install.pod   (props changed)
   trunk/examples/embed/cotorra.c   (props changed)
   trunk/examples/languages/abc/   (props changed)
   trunk/examples/languages/squaak/   (props changed)
   trunk/examples/pge/demo.pir   (props changed)
   trunk/include/parrot/call.h   (props changed)
   trunk/include/parrot/gc_api.h   (props changed)
   trunk/include/parrot/runcore_api.h   (props changed)
   trunk/include/parrot/runcore_profiling.h   (props changed)
   trunk/include/parrot/runcore_trace.h   (props changed)
   trunk/lib/Parrot/Configure/Options/Test/Prepare.pm
   trunk/ports/cpan/pause_guide.pod   (props changed)
   trunk/ports/cygwin/parrot-1.0.0-1.cygport   (props changed)
   trunk/ports/debian/libparrot-dev.install.in   (props changed)
   trunk/ports/debian/libparrot.install.in   (props changed)
   trunk/ports/debian/parrot-doc.install.in   (props changed)
   trunk/ports/debian/parrot.install.in   (props changed)
   trunk/ports/fedora/parrot.spec.fedora   (props changed)
   trunk/ports/mandriva/parrot.spec.mandriva   (props changed)
   trunk/ports/suse/parrot.spec.suse   (props changed)
   trunk/runtime/parrot/languages/   (props changed)
   trunk/runtime/parrot/library/Math/Rand.pir   (props changed)
   trunk/runtime/parrot/library/Math/Random/mt19937ar.pir   (props changed)
   trunk/src/call/ops.c   (props changed)
   trunk/src/call/pcc.c   (props changed)
   trunk/src/gc/alloc_memory.c   (props changed)
   trunk/src/gc/alloc_resources.c   (props changed)
   trunk/src/gc/api.c   (props changed)
   trunk/src/gc/malloc.c   (props changed)
   trunk/src/gc/malloc_trace.c   (props changed)
   trunk/src/gc/mark_sweep.c   (props changed)
   trunk/src/gc/system.c   (props changed)
   trunk/src/interp/inter_cb.c   (props changed)
   trunk/src/interp/inter_create.c   (props changed)
   trunk/src/interp/inter_misc.c   (props changed)
   trunk/src/runcore/cores.c   (props changed)
   trunk/src/runcore/main.c   (props changed)
   trunk/src/runcore/profiling.c   (props changed)
   trunk/src/runcore/trace.c   (props changed)
   trunk/t/compilers/tge/NoneGrammar.tg   (props changed)
   trunk/t/configure/008-file_based_configuration.t
   trunk/t/library/mt19937ar.t   (props changed)
   trunk/t/library/mt19937ar.txt   (props changed)
   trunk/t/oo/root_new.t   (props changed)
   trunk/t/pmc/namespace-old.t   (props changed)
   trunk/t/src/embed.t   (props changed)
   trunk/t/steps/auto/alignptrs-01.t
   trunk/t/steps/auto/alignptrs-02.t
   trunk/t/steps/auto/arch-01.t
   trunk/t/steps/auto/attributes-01.t
   trunk/t/steps/auto/backtrace-01.t
   trunk/t/steps/auto/byteorder-01.t
   trunk/t/steps/auto/cgoto-01.t
   trunk/t/steps/auto/cpu-01.t
   trunk/t/steps/auto/crypto-01.t
   trunk/t/steps/auto/ctags-01.t
   trunk/t/steps/auto/env-01.t
   trunk/t/steps/auto/format-01.t
   trunk/t/steps/auto/frames-01.t
   trunk/t/steps/auto/gc-01.t
   trunk/t/steps/auto/gcc-01.t
   trunk/t/steps/auto/gdbm-01.t
   trunk/t/steps/auto/gettext-01.t
   trunk/t/steps/auto/glibc-01.t
   trunk/t/steps/auto/gmp-01.t
   trunk/t/steps/auto/headers-01.t
   trunk/t/steps/auto/inline-01.t
   trunk/t/steps/auto/isreg-01.t
   trunk/t/steps/auto/jit-01.t
   trunk/t/steps/auto/memalign-01.t
   trunk/t/steps/auto/msvc-01.t
   trunk/t/steps/auto/neg_0-01.t
   trunk/t/steps/auto/opengl-01.t
   trunk/t/steps/auto/ops-01.t
   trunk/t/steps/auto/pcre-01.t
   trunk/t/steps/auto/perldoc-01.t
   trunk/t/steps/auto/pmc-01.t
   trunk/t/steps/auto/pod2man-01.t
   trunk/t/steps/auto/readline-01.t
   trunk/t/steps/auto/readline-02.t
   trunk/t/steps/auto/revision-01.t
   trunk/t/steps/auto/signal-01.t
   trunk/t/steps/auto/sizes-01.t
   trunk/t/steps/auto/snprintf-01.t
   trunk/t/steps/auto/socklen_t-01.t
   trunk/t/steps/auto/thread-01.t
   trunk/t/steps/auto/va_ptr-01.t
   trunk/t/steps/auto/warnings-01.t
   trunk/t/steps/gen/call_list-01.t
   trunk/t/steps/gen/config_h-01.t
   trunk/t/steps/gen/config_pm-01.t
   trunk/t/steps/gen/core_pmcs-01.t
   trunk/t/steps/gen/crypto-01.t
   trunk/t/steps/gen/makefiles-01.t
   trunk/t/steps/gen/opengl-01.t
   trunk/t/steps/gen/parrot_include-01.t
   trunk/t/steps/gen/platform-01.t
   trunk/t/steps/init/headers-01.t
   trunk/t/steps/init/hints-01.t
   trunk/t/steps/init/hints/darwin-01.t
   trunk/t/steps/init/optimize-01.t
   trunk/t/steps/inter/charset-01.t
   trunk/t/steps/inter/encoding-01.t
   trunk/t/steps/inter/lex-01.t
   trunk/t/steps/inter/lex-02.t
   trunk/t/steps/inter/lex-03.t
   trunk/t/steps/inter/libparrot-01.t
   trunk/t/steps/inter/make-01.t
   trunk/t/steps/inter/progs-01.t
   trunk/t/steps/inter/progs-02.t
   trunk/t/steps/inter/progs-03.t
   trunk/t/steps/inter/progs-04.t
   trunk/t/steps/inter/shlibs-01.t
   trunk/t/steps/inter/types-01.t
   trunk/t/steps/inter/yacc-01.t
   trunk/t/steps/inter/yacc-02.t
   trunk/t/tools/ops2pm/04-prepare_ops.t
   trunk/tools/dev/fetch_languages.pl   (props changed)
   trunk/tools/dev/mk_gitignore.pl   (props changed)
   trunk/tools/util/perlcritic-cage.conf   (props changed)

Modified: trunk/MANIFEST
==============================================================================
--- trunk/MANIFEST	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/MANIFEST	Thu Nov 19 01:00:42 2009	(r42575)
@@ -1,7 +1,7 @@
 # ex: set ro:
 # $Id$
 #
-# generated by tools/dev/mk_manifest_and_skip.pl Sat Nov 14 20:41:51 2009 UT
+# generated by tools/dev/mk_manifest_and_skip.pl Thu Nov 19 00:38:23 2009 UT
 #
 # See below for documentation on the format of this file.
 #
@@ -1093,6 +1093,7 @@
 lib/Parrot/Configure/Step.pm                                [devel]lib
 lib/Parrot/Configure/Step/List.pm                           [devel]lib
 lib/Parrot/Configure/Step/Methods.pm                        [devel]lib
+lib/Parrot/Configure/Step/Test.pm                           [devel]lib
 lib/Parrot/Configure/Test.pm                                [devel]lib
 lib/Parrot/Configure/Trace.pm                               [devel]lib
 lib/Parrot/Configure/Utils.pm                               [devel]lib

Modified: trunk/config/auto/alignptrs.pm
==============================================================================
--- trunk/config/auto/alignptrs.pm	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/config/auto/alignptrs.pm	Thu Nov 19 01:00:42 2009	(r42575)
@@ -37,8 +37,8 @@
         $align = $conf->data->get('ptr_alignment');
         $result_str .= "configured: ";
     }
-    elsif ( $conf->data->get_p5('OSNAME') eq 'hpux'
-            && $conf->data->get_p5('ccflags') !~ /DD64/ ) {
+    elsif ( $conf->data->get('OSNAME_provisional') eq 'hpux'
+            && $conf->data->get('ccflags_provisional') !~ /DD64/ ) {
 
         # HP-UX 10.20/32 hangs in this test.
         $align = 4;

Modified: trunk/config/auto/format.pm
==============================================================================
--- trunk/config/auto/format.pm	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/config/auto/format.pm	Thu Nov 19 01:00:42 2009	(r42575)
@@ -74,7 +74,7 @@
         # Stay way from long double for now (it may be 64 or 80 bits)
         # die "long double not supported at this time, use double.";
         $nvsize   = $ldsize;
-        my $spri = $conf->data->get_p5('sPRIgldbl');
+        my $spri = $conf->data->get('sPRIgldbl_provisional');
         if ( defined $spri ) {
             $nvformat = "%.15" .  $spri;
             $nvformat =~ s/"//g;   # Perl 5's Config value has embedded double quotes

Modified: trunk/config/auto/headers.pm
==============================================================================
--- trunk/config/auto/headers.pm	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/config/auto/headers.pm	Thu Nov 19 01:00:42 2009	(r42575)
@@ -78,6 +78,10 @@
     # probing ourselves
     my %mapping = ( i_niin => "i_netinetin" );
 
+#    for ( grep { /^i_/ } $conf->data->keys_p5() ) {
+#        $conf->data->set( $mapping{$_} || $_ =>
+#            $conf->data->get( $_ . q{_provisional} ) );
+#    }
     for ( grep { /^i_/ } $conf->data->keys_p5() ) {
         $conf->data->set( $mapping{$_} || $_ => $conf->data->get_p5($_) );
     }
@@ -101,11 +105,11 @@
         sys/stat.h sysexit.h limits.h);
 
     # more extra_headers needed on mingw/msys; *BSD fails if they are present
-    if ( $conf->data->get_p5('OSNAME') eq "msys" ) {
+    if ( $conf->data->get('OSNAME_provisional') eq "msys" ) {
         push @extra_headers, qw(sysmman.h netdb.h);
     }
 
-    if ( $conf->data->get_p5('OSNAME') eq "MSWin32" ) {
+    if ( $conf->data->get('OSNAME_provisional') eq "MSWin32" ) {
         # Microsoft provides two annotations mechanisms.  __declspec, which has been
         # around for a while, and Microsoft's standard source code annotation
         # language (SAL), introduced with Visual C++ 8.0.

Modified: trunk/config/auto/perldoc.pm
==============================================================================
--- trunk/config/auto/perldoc.pm	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/config/auto/perldoc.pm	Thu Nov 19 01:00:42 2009	(r42575)
@@ -36,7 +36,7 @@
 sub runstep {
     my ( $self, $conf ) = @_;
 
-    my $cmd = $conf->data->get_p5('scriptdirexp') . q{/perldoc};
+    my $cmd = $conf->data->get('scriptdirexp_provisional') . q{/perldoc};
     my ( $fh, $filename ) = tempfile( UNLINK => 1 );
     my $content = capture_output("$cmd -ud $filename perldoc") || undef;
 

Modified: trunk/config/auto/pod2man.pm
==============================================================================
--- trunk/config/auto/pod2man.pm	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/config/auto/pod2man.pm	Thu Nov 19 01:00:42 2009	(r42575)
@@ -34,7 +34,7 @@
 sub runstep {
     my ( $self, $conf ) = @_;
 
-    my $cmd = $conf->data->get_p5('scriptdirexp') . q{/pod2man};
+    my $cmd = $conf->data->get('scriptdirexp_provisional') . q{/pod2man};
     my $content = capture_output("$cmd docs/parrot.pod") || undef;
 
     return 1 unless defined( $self->_initial_content_check($conf, $content) );

Modified: trunk/config/auto/signal.pm
==============================================================================
--- trunk/config/auto/signal.pm	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/config/auto/signal.pm	Thu Nov 19 01:00:42 2009	(r42575)
@@ -107,7 +107,7 @@
 EOF
     my ( $i, $name );
     $i = 0;
-    foreach $name ( split( ' ', $conf->data->get_p5('sig_name') ) ) {
+    foreach $name ( split( ' ', $conf->data->get('sig_name_provisional') ) ) {
         print {$O} ".macro_const SIG$name\t$i\n" if $i;
         $i++;
     }

Modified: trunk/config/auto/socklen_t.pm
==============================================================================
--- trunk/config/auto/socklen_t.pm	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/config/auto/socklen_t.pm	Thu Nov 19 01:00:42 2009	(r42575)
@@ -43,7 +43,7 @@
     my $conf = shift;
     return $conf->data->get('has_socklen_t')
             ||
-           $conf->data->get_p5('d_socklen_t');
+           $conf->data->get('d_socklen_t_provisional');
 }
 
 sub _evaluate_socklen_t {

Modified: trunk/config/init/defaults.pm
==============================================================================
--- trunk/config/init/defaults.pm	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/config/init/defaults.pm	Thu Nov 19 01:00:42 2009	(r42575)
@@ -49,22 +49,53 @@
     # special keys within the Parrot::Configure object.
     # This is a multi-stage process.
 
+#    # Stage 1:
+#    foreach my $orig ( qw|
+#        longsize
+#    | ) {
+#        $conf->data->set_p5( $orig => $Config{$orig} );
+#    }
+#
+#    # Stage 2 (anticipating needs of config/auto/headers.pm):
+#    $conf->data->set_p5(
+#        map { $_ => $Config{$_} } grep { /^i_/ } keys %Config
+#    );
+#
+#    # Stage 3 (Along similar lines, look up values from Perl 5 special
+#    # variables and stash them for later lookups.  Name them according
+#    # to their 'use English' names as documented in 'perlvar'.)
+#    $conf->data->set_p5( OSNAME => $^O );
+
+    # Later configuration steps need access to values from the Perl 5
+    # %Config.  However, other later configuration steps may change
+    # the corresponding values in the Parrot::Configure object.  In
+    # order to provide access to the original values from Perl 5
+    # %Config, we grab those settings we need now and store them in
+    # special keys within the Parrot::Configure object.  We label these keys
+    # '_provisional' to alert users that these should only be used during
+    # configuration and testing of configuration steps.  They should not be
+    # used during Parrot's build, nor should they be used in 'make test'.
+    #
+    # This is a multi-stage process.
+
     # Stage 1:
     foreach my $orig ( qw|
         archname
         ccflags
         d_socklen_t
-        longsize
         optimize
-        sig_name
         scriptdirexp
-        use64bitint
+        sig_name
+        sPRIgldbl
         sPRIgldbl
     | ) {
-        $conf->data->set_p5( $orig => $Config{$orig} );
+        $conf->data->set( qq|${orig}_provisional| => $Config{$orig} );
     }
 
     # Stage 2 (anticipating needs of config/auto/headers.pm):
+#    $conf->data->set(
+#        map { $_ . q{_provisional} => $Config{$_} } grep { /^i_/ } keys %Config
+#    );
     $conf->data->set_p5(
         map { $_ => $Config{$_} } grep { /^i_/ } keys %Config
     );
@@ -72,7 +103,7 @@
     # Stage 3 (Along similar lines, look up values from Perl 5 special
     # variables and stash them for later lookups.  Name them according
     # to their 'use English' names as documented in 'perlvar'.)
-    $conf->data->set_p5( OSNAME => $^O );
+    $conf->data->set( OSNAME_provisional => $^O );
 
     my $ccdlflags = $Config{ccdlflags};
     $ccdlflags =~ s/\s*-Wl,-rpath,\S*//g if $conf->options->get('disable-rpath');

Modified: trunk/config/init/hints.pm
==============================================================================
--- trunk/config/init/hints.pm	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/config/init/hints.pm	Thu Nov 19 01:00:42 2009	(r42575)
@@ -36,7 +36,7 @@
 
     my $hints_used = 0;
 
-    my $osname = lc( $conf->data->get_p5('OSNAME') );
+    my $osname = lc( $conf->data->get('OSNAME_provisional') );
     $osname = 'linux' if ($osname eq 'gnukfreebsd');
     my $hints_file = catfile('config', 'init', 'hints', "$osname.pm");
     if ( -f $hints_file ) {

Modified: trunk/config/init/hints/linux.pm
==============================================================================
--- trunk/config/init/hints/linux.pm	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/config/init/hints/linux.pm	Thu Nov 19 01:00:42 2009	(r42575)
@@ -152,7 +152,7 @@
         libparrot_soname       => "-Wl,-soname=libparrot$share_ext.$version",
     );
 
-     if ( ( split( m/-/, $conf->data->get_p5('archname'), 2 ) )[0] eq 'ia64' ) {
+     if ( ( split( m/-/, $conf->data->get('archname_provisional'), 2 ) )[0] eq 'ia64' ) {
 
         $conf->data->set( platform_asm => 1 );
     }

Modified: trunk/config/init/hints/openbsd.pm
==============================================================================
--- trunk/config/init/hints/openbsd.pm	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/config/init/hints/openbsd.pm	Thu Nov 19 01:00:42 2009	(r42575)
@@ -33,7 +33,7 @@
         libparrot_soname       => "-Wl,-soname=libparrot$share_ext.$version",
     );
 
-    if ( ( split( m/-/, $conf->data->get_p5('archname'), 2 ) )[0] eq 'powerpc' ) {
+    if ( ( split( m/-/, $conf->data->get('archname_provisional'), 2 ) )[0] eq 'powerpc' ) {
         $conf->data->set( as => 'as -mregnames' );
     }
 

Modified: trunk/config/init/optimize.pm
==============================================================================
--- trunk/config/init/optimize.pm	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/config/init/optimize.pm	Thu Nov 19 01:00:42 2009	(r42575)
@@ -51,7 +51,7 @@
 
             # use perl5's value
             # gcc 4.1 doesn't like -mcpu=xx, i.e. it's deprecated
-            my $opts = $conf->data->get_p5('optimize');
+            my $opts = $conf->data->get('optimize_provisional');
             my $gccversion = $conf->data->get( 'gccversion' );
             my $arch_opt = 'cpu';
             if ( defined $gccversion and $gccversion > 3.3 ) {

Modified: trunk/config/inter/progs.pm
==============================================================================
--- trunk/config/inter/progs.pm	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/config/inter/progs.pm	Thu Nov 19 01:00:42 2009	(r42575)
@@ -126,7 +126,7 @@
 
     $libs = $conf->data->get('libs');
     $libs = join q{ },
-        grep { $conf->data->get_p5('OSNAME') =~ /VMS|MSWin/ || !/^-l(c|gdbm(_compat)?|dbm|ndbm|db)$/ }
+        grep { $conf->data->get('OSNAME_provisional') =~ /VMS|MSWin/ || !/^-l(c|gdbm(_compat)?|dbm|ndbm|db)$/ }
         split( q{ }, $libs );
     $libs = integrate( $libs, $conf->options->get('libs') );
     $libs = prompt( "What libraries should your C compiler use?", $libs )

Modified: trunk/lib/Parrot/Configure/Options/Test/Prepare.pm
==============================================================================
--- trunk/lib/Parrot/Configure/Options/Test/Prepare.pm	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/lib/Parrot/Configure/Options/Test/Prepare.pm	Thu Nov 19 01:00:42 2009	(r42575)
@@ -29,11 +29,12 @@
 );
 
 sub get_preconfiguration_tests {
-    return ( @framework_tests, @steps_tests );
+    return ( @framework_tests );
 };
 
 sub get_postconfiguration_tests {
     my @postconfiguration_tests = (
+        @steps_tests,
         glob("t/postconfigure/*.t"),
         glob("t/tools/pmc2cutils/*.t"),
         glob("t/tools/ops2cutils/*.t"),

Copied: trunk/lib/Parrot/Configure/Step/Test.pm (from r42574, branches/configtests/lib/Parrot/Configure/Step/Test.pm)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/lib/Parrot/Configure/Step/Test.pm	Thu Nov 19 01:00:42 2009	(r42575, copy of r42574, branches/configtests/lib/Parrot/Configure/Step/Test.pm)
@@ -0,0 +1,174 @@
+# Copyright (C) 2001-2009, Parrot Foundation.
+# $Id$
+
+package Parrot::Configure::Step::Test;
+
+use strict;
+use warnings;
+use lib qw( lib );
+our @ISA = qw( Parrot::Configure );
+use Parrot::Config;
+use Parrot::Configure::Data;
+
+=head1 NAME
+
+Parrot::Configure::Step::Test - Populate Parrot::Configure object with results of configuration
+
+=head1 SYNOPSIS
+
+    use Parrot::Configure::Step::Test;
+
+    $conf = Parrot::Configure::Step::Test->new;
+    $conf->include_config_results( $args );
+
+Methods below are inherited from Parrot::Configure:
+
+    $conf->add_steps( 'some_package' );
+    $serialized = $conf->pcfreeze();
+    $conf->options->set( %options );
+    $conf->runsteps();
+    $conf->replenish($serialized);
+
+=head1 DESCRIPTION
+
+This module is a close simulation of Parrot::Configure to be used for testing
+of individual configuration steps once F<Configure.pl> has run.  Its
+constructor is structured in the same way as C<Parrot::Configure::new()> --
+the Parrot::Configure constructor -- and inherits all Parrot::Configure
+methods.  It adds just one method:
+C<Parrot::Configure::Step::Test::include_config_results()>.  This method
+populates the C<data> section of the Parrot::Configure object's data structure
+with the results of Parrot configuration, I<i.e.,> C<%PConfig> from
+Parrot::Config (F<lib/Parrot/Config.pm>).
+
+=head2 Rationale
+
+I<You may skip this section on first reading.>
+
+Consider these questions:
+
+=over 4
+
+=item 1
+
+Why test a Parrot configuration step after that step has already been run by
+F<Configure.pl>?
+
+=item 2
+
+If F<Configure.pl> has completed successfully, doesn't that, in some sense,
+I<prove> that the code in the configuration step class was correct?  If so,
+why bother to test it at all?
+
+=item 3
+
+Conversely, wouldn't it make more sense to test a configuration step I<before>
+that step has been run by F<Configure.pl>?
+
+=back
+
+Parrot developers have debated these questions for years.  Between mid-2007
+and late-2009, the position reflected in our testing practices was that found
+in Question 3 above.  We included tests of the configuration steps in the set
+of I<preconfiguration tests> run when you called:
+
+    perl Configure.pl --test=configure
+
+The primary reason for taking this approach was the conviction that the
+B<building blocks> of the Parrot configuration process ought to be tested
+before that whole process is executed.
+
+It should be noted that at the point in time when this approach was
+implemented, there was B<no testing of the configuration step classes
+whatsoever>.  Previously, it was just assumed that if F<Configure.pl> completed
+successfully, the code in the various configuration step classes did not need
+more fine-grained testing.
+
+So, B<some> testing of the Parrot configuration steps was clearly an
+improvement over B<no> testing of those steps.
+
+Nonetheless, there were limits to how well we could apply standard testing
+practices to the Parrot configuration step classes.  The following factors
+delimited what we could do:
+
+=over 4
+
+=item *
+
+TK
+
+=back
+
+=head1 METHODS
+
+=head2 C<new()>
+
+Constructor, structured the same way as that of Parrot::Configure.
+
+See F<lib/Parrot/Configure.pm>.
+
+=cut
+
+my $singleton;
+
+BEGIN {
+    $singleton = {
+        steps   => [],
+        data    => Parrot::Configure::Data->new,
+        options => Parrot::Configure::Data->new,
+    };
+    bless $singleton, 'Parrot::Configure::Step::Test';
+}
+
+sub new {
+    my $class = shift;
+    return $singleton;
+}
+
+=head2 C<include_config_results()>
+
+B<Purpose:>  Populate the Parrot::Configure object with the results of Parrot
+configuration as recorded in C<%Parrot::Config::PConfig>.
+
+B<Arguments:>  One argument: Hash-reference which is the first return value of
+Parrot::Configure::Options::process_options();
+
+    ($args, $step_list_ref) = process_options( {
+        argv => [ ],
+        mode => q{configure},
+    } );
+
+    $conf = Parrot::Configure::Step::Test->new;
+
+    $conf->include_config_results( $args );
+
+B<Return Value:>  None.
+
+=cut
+
+sub include_config_results {
+    my ($conf, $args) = @_;
+    while ( my ($k, $v) = each %PConfig ) {
+        $conf->data->set( $k => $v );
+    }
+    $conf->options->set( %{$args} );
+}
+
+=head1 AUTHOR
+
+James E Keenan C<jkeenan at cpan.org>
+
+=head1 SEE ALSO
+
+L<Parrot::Configure>.
+
+=cut
+
+1;
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Modified: trunk/t/configure/008-file_based_configuration.t
==============================================================================
--- trunk/t/configure/008-file_based_configuration.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/configure/008-file_based_configuration.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -12,7 +12,7 @@
     our $topdir = realpath($Bin) . "/../..";
     unshift @INC, qq{$topdir/lib};
 }
-use Test::More qw(no_plan); # tests => 29;
+use Test::More tests => 31;
 use Carp;
 use Parrot::Configure::Options qw| process_options |;
 

Modified: trunk/t/steps/auto/alignptrs-01.t
==============================================================================
--- trunk/t/steps/auto/alignptrs-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/alignptrs-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,15 +5,13 @@
 
 use strict;
 use warnings;
-use Test::More tests => 17;
+use Test::More tests => 12;
 use Carp;
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
 use_ok('config::auto::alignptrs');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
     test_step_constructor_and_description
 );
 
@@ -27,12 +25,11 @@
     }
 );
 
-my $conf = Parrot::Configure->new;
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $serialized = $conf->pcfreeze();
 
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-
 my $pkg = q{auto::alignptrs};
 $conf->add_steps($pkg);
 $conf->options->set( %{$args} );

Modified: trunk/t/steps/auto/alignptrs-02.t
==============================================================================
--- trunk/t/steps/auto/alignptrs-02.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/alignptrs-02.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,15 +5,13 @@
 
 use strict;
 use warnings;
-use Test::More tests =>  18;
+use Test::More tests =>  13;
 use Carp;
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
 use_ok('config::auto::alignptrs');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
     test_step_constructor_and_description
 );
 
@@ -26,9 +24,8 @@
     }
 );
 
-my $conf = Parrot::Configure->new;
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $pkg = q{auto::alignptrs};
 
@@ -39,10 +36,11 @@
 my $serialized = $conf->pcfreeze();
 
 {
-    $conf->data->set_p5( OSNAME => 'hpux' );
+    $conf->data->set( ptr_alignment => undef );
+    $conf->data->set( OSNAME_provisional => 'hpux' );
     my $ret = $step->runstep($conf);
     ok( $ret, "runstep() returned true value" );
-    if ( $conf->data->get_p5('ccflags') !~ /DD64/ ) {
+    if ( $conf->data->get('ccflags_provisional') !~ /DD64/ ) {
         is($conf->data->get('ptr_alignment'), 4,
             "Got expected pointer alignment for HP Unix");
         is($step->result(), qq{for hpux:  4 bytes},

Modified: trunk/t/steps/auto/arch-01.t
==============================================================================
--- trunk/t/steps/auto/arch-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/arch-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,16 +5,13 @@
 
 use strict;
 use warnings;
-use Test::More tests => 119;
+use Test::More tests =>  81;
 use Carp;
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
 use_ok('config::auto::arch');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
     test_step_constructor_and_description
 );
 use IO::CaptureOutput qw| capture |;
@@ -26,40 +23,16 @@
     mode => q{configure},
 } );
 
-my $conf = Parrot::Configure->new;
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $serialized = $conf->pcfreeze();
 
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-
 my $pkg = q{auto::arch};
 
 $conf->add_steps($pkg);
 $conf->options->set( %{$args} );
 my $step = test_step_constructor_and_description($conf);
-my $errstr;
-{
-    # As the t/configure/ test suite is currently (Dec 25 2007) constructed,
-    # an uninitialized value warning is generated when this test is run on
-    # Darwin because of a hack in config/auto/arch.pm.  We capture the warning
-    # and verify that we did so if on Darwin.  In the future, we will be able
-    # to eliminate this use of the signal handler because the
-    # Parrot::Configure object will have the same information available to it
-    # as it does during regular configuration.
-    local $SIG{__WARN__} = \&_capture;
-    my $ret = $step->runstep($conf);
-    ok( $ret, "runstep() returned true value" );
-    is($step->result(), q{}, "Result was empty string as expected");
-    if ($^O eq 'darwin') {
-        like(
-            $errstr,
-            qr/Uninitialized value/i,
-            "Caught uninitialized value warning as expected"
-        );
-    } else {
-        pass("Test not needed except on Darwin");
-    }
-}
 
 $conf->replenish($serialized);
 
@@ -69,7 +42,7 @@
     argv => [ q{--verbose} ],
     mode => q{configure},
 } );
-rerun_defaults_for_testing($conf, $args );
+
 $conf->add_steps($pkg);
 $conf->options->set( %{$args} );
 $step = test_step_constructor_and_description($conf);
@@ -95,7 +68,7 @@
     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);
@@ -117,7 +90,7 @@
     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);
@@ -141,7 +114,7 @@
     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);
@@ -165,7 +138,7 @@
     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);
@@ -187,7 +160,7 @@
     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);
@@ -209,7 +182,7 @@
     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);
@@ -231,7 +204,7 @@
     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);
@@ -253,7 +226,7 @@
     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);
@@ -273,7 +246,7 @@
     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);
@@ -342,11 +315,8 @@
     like( $stdout, qr/platform:\s+?baz/s,
         "Got expected verbose output" );
 }
-
 pass("Completed all tests in $0");
 
-sub _capture { $errstr = $_[0]; }
-
 ################### DOCUMENTATION ###################
 
 =head1 NAME

Modified: trunk/t/steps/auto/attributes-01.t
==============================================================================
--- trunk/t/steps/auto/attributes-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/attributes-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,15 +5,13 @@
 
 use strict;
 use warnings;
-use Test::More tests => 12;
+use Test::More tests =>  7;
 use Carp;
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
 use_ok('config::auto::attributes');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
     test_step_constructor_and_description
 );
 use IO::CaptureOutput qw | capture |;
@@ -23,9 +21,8 @@
     mode            => q{configure},
 } );
 
-my $conf = Parrot::Configure->new();
-
-test_step_thru_runstep($conf, q{init::defaults}, $args);
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $pkg = q{auto::attributes};
 

Modified: trunk/t/steps/auto/backtrace-01.t
==============================================================================
--- trunk/t/steps/auto/backtrace-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/backtrace-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,15 +5,13 @@
 
 use strict;
 use warnings;
-use Test::More tests => 19;
+use Test::More tests => 14;
 use Carp;
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
 use_ok('config::auto::backtrace');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
     test_step_constructor_and_description
 );
 
@@ -24,9 +22,8 @@
     mode            => q{configure},
 } );
 
-my $conf = Parrot::Configure->new();
-
-test_step_thru_runstep($conf, q{init::defaults}, $args);
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my ($task, $step_name, $step, $ret);
 my $pkg = q{auto::backtrace};

Modified: trunk/t/steps/auto/byteorder-01.t
==============================================================================
--- trunk/t/steps/auto/byteorder-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/byteorder-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -9,10 +9,9 @@
 use Carp;
 use lib qw( lib t/configure/testlib );
 use_ok('config::auto::byteorder');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
     test_step_constructor_and_description
 );
 
@@ -25,7 +24,8 @@
     }
 );
 
-my $conf = Parrot::Configure->new;
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $pkg = q{auto::byteorder};
 

Modified: trunk/t/steps/auto/cgoto-01.t
==============================================================================
--- trunk/t/steps/auto/cgoto-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/cgoto-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,16 +5,13 @@
 
 use strict;
 use warnings;
-use Test::More tests =>  56;
+use Test::More tests =>  45;
 use Carp;
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
 use_ok('config::auto::cgoto');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
     test_step_constructor_and_description
 );
 use IO::CaptureOutput qw( capture );
@@ -27,12 +24,11 @@
     mode => q{configure},
 } );
 
-my $conf = Parrot::Configure->new;
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $serialized = $conf->pcfreeze();
 
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-
 my $pkg = q{auto::cgoto};
 
 $conf->add_steps($pkg);
@@ -55,7 +51,7 @@
     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);
@@ -93,7 +89,7 @@
     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);

Modified: trunk/t/steps/auto/cpu-01.t
==============================================================================
--- trunk/t/steps/auto/cpu-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/cpu-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,16 +5,13 @@
 
 use strict;
 use warnings;
-use Test::More tests =>  22;
+use Test::More tests =>  14;
 use Carp;
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
 use_ok('config::auto::cpu');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
     test_step_constructor_and_description
 );
 use IO::CaptureOutput qw( capture );
@@ -26,16 +23,16 @@
     mode => q{configure},
 } );
 
-my $conf = Parrot::Configure->new;
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
+my ($pkg, $step);
 my $serialized = $conf->pcfreeze();
 
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-
-my $pkg = q{auto::cpu};
+$pkg = q{auto::cpu};
 $conf->add_steps($pkg);
 $conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
+$step = test_step_constructor_and_description($conf);
 {
     $conf->data->set('cpuarch' => 'foobar');
     my ($ret, $stdout);
@@ -52,6 +49,7 @@
 }
 
 $conf->replenish($serialized);
+$conf->options->set( 'verbose' => undef );
 
 ########### mock cpuarch ###########
 
@@ -59,7 +57,7 @@
     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);

Modified: trunk/t/steps/auto/crypto-01.t
==============================================================================
--- trunk/t/steps/auto/crypto-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/crypto-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -8,11 +8,9 @@
 use Carp;
 use lib qw( lib t/configure/testlib );
 use_ok('config::auto::crypto');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
     test_step_constructor_and_description
 );
 use IO::CaptureOutput qw( capture );
@@ -26,7 +24,8 @@
     }
 );
 
-my $conf = Parrot::Configure->new;
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $pkg = q{auto::crypto};
 

Modified: trunk/t/steps/auto/ctags-01.t
==============================================================================
--- trunk/t/steps/auto/ctags-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/ctags-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -9,10 +9,9 @@
 use Carp;
 use lib qw( lib t/configure/testlib );
 use_ok('config::auto::ctags');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
     test_step_constructor_and_description
 );
 use IO::CaptureOutput qw( capture );
@@ -24,7 +23,8 @@
     mode => q{configure},
 } );
 
-my $conf = Parrot::Configure->new;
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $pkg = q{auto::ctags};
 

Modified: trunk/t/steps/auto/env-01.t
==============================================================================
--- trunk/t/steps/auto/env-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/env-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,16 +5,13 @@
 
 use strict;
 use warnings;
-use Test::More tests =>  29;
+use Test::More tests =>  24;
 use Carp;
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
 use_ok('config::auto::env');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
     test_step_constructor_and_description
 );
 use IO::CaptureOutput qw( capture );
@@ -26,9 +23,8 @@
     mode            => q{configure},
 } );
 
-my $conf = Parrot::Configure->new();
-
-test_step_thru_runstep($conf, q{init::defaults}, $args);
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $pkg = q{auto::env};
 

Modified: trunk/t/steps/auto/format-01.t
==============================================================================
--- trunk/t/steps/auto/format-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/format-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,16 +5,15 @@
 
 use strict;
 use warnings;
-use Test::More tests => 21;
+use Test::More tests => 17;
 use Carp;
 use lib qw( lib t/configure/testlib );
 use_ok('config::init::defaults');
 use_ok('config::auto::format');
 use Parrot::BuildUtil;
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
     test_step_constructor_and_description
 );
 
@@ -25,9 +24,8 @@
     mode            => q{configure},
 } );
 
-my $conf = Parrot::Configure->new();
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my ($task, $step_name, $step, $ret);
 my $pkg = q{auto::format};
@@ -100,10 +98,12 @@
     );
 }
 {
-    my $p5format = '%.15' . $conf->data->get_p5('sPRIgldbl');
+    my $p5format = '%.15' . $conf->data->get('sPRIgldbl_provisional');
     $p5format =~ s/"//g;; # Perl 5's Config value has embedded double quotes
     $conf->data->set( nv => 'long double' );
+    eval {
     auto::format::_set_floatvalfmt_nvsize($conf);
+};
     is($conf->data->get( 'floatvalfmt' ), $p5format,
         "floatvalfmt set as expected: nv long double");
     is($conf->data->get( 'nvsize' ), $conf->data->get( 'hugefloatvalsize' ),

Modified: trunk/t/steps/auto/frames-01.t
==============================================================================
--- trunk/t/steps/auto/frames-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/frames-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,14 +5,12 @@
 
 use strict;
 use warnings;
-use Test::More tests => 27;
+use Test::More tests => 22;
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
 use_ok('config::auto::frames');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
     test_step_constructor_and_description
 );
 
@@ -22,12 +20,11 @@
     mode => q{configure},
 } );
 
-my $conf = Parrot::Configure->new;
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $serialized = $conf->pcfreeze();
 
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-
 my $pkg = q{auto::frames};
 $conf->add_steps($pkg);
 $conf->options->set( %{$args} );

Modified: trunk/t/steps/auto/gc-01.t
==============================================================================
--- trunk/t/steps/auto/gc-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/gc-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -8,11 +8,9 @@
 use Test::More tests =>  8;
 use lib qw( lib t/configure/testlib );
 use_ok('config::auto::gc');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
     test_step_constructor_and_description
 );
 use IO::CaptureOutput qw| capture |;
@@ -26,7 +24,8 @@
     }
 );
 
-my $conf = Parrot::Configure->new;
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $pkg = q{auto::gc};
 

Modified: trunk/t/steps/auto/gcc-01.t
==============================================================================
--- trunk/t/steps/auto/gcc-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/gcc-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,17 +5,13 @@
 
 use strict;
 use warnings;
-use Test::More tests => 122;
+use Test::More tests =>  79;
 use Carp;
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
-use_ok('config::inter::progs');
 use_ok('config::auto::gcc');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
     test_step_constructor_and_description
 );
 use IO::CaptureOutput qw | capture |;
@@ -27,13 +23,11 @@
     mode            => q{configure},
 } );
 
-my $conf = Parrot::Configure->new();
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $serialized = $conf->pcfreeze();
 
-test_step_thru_runstep($conf, q{init::defaults}, $args);
-test_step_thru_runstep($conf, q{inter::progs},   $args);
-
 my $pkg = q{auto::gcc};
 
 $conf->add_steps($pkg);
@@ -46,7 +40,6 @@
 
 ########## _evaluate_gcc() ##########
 
-rerun_defaults_for_testing($conf, $args );
 $conf->add_steps($pkg);
 $conf->options->set(%{$args});
 $step = test_step_constructor_and_description($conf);
@@ -60,7 +53,6 @@
 
 ########## _evaluate_gcc() ##########
 
-rerun_defaults_for_testing($conf, $args );
 $conf->add_steps($pkg);
 $conf->options->set(%{$args});
 $step = test_step_constructor_and_description($conf);
@@ -81,7 +73,6 @@
     argv            => [ q{--verbose} ],
     mode            => q{configure},
 } );
-rerun_defaults_for_testing($conf, $args );
 $conf->add_steps($pkg);
 $conf->options->set(%{$args});
 $step = test_step_constructor_and_description($conf);
@@ -106,7 +97,6 @@
     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);
@@ -127,7 +117,6 @@
     argv            => [ q{--verbose} ],
     mode            => q{configure},
 } );
-rerun_defaults_for_testing($conf, $args );
 $conf->add_steps($pkg);
 $conf->options->set(%{$args});
 $step = test_step_constructor_and_description($conf);
@@ -148,7 +137,6 @@
 
 ########## _evaluate_gcc() ##########
 
-rerun_defaults_for_testing($conf, $args );
 $conf->add_steps($pkg);
 $conf->options->set(%{$args});
 $step = test_step_constructor_and_description($conf);
@@ -176,7 +164,6 @@
     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);
@@ -203,7 +190,6 @@
     argv            => [ q{--verbose} ],
     mode            => q{configure},
 } );
-rerun_defaults_for_testing($conf, $args );
 $conf->add_steps($pkg);
 $conf->options->set(%{$args});
 $step = test_step_constructor_and_description($conf);
@@ -231,7 +217,6 @@
     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);
@@ -251,7 +236,6 @@
     argv            => [ q{--maintainer}, q{--cage} ],
     mode            => q{configure},
 } );
-rerun_defaults_for_testing($conf, $args );
 $conf->add_steps($pkg);
 $conf->options->set(%{$args});
 $step = test_step_constructor_and_description($conf);
@@ -273,7 +257,6 @@
     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);
@@ -281,7 +264,7 @@
 $gnucref->{__GNUC__} = q{3};
 $gnucref->{__GNUC_MINOR__} = q{1};
 {
-    $conf->data->set_p5( OSNAME => 'hpux' );
+    $conf->data->set( OSNAME_provisional => 'hpux' );
     ok($step->_evaluate_gcc($conf, $gnucref),
         "_evaluate_gcc() returned true value");
     ok(defined $conf->data->get( 'gccversion' ),

Modified: trunk/t/steps/auto/gdbm-01.t
==============================================================================
--- trunk/t/steps/auto/gdbm-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/gdbm-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,19 +5,16 @@
 
 use strict;
 use warnings;
-use Test::More tests =>  40;
+use Test::More tests =>  29;
 use Carp;
 use Cwd;
 use File::Spec;
 use File::Temp qw( tempdir );
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
 use_ok('config::auto::gdbm');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
     test_step_constructor_and_description
 );
 use IO::CaptureOutput qw| capture |;
@@ -37,12 +34,11 @@
     mode => q{configure},
 } );
 
-my $conf = Parrot::Configure->new;
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $serialized = $conf->pcfreeze();
 
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-
 my $pkg = q{auto::gdbm};
 
 $conf->add_steps($pkg);
@@ -62,7 +58,6 @@
     argv => [ q{--without-gdbm} ],
     mode => q{configure},
 } );
-rerun_defaults_for_testing($conf, $args );
 $conf->add_steps($pkg);
 $conf->options->set( %{$args} );
 $step = test_step_constructor_and_description($conf);
@@ -107,7 +102,6 @@
     argv => [ q{--without-gdbm} ],
     mode => q{configure},
 } );
-rerun_defaults_for_testing($conf, $args );
 $conf->add_steps($pkg);
 $conf->options->set( %{$args} );
 $step = test_step_constructor_and_description($conf);

Modified: trunk/t/steps/auto/gettext-01.t
==============================================================================
--- trunk/t/steps/auto/gettext-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/gettext-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -9,11 +9,9 @@
 use Carp;
 use lib qw( lib t/configure/testlib );
 use_ok('config::auto::gettext');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
     test_step_constructor_and_description
 );
 use IO::CaptureOutput qw( capture );
@@ -27,7 +25,8 @@
     }
 );
 
-my $conf = Parrot::Configure->new;
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $pkg = q{auto::gettext};
 

Modified: trunk/t/steps/auto/glibc-01.t
==============================================================================
--- trunk/t/steps/auto/glibc-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/glibc-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,15 +5,13 @@
 
 use strict;
 use warnings;
-use Test::More tests => 18;
+use Test::More tests => 13;
 use Carp;
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
 use_ok('config::auto::glibc');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
     test_step_constructor_and_description
 );
 
@@ -24,9 +22,8 @@
     mode            => q{configure},
 } );
 
-my $conf = Parrot::Configure->new();
-
-test_step_thru_runstep($conf, q{init::defaults}, $args);
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my ($task, $step_name, $step, $ret);
 my $pkg = q{auto::glibc};

Modified: trunk/t/steps/auto/gmp-01.t
==============================================================================
--- trunk/t/steps/auto/gmp-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/gmp-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,19 +5,16 @@
 
 use strict;
 use warnings;
-use Test::More tests =>  31;
+use Test::More tests =>  26;
 use Carp;
 use Cwd;
 use File::Spec;
 use File::Temp qw( tempdir );
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
 use_ok('config::auto::gmp');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
     test_step_constructor_and_description
 );
 use IO::CaptureOutput qw( capture );
@@ -35,9 +32,8 @@
     mode => q{configure},
 } );
 
-my $conf = Parrot::Configure->new;
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $pkg = q{auto::gmp};
 

Modified: trunk/t/steps/auto/headers-01.t
==============================================================================
--- trunk/t/steps/auto/headers-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/headers-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,16 +5,14 @@
 
 use strict;
 use warnings;
-use Test::More tests =>  30;
+use Test::More tests =>  19;
 use Carp;
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
 use_ok('config::auto::headers');
 use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
     test_step_constructor_and_description
 );
 use IO::CaptureOutput qw | capture |;
@@ -28,11 +26,10 @@
     }
 );
 
-my $conf = Parrot::Configure->new;
-
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 my $serialized = $conf->pcfreeze();
 
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
 my $pkg = q{auto::headers};
 
 $conf->add_steps($pkg);
@@ -54,8 +51,6 @@
     }
 );
 
-rerun_defaults_for_testing($conf, $args );
-
 $conf->add_steps($pkg);
 $conf->options->set( %{$args} );
 $step = test_step_constructor_and_description($conf);
@@ -79,8 +74,6 @@
     }
 );
 
-rerun_defaults_for_testing($conf, $args );
-
 $conf->add_steps($pkg);
 $conf->options->set( %{$args} );
 $step = test_step_constructor_and_description($conf);
@@ -89,7 +82,7 @@
 ok(! $conf->data->get('i_niin'), "Mapping made correctly");
 
 {
-    $conf->data->set_p5( OSNAME => "msys" );
+    $conf->data->set( OSNAME_provisional => "msys" );
     my %extra_headers =
         map {$_, 1} auto::headers::_list_extra_headers($conf);
     ok($extra_headers{'sysmman.h'}, "Special header set for msys");

Modified: trunk/t/steps/auto/inline-01.t
==============================================================================
--- trunk/t/steps/auto/inline-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/inline-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,16 +5,13 @@
 
 use strict;
 use warnings;
-use Test::More tests =>  37;
+use Test::More tests =>  32;
 use Carp;
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
 use_ok('config::auto::inline');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
     test_step_constructor_and_description
 );
 use IO::CaptureOutput qw( capture );
@@ -28,9 +25,8 @@
     }
 );
 
-my $conf = Parrot::Configure->new;
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $pkg = q{auto::inline};
 

Modified: trunk/t/steps/auto/isreg-01.t
==============================================================================
--- trunk/t/steps/auto/isreg-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/isreg-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,16 +5,13 @@
 
 use strict;
 use warnings;
-use Test::More tests => 23;
+use Test::More tests => 18;
 use Carp;
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
 use_ok('config::auto::isreg');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
     test_step_constructor_and_description
 );
 use IO::CaptureOutput qw| capture |;
@@ -26,9 +23,8 @@
     mode            => q{configure},
 } );
 
-my $conf = Parrot::Configure->new();
-
-test_step_thru_runstep($conf, q{init::defaults}, $args);
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $pkg = q{auto::isreg};
 

Modified: trunk/t/steps/auto/jit-01.t
==============================================================================
--- trunk/t/steps/auto/jit-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/jit-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,23 +5,20 @@
 
 use strict;
 use warnings;
-use Test::More tests =>  9;
+use Test::More tests =>  4;
 use Carp;
 use Cwd;
 use File::Path qw( mkpath );
 use File::Temp qw( tempdir );
 use File::Spec;
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
 use_ok('config::auto::jit');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
-use IO::CaptureOutput qw( capture );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
     test_step_constructor_and_description
 );
+use IO::CaptureOutput qw( capture );
 
 
 my ($args, $step_list_ref) = process_options( {
@@ -29,12 +26,11 @@
     mode => q{configure},
 } );
 
-my $conf = Parrot::Configure->new;
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $serialized = $conf->pcfreeze();
 
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-
 my $pkg = q{auto::jit};
 $conf->add_steps($pkg);
 $conf->options->set( %{$args} );

Modified: trunk/t/steps/auto/memalign-01.t
==============================================================================
--- trunk/t/steps/auto/memalign-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/memalign-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,16 +5,13 @@
 
 use strict;
 use warnings;
-use Test::More tests => 69;
+use Test::More tests => 58;
 use Carp;
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
 use_ok('config::auto::memalign');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
     test_step_constructor_and_description
 );
 use IO::CaptureOutput qw| capture |;
@@ -28,12 +25,11 @@
     }
 );
 
-my $conf = Parrot::Configure->new;
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $serialized = $conf->pcfreeze();
 
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-
 my $pkg = q{auto::memalign};
 
 $conf->add_steps($pkg);
@@ -58,7 +54,7 @@
         mode => q{configure},
     }
 );
-rerun_defaults_for_testing($conf, $args );
+
 $conf->add_steps($pkg);
 $conf->options->set( %{$args} );
 $step = test_step_constructor_and_description($conf);
@@ -162,7 +158,7 @@
         mode => q{configure},
     }
 );
-rerun_defaults_for_testing($conf, $args );
+
 $conf->add_steps($pkg);
 $conf->options->set( %{$args} );
 $step = test_step_constructor_and_description($conf);

Modified: trunk/t/steps/auto/msvc-01.t
==============================================================================
--- trunk/t/steps/auto/msvc-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/msvc-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,15 +5,13 @@
 
 use strict;
 use warnings;
-use Test::More tests => 43;
+use Test::More tests => 38;
 use Carp;
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
 use_ok('config::auto::msvc');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
     test_step_constructor_and_description
 );
 use IO::CaptureOutput qw| capture |;
@@ -25,9 +23,8 @@
     mode            => q{configure},
 } );
 
-my $conf = Parrot::Configure->new();
-
-test_step_thru_runstep($conf, q{init::defaults}, $args);
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $pkg = q{auto::msvc};
 

Modified: trunk/t/steps/auto/neg_0-01.t
==============================================================================
--- trunk/t/steps/auto/neg_0-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/neg_0-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,20 +5,13 @@
 
 use strict;
 use warnings;
-
-use Test::More tests => 31;
+use Test::More tests => 23;
 use Carp;
-
 use lib qw( lib t/configure/testlib );
-
-use_ok('config::init::defaults');
 use_ok('config::auto::neg_0');
-
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
     test_step_constructor_and_description
 );
 use IO::CaptureOutput 'capture';
@@ -32,9 +25,9 @@
     }
 );
 
-my $conf = Parrot::Configure->new;
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
-test_step_thru_runstep( $conf, 'init::defaults', $args );
 my $pkg = 'auto::neg_0';
 
 $conf->add_steps($pkg);
@@ -87,7 +80,7 @@
     argv => [ q{--verbose} ],
     mode => q{configure},
 } );
-rerun_defaults_for_testing($conf, $args );
+
 $conf->add_steps($pkg);
 $conf->options->set( %{$args} );
 $step = test_step_constructor_and_description($conf);

Modified: trunk/t/steps/auto/opengl-01.t
==============================================================================
--- trunk/t/steps/auto/opengl-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/opengl-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,16 +5,13 @@
 
 use strict;
 use warnings;
-use Test::More tests => 43;
+use Test::More tests => 32;
 use Carp;
 use lib qw( lib );
-use_ok('config::init::defaults');
 use_ok('config::auto::opengl');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
     test_step_constructor_and_description
 );
 use IO::CaptureOutput qw| capture |;
@@ -28,12 +25,11 @@
     }
 );
 
-my $conf = Parrot::Configure->new;
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $serialized = $conf->pcfreeze();
 
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-
 my $pkg = q{auto::opengl};
 
 $conf->add_steps($pkg);
@@ -54,7 +50,6 @@
         mode => q{configure},
     }
 );
-rerun_defaults_for_testing($conf, $args );
 $conf->add_steps($pkg);
 $conf->options->set( %{$args} );
 $step = test_step_constructor_and_description($conf);
@@ -131,7 +126,6 @@
         mode => q{configure},
     }
 );
-rerun_defaults_for_testing($conf, $args );
 $conf->add_steps($pkg);
 $conf->options->set( %{$args} );
 $step = test_step_constructor_and_description($conf);

Modified: trunk/t/steps/auto/ops-01.t
==============================================================================
--- trunk/t/steps/auto/ops-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/ops-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -9,10 +9,9 @@
 use Carp;
 use lib qw( lib t/configure/testlib );
 use_ok('config::auto::ops');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
     test_step_constructor_and_description
 );
 
@@ -25,7 +24,8 @@
     }
 );
 
-my $conf = Parrot::Configure->new;
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $pkg = q{auto::ops};
 

Modified: trunk/t/steps/auto/pcre-01.t
==============================================================================
--- trunk/t/steps/auto/pcre-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/pcre-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,16 +5,13 @@
 
 use strict;
 use warnings;
-use Test::More tests => 34;
+use Test::More tests => 23;
 use Carp;
 use lib qw( lib );
-use_ok('config::init::defaults');
 use_ok('config::auto::pcre');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
     test_step_constructor_and_description
 );
 use IO::CaptureOutput qw| capture |;
@@ -28,12 +25,11 @@
     }
 );
 
-my $conf = Parrot::Configure->new;
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $serialized = $conf->pcfreeze();
 
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-
 my $pkg = q{auto::pcre};
 
 $conf->add_steps($pkg);
@@ -52,7 +48,6 @@
     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);
@@ -122,7 +117,6 @@
     argv => [ q{--verbose} ],
     mode => q{configure},
 } );
-rerun_defaults_for_testing($conf, $args );
 $conf->add_steps($pkg);
 $conf->options->set( %{$args} );
 $step = test_step_constructor_and_description($conf);

Modified: trunk/t/steps/auto/perldoc-01.t
==============================================================================
--- trunk/t/steps/auto/perldoc-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/perldoc-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,20 +5,16 @@
 
 use strict;
 use warnings;
-use Test::More tests => 32;
+use Test::More tests => 27;
 use Carp;
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
 use_ok('config::auto::perldoc');
 use Parrot::BuildUtil;
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
     test_step_constructor_and_description
 );
-use IO::CaptureOutput qw| capture |;
 
 ########## regular ##########
 
@@ -27,9 +23,8 @@
     mode            => q{configure},
 } );
 
-my $conf = Parrot::Configure->new();
-
-test_step_thru_runstep($conf, q{init::defaults}, $args);
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $pkg = q{auto::perldoc};
 

Modified: trunk/t/steps/auto/pmc-01.t
==============================================================================
--- trunk/t/steps/auto/pmc-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/pmc-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,18 +5,16 @@
 
 use strict;
 use warnings;
-use Test::More tests =>  28;
+use Test::More tests =>  23;
 use Carp;
 use Cwd;
 use File::Path qw| mkpath |;
 use File::Temp qw| tempdir |;
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
 use_ok('config::auto::pmc');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
     test_step_constructor_and_description
 );
 
@@ -29,9 +27,8 @@
     }
 );
 
-my $conf = Parrot::Configure->new;
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $pkg = q{auto::pmc};
 

Modified: trunk/t/steps/auto/pod2man-01.t
==============================================================================
--- trunk/t/steps/auto/pod2man-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/pod2man-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,20 +5,16 @@
 
 use strict;
 use warnings;
-use Test::More tests => 15;
+use Test::More tests => 10;
 use Carp;
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
 use_ok('config::auto::pod2man');
 use Parrot::BuildUtil;
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
     test_step_constructor_and_description
 );
-use IO::CaptureOutput qw| capture |;
 
 ########## regular ##########
 
@@ -27,9 +23,8 @@
     mode            => q{configure},
 } );
 
-my $conf = Parrot::Configure->new();
-
-test_step_thru_runstep($conf, q{init::defaults}, $args);
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $pkg = q{auto::pod2man};
 

Modified: trunk/t/steps/auto/readline-01.t
==============================================================================
--- trunk/t/steps/auto/readline-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/readline-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,18 +5,16 @@
 
 use strict;
 use warnings;
-use Test::More tests => 14;
+use Test::More tests =>  9;
 use Carp;
 use Cwd;
 use File::Spec;
 use File::Temp qw( tempdir );
 use lib qw( lib );
-use_ok('config::init::defaults');
 use_ok('config::auto::readline');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
     test_step_constructor_and_description
 );
 use IO::CaptureOutput qw | capture |;
@@ -30,9 +28,8 @@
     }
 );
 
-my $conf = Parrot::Configure->new;
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $pkg = q{auto::readline};
 

Modified: trunk/t/steps/auto/readline-02.t
==============================================================================
--- trunk/t/steps/auto/readline-02.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/readline-02.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -10,10 +10,9 @@
 use Cwd;
 use lib qw( lib );
 use_ok('config::auto::readline');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
     test_step_constructor_and_description
 );
 use IO::CaptureOutput qw| capture |;
@@ -25,7 +24,8 @@
     }
 );
 
-my $conf = Parrot::Configure->new;
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $pkg = q{auto::readline};
 

Modified: trunk/t/steps/auto/revision-01.t
==============================================================================
--- trunk/t/steps/auto/revision-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/revision-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -9,10 +9,9 @@
 use Carp;
 use lib qw( lib t/configure/testlib );
 use_ok('config::auto::revision');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
     test_step_constructor_and_description
 );
 
@@ -25,7 +24,8 @@
     }
 );
 
-my $conf = Parrot::Configure->new;
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $pkg = q{auto::revision};
 

Modified: trunk/t/steps/auto/signal-01.t
==============================================================================
--- trunk/t/steps/auto/signal-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/signal-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,18 +5,15 @@
 
 use strict;
 use warnings;
-use Test::More tests =>  35;
+use Test::More tests =>  27;
 use Carp;
 use Cwd;
 use File::Temp qw(tempdir);
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
 use_ok('config::auto::signal');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
     test_step_constructor_and_description
 );
 use IO::CaptureOutput qw| capture |;
@@ -28,12 +25,11 @@
     mode => q{configure},
 } );
 
-my $conf = Parrot::Configure->new;
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $serialized = $conf->pcfreeze();
 
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-
 my $pkg = q{auto::signal};
 
 $conf->add_steps($pkg);
@@ -83,7 +79,7 @@
     argv => [ q{--verbose} ],
     mode => q{configure},
 } );
-rerun_defaults_for_testing($conf, $args );
+
 $conf->add_steps($pkg);
 $conf->options->set( %{$args} );
 $step = test_step_constructor_and_description($conf);

Modified: trunk/t/steps/auto/sizes-01.t
==============================================================================
--- trunk/t/steps/auto/sizes-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/sizes-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,16 +5,13 @@
 
 use strict;
 use warnings;
-use Test::More tests => 58;
+use Test::More tests => 53;
 use Carp;
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
 use_ok('config::auto::sizes');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
     test_step_constructor_and_description
 );
 use IO::CaptureOutput qw | capture |;
@@ -29,12 +26,11 @@
     }
 );
 
-my $conf = Parrot::Configure->new;
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $serialized = $conf->pcfreeze();
 
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-
 my $pkg = q{auto::sizes};
 
 $conf->add_steps($pkg);

Modified: trunk/t/steps/auto/snprintf-01.t
==============================================================================
--- trunk/t/steps/auto/snprintf-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/snprintf-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,18 +5,13 @@
 
 use strict;
 use warnings;
-use Test::More tests => 33;
+use Test::More tests => 18;
 use Carp;
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
-use_ok('config::init::hints');
-use_ok('config::auto::attributes');
 use_ok('config::auto::snprintf');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
     test_step_constructor_and_description
 );
 use IO::CaptureOutput qw| capture |;
@@ -28,11 +23,8 @@
     mode            => q{configure},
 } );
 
-my $conf = Parrot::Configure->new();
-
-test_step_thru_runstep($conf, q{init::defaults}, $args);
-test_step_thru_runstep($conf, q{init::hints}, $args);
-test_step_thru_runstep($conf, q{auto::attributes}, $args);
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $pkg = q{auto::snprintf};
 

Modified: trunk/t/steps/auto/socklen_t-01.t
==============================================================================
--- trunk/t/steps/auto/socklen_t-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/socklen_t-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -9,11 +9,9 @@
 use Carp;
 use lib qw( lib t/configure/testlib );
 use_ok('config::auto::socklen_t');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
     test_step_constructor_and_description
 );
 use IO::CaptureOutput qw| capture |;
@@ -27,7 +25,8 @@
     }
 );
 
-my $conf = Parrot::Configure->new;
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $pkg = q{auto::socklen_t};
 

Modified: trunk/t/steps/auto/thread-01.t
==============================================================================
--- trunk/t/steps/auto/thread-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/thread-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -8,14 +8,11 @@
 use Carp;
 use lib qw( lib t/configure/testlib );
 use_ok('config::auto::thread');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
     test_step_constructor_and_description
 );
-use IO::CaptureOutput qw( capture );
 
 ########## --without-threads ##########
 
@@ -26,7 +23,8 @@
     }
 );
 
-my $conf = Parrot::Configure->new;
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $pkg = q{auto::thread};
 

Modified: trunk/t/steps/auto/va_ptr-01.t
==============================================================================
--- trunk/t/steps/auto/va_ptr-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/va_ptr-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -9,10 +9,9 @@
 use Carp;
 use lib qw( lib t/configure/testlib );
 use_ok('config::auto::va_ptr');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
     test_step_constructor_and_description
 );
 
@@ -23,7 +22,8 @@
     }
 );
 
-my $conf = Parrot::Configure->new;
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $pkg = q{auto::va_ptr};
 $conf->add_steps($pkg);

Modified: trunk/t/steps/auto/warnings-01.t
==============================================================================
--- trunk/t/steps/auto/warnings-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/auto/warnings-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,17 +5,13 @@
 
 use strict;
 use warnings;
-use Test::More tests =>  56;
+use Test::More tests =>  41;
 use Carp;
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
-use_ok('config::init::hints');
-use_ok('config::inter::progs');
 use_ok('config::auto::warnings');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
     test_step_constructor_and_description
 );
 use IO::CaptureOutput qw | capture |;
@@ -27,11 +23,8 @@
     }
 );
 
-my $conf = Parrot::Configure->new;
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-test_step_thru_runstep( $conf, q{init::hints}, $args );
-test_step_thru_runstep( $conf, q{inter::progs}, $args );
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $pkg = q{auto::warnings};
 

Modified: trunk/t/steps/gen/call_list-01.t
==============================================================================
--- trunk/t/steps/gen/call_list-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/gen/call_list-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -9,10 +9,9 @@
 use Carp;
 use lib qw( lib );
 use_ok('config::gen::call_list');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
     test_step_constructor_and_description
 );
 
@@ -25,7 +24,9 @@
     }
 );
 
-my $conf = Parrot::Configure->new;
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
+
 my $pkg = q{gen::call_list};
 $conf->add_steps($pkg);
 $conf->options->set( %{$args} );

Modified: trunk/t/steps/gen/config_h-01.t
==============================================================================
--- trunk/t/steps/gen/config_h-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/gen/config_h-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -11,11 +11,9 @@
 use File::Temp qw( tempdir );
 use lib qw( lib );
 use_ok('config::gen::config_h');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
     test_step_constructor_and_description
 );
 use Parrot::Configure::Utils qw( _slurp );
@@ -29,7 +27,8 @@
     }
 );
 
-my $conf = Parrot::Configure->new;
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $serialized = $conf->pcfreeze();
 

Modified: trunk/t/steps/gen/config_pm-01.t
==============================================================================
--- trunk/t/steps/gen/config_pm-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/gen/config_pm-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -9,10 +9,9 @@
 use Carp;
 use lib qw( lib t/configure/testlib );
 use_ok('config::gen::config_pm');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
     test_step_constructor_and_description
 );
 
@@ -25,7 +24,9 @@
     }
 );
 
-my $conf = Parrot::Configure->new;
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
+
 my $pkg = q{gen::config_pm};
 $conf->add_steps($pkg);
 $conf->options->set( %{$args} );

Modified: trunk/t/steps/gen/core_pmcs-01.t
==============================================================================
--- trunk/t/steps/gen/core_pmcs-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/gen/core_pmcs-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,16 +5,14 @@
 
 use strict;
 use warnings;
-use Test::More tests => 16;
+use Test::More tests =>  7;
 use Carp;
 use lib qw( lib );
-use_ok('init::defaults');
 use_ok('auto::pmc');
 use_ok('config::gen::core_pmcs');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
     test_step_constructor_and_description
 );
 
@@ -27,9 +25,9 @@
     }
 );
 
-my $conf = Parrot::Configure->new;
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-test_step_thru_runstep( $conf, q{auto::pmc}, $args );
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
+
 my $pkg = q{gen::core_pmcs};
 $conf->add_steps($pkg);
 $conf->options->set( %{$args} );

Modified: trunk/t/steps/gen/crypto-01.t
==============================================================================
--- trunk/t/steps/gen/crypto-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/gen/crypto-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -9,11 +9,9 @@
 use Carp;
 use lib qw( lib );
 use_ok('config::gen::crypto');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
     test_step_constructor_and_description
 );
 
@@ -26,7 +24,8 @@
     }
 );
 
-my $conf = Parrot::Configure->new;
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $serialized = $conf->pcfreeze();
 

Modified: trunk/t/steps/gen/makefiles-01.t
==============================================================================
--- trunk/t/steps/gen/makefiles-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/gen/makefiles-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -83,10 +83,9 @@
 
 use_ok('config::gen::makefiles');
 
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
     test_step_constructor_and_description
 );
 
@@ -99,7 +98,8 @@
     }
 );
 
-my $conf = Parrot::Configure->new();
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 my $pkg  = 'gen::makefiles';
 
 $conf->add_steps($pkg);

Modified: trunk/t/steps/gen/opengl-01.t
==============================================================================
--- trunk/t/steps/gen/opengl-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/gen/opengl-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -9,10 +9,9 @@
 use Carp;
 use lib qw( lib );
 use_ok('config::gen::opengl');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
     test_step_constructor_and_description
 );
 
@@ -25,7 +24,9 @@
     }
 );
 
-my $conf = Parrot::Configure->new;
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
+
 my $pkg = q{gen::opengl};
 $conf->add_steps($pkg);
 $conf->options->set( %{$args} );

Modified: trunk/t/steps/gen/parrot_include-01.t
==============================================================================
--- trunk/t/steps/gen/parrot_include-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/gen/parrot_include-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -9,10 +9,9 @@
 use Carp;
 use lib qw( lib );
 use_ok('config::gen::parrot_include');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
     test_step_constructor_and_description
 );
 
@@ -25,7 +24,9 @@
     }
 );
 
-my $conf = Parrot::Configure->new;
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
+
 my $pkg = q{gen::parrot_include};
 $conf->add_steps($pkg);
 $conf->options->set( %{$args} );

Modified: trunk/t/steps/gen/platform-01.t
==============================================================================
--- trunk/t/steps/gen/platform-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/gen/platform-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -14,10 +14,9 @@
 use File::Spec;
 use lib qw( lib );
 use_ok('config::gen::platform');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
     test_step_constructor_and_description
 );
 use Parrot::Configure::Utils qw( _slurp );
@@ -32,7 +31,9 @@
     }
 );
 
-my $conf = Parrot::Configure->new;
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
+
 my $pkg = q{gen::platform};
 $conf->add_steps($pkg);
 $conf->options->set( %{$args} );
@@ -43,7 +44,7 @@
 
 my $platform_orig = $conf->data->get('osname');
 my $archname_orig = $conf->data->get('archname');
-$conf->data->set_p5( archname => 'foo-bar' );
+$conf->data->set( archname => 'foo-bar' );
 my $verbose = 0;
 
 ########## _get_generated() ##########

Modified: trunk/t/steps/init/headers-01.t
==============================================================================
--- trunk/t/steps/init/headers-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/init/headers-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -13,10 +13,12 @@
 use Tie::File;
 use lib qw( lib );
 use_ok('config::init::headers');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
+use Parrot::Configure::Test qw(
+    test_step_constructor_and_description
+);
 
-my $pkg  = q{init::headers};
 my ($args, $step_list_ref) = process_options(
     {
         argv => [],
@@ -24,17 +26,14 @@
     }
 );
 
-my $conf = Parrot::Configure->new;
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
+
+my $pkg  = q{init::headers};
 $conf->add_steps($pkg);
 $conf->options->set( %{$args} );
 
-my $task        = $conf->steps->[-1];
-my $step_name   = $task->step;
-
-my $step = $step_name->new();
-ok( defined $step, "$step_name constructor returned defined value" );
-isa_ok( $step, $step_name );
-ok( $step->description(), "$step_name has description" );
+my $step = test_step_constructor_and_description($conf);
 
 my $cwd = cwd();
 {

Modified: trunk/t/steps/init/hints-01.t
==============================================================================
--- trunk/t/steps/init/hints-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/init/hints-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,19 +5,17 @@
 
 use strict;
 use warnings;
-use Test::More tests => 26;
+use Test::More tests => 21;
 use Carp;
 use Cwd;
 use File::Path ();
 use File::Spec::Functions qw/catfile/;
 use File::Temp qw(tempdir);
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
 use_ok('config::init::hints');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
     test_step_constructor_and_description
 );
 use IO::CaptureOutput qw | capture |;
@@ -31,9 +29,8 @@
     }
 );
 
-my $conf = Parrot::Configure->new;
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $pkg = q{init::hints};
 
@@ -152,8 +149,8 @@
 $step = test_step_constructor_and_description($conf);
 {
     my ($stdout, $stderr, $ret);
-    $conf->data->set_p5( OSNAME => q{imaginaryOS} );
-    my $osname = lc( $conf->data->get_p5( 'OSNAME' ) );
+    $conf->data->set( OSNAME_provisional => q{imaginaryOS} );
+    my $osname = lc( $conf->data->get( 'OSNAME_provisional' ) );
     my $hints_file = catfile('config', 'init', 'hints', "$osname.pm");
     capture (
         sub { $ret = $step->runstep($conf); },

Modified: trunk/t/steps/init/hints/darwin-01.t
==============================================================================
--- trunk/t/steps/init/hints/darwin-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/init/hints/darwin-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -9,17 +9,14 @@
 use File::Temp qw( tempdir );
 use Test::More;
 plan( skip_all => 'only needs testing on Darwin' ) unless $^O =~ /darwin/i;
-plan( tests =>  41 );
-#use Test::More qw(no_plan); # tests => 41;
+plan( tests =>  36 );
 
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
 use_ok('config::init::hints');
 use_ok('config::init::hints::darwin');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
     test_step_constructor_and_description
 );
 use IO::CaptureOutput qw | capture |;
@@ -32,9 +29,8 @@
     }
 );
 
-my $conf = Parrot::Configure->new;
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 ##### Tests of some internal subroutines #####
 

Modified: trunk/t/steps/init/optimize-01.t
==============================================================================
--- trunk/t/steps/init/optimize-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/init/optimize-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -4,15 +4,13 @@
 # init/optimize-01.t
 use strict;
 use warnings;
-use Test::More tests => 33;
+use Test::More tests => 28;
 use Carp;
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
 use_ok('config::init::optimize');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
     test_step_constructor_and_description
 );
 use IO::CaptureOutput qw | capture |;
@@ -24,9 +22,8 @@
     mode => q{configure},
 } );
 
-my $conf = Parrot::Configure->new();
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $pkg = q{init::optimize};
 

Modified: trunk/t/steps/inter/charset-01.t
==============================================================================
--- trunk/t/steps/inter/charset-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/inter/charset-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,15 +5,13 @@
 
 use strict;
 use warnings;
-use Test::More tests => 17;
+use Test::More tests => 12;
 use Carp;
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
 use_ok('config::inter::charset');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
     test_step_constructor_and_description
 );
 use Tie::Filehandle::Preempt::Stdin;
@@ -27,9 +25,8 @@
     }
 );
 
-my $conf = Parrot::Configure->new;
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $pkg = q{inter::charset};
 

Modified: trunk/t/steps/inter/encoding-01.t
==============================================================================
--- trunk/t/steps/inter/encoding-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/inter/encoding-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,15 +5,13 @@
 
 use strict;
 use warnings;
-use Test::More tests => 17;
+use Test::More tests => 12;
 use Carp;
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
 use_ok('config::inter::encoding');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
     test_step_constructor_and_description
 );
 use Tie::Filehandle::Preempt::Stdin;
@@ -27,9 +25,8 @@
     }
 );
 
-my $conf = Parrot::Configure->new;
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $pkg = q{inter::encoding};
 

Modified: trunk/t/steps/inter/lex-01.t
==============================================================================
--- trunk/t/steps/inter/lex-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/inter/lex-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,17 +5,14 @@
 
 use strict;
 use warnings;
-use Test::More tests => 31;
+use Test::More tests => 26;
 use Carp;
 use Data::Dumper;
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
 use_ok('config::inter::lex');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
     test_step_constructor_and_description
 );
 use Tie::Filehandle::Preempt::Stdin;
@@ -30,9 +27,8 @@
     }
 );
 
-my $conf = Parrot::Configure->new();
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $pkg = q{inter::lex};
 

Modified: trunk/t/steps/inter/lex-02.t
==============================================================================
--- trunk/t/steps/inter/lex-02.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/inter/lex-02.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,16 +5,14 @@
 
 use strict;
 use warnings;
-use Test::More tests =>  12;
+use Test::More tests =>   7;
 use Carp;
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
 $ENV{TEST_LEX} = 'foobar';
 use_ok('config::inter::lex');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
     test_step_constructor_and_description
 );
 
@@ -27,9 +25,8 @@
     }
 );
 
-my $conf = Parrot::Configure->new();
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $pkg = q{inter::lex};
 

Modified: trunk/t/steps/inter/lex-03.t
==============================================================================
--- trunk/t/steps/inter/lex-03.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/inter/lex-03.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,16 +5,14 @@
 
 use strict;
 use warnings;
-use Test::More tests =>  14;
+use Test::More tests =>   9;
 use Carp;
 use Data::Dumper;
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
 use_ok('config::inter::lex');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
     test_step_constructor_and_description
 );
 use Tie::Filehandle::Preempt::Stdin;
@@ -28,9 +26,9 @@
         mode => q{configure},
     }
 );
-my $conf = Parrot::Configure->new();
 
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my @prompts = q{flex};
 my $object = tie *STDIN, 'Tie::Filehandle::Preempt::Stdin', @prompts;

Modified: trunk/t/steps/inter/libparrot-01.t
==============================================================================
--- trunk/t/steps/inter/libparrot-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/inter/libparrot-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,16 +5,13 @@
 
 use strict;
 use warnings;
-use Test::More tests => 58;
+use Test::More tests => 48;
 use Carp;
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
-use_ok('config::init::install');
 use_ok('config::inter::libparrot');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
     test_step_constructor_and_description
 );
 use Tie::Filehandle::Preempt::Stdin;
@@ -28,10 +25,8 @@
     }
 );
 
-my $conf = Parrot::Configure->new;
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-test_step_thru_runstep( $conf, q{init::install}, $args );
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $pkg = q{inter::libparrot};
 

Modified: trunk/t/steps/inter/make-01.t
==============================================================================
--- trunk/t/steps/inter/make-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/inter/make-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,15 +5,14 @@
 
 use strict;
 use warnings;
-use Test::More tests => 18;
+use Test::More tests => 13;
 use Carp;
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
 use_ok('config::inter::make');
 use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
     test_step_constructor_and_description
 );
 use Tie::Filehandle::Preempt::Stdin;
@@ -27,9 +26,8 @@
     }
 );
 
-my $conf = Parrot::Configure->new();
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $pkg = q{inter::make};
 

Modified: trunk/t/steps/inter/progs-01.t
==============================================================================
--- trunk/t/steps/inter/progs-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/inter/progs-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -6,17 +6,13 @@
 use strict;
 use warnings;
 
-use Test::More tests => 24;
+use Test::More tests =>  9;
 use Carp;
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
-use_ok('config::init::install');
-use_ok('config::init::hints');
 use_ok('config::inter::progs');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
     test_step_constructor_and_description
 );
 use Tie::Filehandle::Preempt::Stdin;
@@ -38,11 +34,8 @@
     }
 );
 
-my $conf = Parrot::Configure->new;
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-test_step_thru_runstep( $conf, q{init::install},  $args );
-test_step_thru_runstep( $conf, q{init::hints},    $args );
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $pkg = q{inter::progs};
 

Modified: trunk/t/steps/inter/progs-02.t
==============================================================================
--- trunk/t/steps/inter/progs-02.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/inter/progs-02.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -6,17 +6,13 @@
 use strict;
 use warnings;
 
-use Test::More tests => 24;
+use Test::More tests =>  9;
 use Carp;
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
-use_ok('config::init::install');
-use_ok('config::init::hints');
 use_ok('config::inter::progs');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
     test_step_constructor_and_description
 );
 use Tie::Filehandle::Preempt::Stdin;
@@ -38,11 +34,8 @@
     }
 );
 
-my $conf = Parrot::Configure->new;
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-test_step_thru_runstep( $conf, q{init::install},  $args );
-test_step_thru_runstep( $conf, q{init::hints},    $args );
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $pkg = q{inter::progs};
 

Modified: trunk/t/steps/inter/progs-03.t
==============================================================================
--- trunk/t/steps/inter/progs-03.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/inter/progs-03.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -6,17 +6,13 @@
 use strict;
 use warnings;
 
-use Test::More tests => 24;
+use Test::More tests =>  9;
 use Carp;
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
-use_ok('config::init::install');
-use_ok('config::init::hints');
 use_ok('config::inter::progs');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
     test_step_constructor_and_description
 );
 use Tie::Filehandle::Preempt::Stdin;
@@ -37,11 +33,9 @@
         mode => q{configure},
     }
 );
-my $conf = Parrot::Configure->new;
 
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-test_step_thru_runstep( $conf, q{init::install},  $args );
-test_step_thru_runstep( $conf, q{init::hints},    $args );
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $pkg = q{inter::progs};
 

Modified: trunk/t/steps/inter/progs-04.t
==============================================================================
--- trunk/t/steps/inter/progs-04.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/inter/progs-04.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -6,17 +6,13 @@
 use strict;
 use warnings;
 
-use Test::More tests => 23;
+use Test::More tests =>  8;
 use Carp;
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
-use_ok('config::init::install');
-use_ok('config::init::hints');
 use_ok('config::inter::progs');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
     test_step_constructor_and_description
 );
 use Tie::Filehandle::Preempt::Stdin;
@@ -38,11 +34,8 @@
     }
 );
 
-my $conf = Parrot::Configure->new;
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-test_step_thru_runstep( $conf, q{init::install},  $args );
-test_step_thru_runstep( $conf, q{init::hints},    $args );
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $pkg = q{inter::progs};
 

Modified: trunk/t/steps/inter/shlibs-01.t
==============================================================================
--- trunk/t/steps/inter/shlibs-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/inter/shlibs-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,15 +5,13 @@
 
 use strict;
 use warnings;
-use Test::More tests => 21;
+use Test::More tests => 16;
 use Carp;
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
 use_ok('config::inter::shlibs');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
     test_step_constructor_and_description
 );
 use Tie::Filehandle::Preempt::Stdin;
@@ -27,9 +25,8 @@
     }
 );
 
-my $conf = Parrot::Configure->new;
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $pkg = q{inter::shlibs};
 $conf->add_steps($pkg);

Modified: trunk/t/steps/inter/types-01.t
==============================================================================
--- trunk/t/steps/inter/types-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/inter/types-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -9,10 +9,9 @@
 use Carp;
 use lib qw( lib t/configure/testlib );
 use_ok('config::inter::types');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
     test_step_constructor_and_description
 );
 use Tie::Filehandle::Preempt::Stdin;
@@ -26,7 +25,8 @@
     }
 );
 
-my $conf = Parrot::Configure->new;
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $pkg = q{inter::types};
 

Modified: trunk/t/steps/inter/yacc-01.t
==============================================================================
--- trunk/t/steps/inter/yacc-01.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/inter/yacc-01.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,16 +5,14 @@
 
 use strict;
 use warnings;
-use Test::More tests => 31;
+use Test::More tests => 26;
 use Carp;
 use Data::Dumper;
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
 use_ok('config::inter::yacc');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
     test_step_constructor_and_description
 );
 use Tie::Filehandle::Preempt::Stdin;
@@ -29,9 +27,8 @@
     }
 );
 
-my $conf = Parrot::Configure->new();
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $pkg = q{inter::yacc};
 

Modified: trunk/t/steps/inter/yacc-02.t
==============================================================================
--- trunk/t/steps/inter/yacc-02.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/steps/inter/yacc-02.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -5,16 +5,14 @@
 
 use strict;
 use warnings;
-use Test::More tests =>  12;
+use Test::More tests =>   7;
 use Carp;
 use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
 $ENV{TEST_YACC} = 'foobar';
 use_ok('config::inter::yacc');
-use Parrot::Configure;
 use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
 use Parrot::Configure::Test qw(
-    test_step_thru_runstep
     test_step_constructor_and_description
 );
 
@@ -27,9 +25,8 @@
     }
 );
 
-my $conf = Parrot::Configure->new();
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
 
 my $pkg = q{inter::yacc};
 

Modified: trunk/t/tools/ops2pm/04-prepare_ops.t
==============================================================================
--- trunk/t/tools/ops2pm/04-prepare_ops.t	Thu Nov 19 00:31:36 2009	(r42574)
+++ trunk/t/tools/ops2pm/04-prepare_ops.t	Thu Nov 19 01:00:42 2009	(r42575)
@@ -19,7 +19,7 @@
     }
     unshift @INC, qq{$topdir/lib};
 }
-use Test::More qw(no_plan); # tests => 70;
+use Test::More tests => 70;
 use Carp;
 use File::Copy;
 use File::Temp (qw| tempdir |);


More information about the parrot-commits mailing list