[svn:parrot] r39917 - in branches/darwinhints: . t/steps t/steps/auto t/steps/gen t/steps/init t/steps/inter

jkeenan at svn.parrot.org jkeenan at svn.parrot.org
Tue Jul 7 10:37:21 UTC 2009


Author: jkeenan
Date: Tue Jul  7 10:37:13 2009
New Revision: 39917
URL: https://trac.parrot.org/parrot/changeset/39917

Log:
Reposition all steps tests into more finely specified directories.

Added:
   branches/darwinhints/t/steps/auto/alignptrs-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_alignptrs-01.t
   branches/darwinhints/t/steps/auto/alignptrs-02.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_alignptrs-02.t
   branches/darwinhints/t/steps/auto/arch-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_arch-01.t
   branches/darwinhints/t/steps/auto/attributes-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_attributes-01.t
   branches/darwinhints/t/steps/auto/backtrace-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_backtrace-01.t
   branches/darwinhints/t/steps/auto/byteorder-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_byteorder-01.t
   branches/darwinhints/t/steps/auto/cgoto-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_cgoto-01.t
   branches/darwinhints/t/steps/auto/cpu-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_cpu-01.t
   branches/darwinhints/t/steps/auto/crypto-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_crypto-01.t
   branches/darwinhints/t/steps/auto/ctags-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_ctags-01.t
   branches/darwinhints/t/steps/auto/env-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_env-01.t
   branches/darwinhints/t/steps/auto/fink-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_fink-01.t
   branches/darwinhints/t/steps/auto/format-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_format-01.t
   branches/darwinhints/t/steps/auto/funcptr-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_funcptr-01.t
   branches/darwinhints/t/steps/auto/gc-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_gc-01.t
   branches/darwinhints/t/steps/auto/gcc-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_gcc-01.t
   branches/darwinhints/t/steps/auto/gdbm-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_gdbm-01.t
   branches/darwinhints/t/steps/auto/gettext-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_gettext-01.t
   branches/darwinhints/t/steps/auto/glibc-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_glibc-01.t
   branches/darwinhints/t/steps/auto/gmp-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_gmp-01.t
   branches/darwinhints/t/steps/auto/headers-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_headers-01.t
   branches/darwinhints/t/steps/auto/icu-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_icu-01.t
   branches/darwinhints/t/steps/auto/inline-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_inline-01.t
   branches/darwinhints/t/steps/auto/isreg-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_isreg-01.t
   branches/darwinhints/t/steps/auto/jit-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_jit-01.t
   branches/darwinhints/t/steps/auto/macports-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_macports-01.t
   branches/darwinhints/t/steps/auto/macports-02.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_macports-02.t
   branches/darwinhints/t/steps/auto/memalign-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_memalign-01.t
   branches/darwinhints/t/steps/auto/msvc-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_msvc-01.t
   branches/darwinhints/t/steps/auto/neg_0-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_neg_0-01.t
   branches/darwinhints/t/steps/auto/opengl-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_opengl-01.t
   branches/darwinhints/t/steps/auto/ops-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_ops-01.t
   branches/darwinhints/t/steps/auto/pcre-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_pcre-01.t
   branches/darwinhints/t/steps/auto/perldoc-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_perldoc-01.t
   branches/darwinhints/t/steps/auto/pmc-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_pmc-01.t
   branches/darwinhints/t/steps/auto/pod2man-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_pod2man-01.t
   branches/darwinhints/t/steps/auto/readline-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_readline-01.t
   branches/darwinhints/t/steps/auto/readline-02.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_readline-02.t
   branches/darwinhints/t/steps/auto/revision-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_revision-01.t
   branches/darwinhints/t/steps/auto/signal-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_signal-01.t
   branches/darwinhints/t/steps/auto/sizes-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_sizes-01.t
   branches/darwinhints/t/steps/auto/snprintf-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_snprintf-01.t
   branches/darwinhints/t/steps/auto/socklen_t-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_socklen_t-01.t
   branches/darwinhints/t/steps/auto/va_ptr-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_va_ptr-01.t
   branches/darwinhints/t/steps/auto/warnings-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/auto_warnings-01.t
   branches/darwinhints/t/steps/gen/call_list-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/gen_call_list-01.t
   branches/darwinhints/t/steps/gen/config_h-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/gen_config_h-01.t
   branches/darwinhints/t/steps/gen/config_pm-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/gen_config_pm-01.t
   branches/darwinhints/t/steps/gen/core_pmcs-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/gen_core_pmcs-01.t
   branches/darwinhints/t/steps/gen/crypto-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/gen_crypto-01.t
   branches/darwinhints/t/steps/gen/makefiles-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/gen_makefiles-01.t
   branches/darwinhints/t/steps/gen/opengl-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/gen_opengl-01.t
   branches/darwinhints/t/steps/gen/parrot_include-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/gen_parrot_include-01.t
   branches/darwinhints/t/steps/gen/platform-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/gen_platform-01.t
   branches/darwinhints/t/steps/init/defaults-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/init_defaults-01.t
   branches/darwinhints/t/steps/init/headers-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/init_headers-01.t
   branches/darwinhints/t/steps/init/hints-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/init_hints-01.t
   branches/darwinhints/t/steps/init/install-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/init_install-01.t
   branches/darwinhints/t/steps/init/manifest-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/init_manifest-01.t
   branches/darwinhints/t/steps/init/optimize-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/init_optimize-01.t
   branches/darwinhints/t/steps/inter/charset-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/inter_charset-01.t
   branches/darwinhints/t/steps/inter/encoding-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/inter_encoding-01.t
   branches/darwinhints/t/steps/inter/lex-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/inter_lex-01.t
   branches/darwinhints/t/steps/inter/lex-02.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/inter_lex-02.t
   branches/darwinhints/t/steps/inter/lex-03.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/inter_lex-03.t
   branches/darwinhints/t/steps/inter/libparrot-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/inter_libparrot-01.t
   branches/darwinhints/t/steps/inter/make-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/inter_make-01.t
   branches/darwinhints/t/steps/inter/progs-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/inter_progs-01.t
   branches/darwinhints/t/steps/inter/progs-02.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/inter_progs-02.t
   branches/darwinhints/t/steps/inter/progs-03.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/inter_progs-03.t
   branches/darwinhints/t/steps/inter/progs-04.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/inter_progs-04.t
   branches/darwinhints/t/steps/inter/shlibs-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/inter_shlibs-01.t
   branches/darwinhints/t/steps/inter/types-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/inter_types-01.t
   branches/darwinhints/t/steps/inter/yacc-01.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/inter_yacc-01.t
   branches/darwinhints/t/steps/inter/yacc-02.t
      - copied unchanged from r39902, branches/darwinhints/t/steps/inter_yacc-02.t
Deleted:
   branches/darwinhints/t/steps/auto_alignptrs-01.t
   branches/darwinhints/t/steps/auto_alignptrs-02.t
   branches/darwinhints/t/steps/auto_arch-01.t
   branches/darwinhints/t/steps/auto_attributes-01.t
   branches/darwinhints/t/steps/auto_backtrace-01.t
   branches/darwinhints/t/steps/auto_byteorder-01.t
   branches/darwinhints/t/steps/auto_cgoto-01.t
   branches/darwinhints/t/steps/auto_cpu-01.t
   branches/darwinhints/t/steps/auto_crypto-01.t
   branches/darwinhints/t/steps/auto_ctags-01.t
   branches/darwinhints/t/steps/auto_env-01.t
   branches/darwinhints/t/steps/auto_fink-01.t
   branches/darwinhints/t/steps/auto_format-01.t
   branches/darwinhints/t/steps/auto_funcptr-01.t
   branches/darwinhints/t/steps/auto_gc-01.t
   branches/darwinhints/t/steps/auto_gcc-01.t
   branches/darwinhints/t/steps/auto_gdbm-01.t
   branches/darwinhints/t/steps/auto_gettext-01.t
   branches/darwinhints/t/steps/auto_glibc-01.t
   branches/darwinhints/t/steps/auto_gmp-01.t
   branches/darwinhints/t/steps/auto_headers-01.t
   branches/darwinhints/t/steps/auto_icu-01.t
   branches/darwinhints/t/steps/auto_inline-01.t
   branches/darwinhints/t/steps/auto_isreg-01.t
   branches/darwinhints/t/steps/auto_jit-01.t
   branches/darwinhints/t/steps/auto_macports-01.t
   branches/darwinhints/t/steps/auto_macports-02.t
   branches/darwinhints/t/steps/auto_memalign-01.t
   branches/darwinhints/t/steps/auto_msvc-01.t
   branches/darwinhints/t/steps/auto_neg_0-01.t
   branches/darwinhints/t/steps/auto_opengl-01.t
   branches/darwinhints/t/steps/auto_ops-01.t
   branches/darwinhints/t/steps/auto_pcre-01.t
   branches/darwinhints/t/steps/auto_perldoc-01.t
   branches/darwinhints/t/steps/auto_pmc-01.t
   branches/darwinhints/t/steps/auto_pod2man-01.t
   branches/darwinhints/t/steps/auto_readline-01.t
   branches/darwinhints/t/steps/auto_readline-02.t
   branches/darwinhints/t/steps/auto_revision-01.t
   branches/darwinhints/t/steps/auto_signal-01.t
   branches/darwinhints/t/steps/auto_sizes-01.t
   branches/darwinhints/t/steps/auto_snprintf-01.t
   branches/darwinhints/t/steps/auto_socklen_t-01.t
   branches/darwinhints/t/steps/auto_va_ptr-01.t
   branches/darwinhints/t/steps/auto_warnings-01.t
   branches/darwinhints/t/steps/gen_call_list-01.t
   branches/darwinhints/t/steps/gen_config_h-01.t
   branches/darwinhints/t/steps/gen_config_pm-01.t
   branches/darwinhints/t/steps/gen_core_pmcs-01.t
   branches/darwinhints/t/steps/gen_crypto-01.t
   branches/darwinhints/t/steps/gen_makefiles-01.t
   branches/darwinhints/t/steps/gen_opengl-01.t
   branches/darwinhints/t/steps/gen_parrot_include-01.t
   branches/darwinhints/t/steps/gen_platform-01.t
   branches/darwinhints/t/steps/init_defaults-01.t
   branches/darwinhints/t/steps/init_headers-01.t
   branches/darwinhints/t/steps/init_hints-01.t
   branches/darwinhints/t/steps/init_install-01.t
   branches/darwinhints/t/steps/init_manifest-01.t
   branches/darwinhints/t/steps/init_optimize-01.t
   branches/darwinhints/t/steps/inter_charset-01.t
   branches/darwinhints/t/steps/inter_encoding-01.t
   branches/darwinhints/t/steps/inter_lex-01.t
   branches/darwinhints/t/steps/inter_lex-02.t
   branches/darwinhints/t/steps/inter_lex-03.t
   branches/darwinhints/t/steps/inter_libparrot-01.t
   branches/darwinhints/t/steps/inter_make-01.t
   branches/darwinhints/t/steps/inter_progs-01.t
   branches/darwinhints/t/steps/inter_progs-02.t
   branches/darwinhints/t/steps/inter_progs-03.t
   branches/darwinhints/t/steps/inter_progs-04.t
   branches/darwinhints/t/steps/inter_shlibs-01.t
   branches/darwinhints/t/steps/inter_types-01.t
   branches/darwinhints/t/steps/inter_yacc-01.t
   branches/darwinhints/t/steps/inter_yacc-02.t
Modified:
   branches/darwinhints/MANIFEST

Modified: branches/darwinhints/MANIFEST
==============================================================================
--- branches/darwinhints/MANIFEST	Tue Jul  7 10:23:35 2009	(r39916)
+++ branches/darwinhints/MANIFEST	Tue Jul  7 10:37:13 2009	(r39917)
@@ -1,7 +1,7 @@
 # ex: set ro:
 # $Id$
 #
-# generated by tools/dev/mk_manifest_and_skip.pl Mon Jul  6 16:56:56 2009 UT
+# generated by tools/dev/mk_manifest_and_skip.pl Tue Jul  7 10:35:02 2009 UT
 #
 # See below for documentation on the format of this file.
 #
@@ -1938,81 +1938,81 @@
 t/src/exit.t                                                [test]
 t/src/extend.t                                              [test]
 t/src/warnings.t                                            [test]
-t/steps/auto_alignptrs-01.t                                 [test]
-t/steps/auto_alignptrs-02.t                                 [test]
-t/steps/auto_arch-01.t                                      [test]
-t/steps/auto_attributes-01.t                                [test]
-t/steps/auto_backtrace-01.t                                 [test]
-t/steps/auto_byteorder-01.t                                 [test]
-t/steps/auto_cgoto-01.t                                     [test]
-t/steps/auto_cpu-01.t                                       [test]
-t/steps/auto_crypto-01.t                                    [test]
-t/steps/auto_ctags-01.t                                     [test]
-t/steps/auto_env-01.t                                       [test]
-t/steps/auto_fink-01.t                                      [test]
-t/steps/auto_format-01.t                                    [test]
-t/steps/auto_funcptr-01.t                                   [test]
-t/steps/auto_gc-01.t                                        [test]
-t/steps/auto_gcc-01.t                                       [test]
-t/steps/auto_gdbm-01.t                                      [test]
-t/steps/auto_gettext-01.t                                   [test]
-t/steps/auto_glibc-01.t                                     [test]
-t/steps/auto_gmp-01.t                                       [test]
-t/steps/auto_headers-01.t                                   [test]
-t/steps/auto_icu-01.t                                       [test]
-t/steps/auto_inline-01.t                                    [test]
-t/steps/auto_isreg-01.t                                     [test]
-t/steps/auto_jit-01.t                                       [test]
-t/steps/auto_macports-01.t                                  [test]
-t/steps/auto_macports-02.t                                  [test]
-t/steps/auto_memalign-01.t                                  [test]
-t/steps/auto_msvc-01.t                                      [test]
-t/steps/auto_neg_0-01.t                                     [test]
-t/steps/auto_opengl-01.t                                    [test]
-t/steps/auto_ops-01.t                                       [test]
-t/steps/auto_pcre-01.t                                      [test]
-t/steps/auto_perldoc-01.t                                   [test]
-t/steps/auto_pmc-01.t                                       [test]
-t/steps/auto_pod2man-01.t                                   [test]
-t/steps/auto_readline-01.t                                  [test]
-t/steps/auto_readline-02.t                                  [test]
-t/steps/auto_revision-01.t                                  [test]
-t/steps/auto_signal-01.t                                    [test]
-t/steps/auto_sizes-01.t                                     [test]
-t/steps/auto_snprintf-01.t                                  [test]
-t/steps/auto_socklen_t-01.t                                 [test]
-t/steps/auto_va_ptr-01.t                                    [test]
-t/steps/auto_warnings-01.t                                  [test]
-t/steps/gen_call_list-01.t                                  [test]
-t/steps/gen_config_h-01.t                                   [test]
-t/steps/gen_config_pm-01.t                                  [test]
-t/steps/gen_core_pmcs-01.t                                  [test]
-t/steps/gen_crypto-01.t                                     [test]
-t/steps/gen_makefiles-01.t                                  [test]
-t/steps/gen_opengl-01.t                                     [test]
-t/steps/gen_parrot_include-01.t                             [test]
-t/steps/gen_platform-01.t                                   [test]
-t/steps/init_defaults-01.t                                  [test]
-t/steps/init_headers-01.t                                   [test]
-t/steps/init_hints-01.t                                     [test]
-t/steps/init_install-01.t                                   [test]
-t/steps/init_manifest-01.t                                  [test]
-t/steps/init_optimize-01.t                                  [test]
-t/steps/inter_charset-01.t                                  [test]
-t/steps/inter_encoding-01.t                                 [test]
-t/steps/inter_lex-01.t                                      [test]
-t/steps/inter_lex-02.t                                      [test]
-t/steps/inter_lex-03.t                                      [test]
-t/steps/inter_libparrot-01.t                                [test]
-t/steps/inter_make-01.t                                     [test]
-t/steps/inter_progs-01.t                                    [test]
-t/steps/inter_progs-02.t                                    [test]
-t/steps/inter_progs-03.t                                    [test]
-t/steps/inter_progs-04.t                                    [test]
-t/steps/inter_shlibs-01.t                                   [test]
-t/steps/inter_types-01.t                                    [test]
-t/steps/inter_yacc-01.t                                     [test]
-t/steps/inter_yacc-02.t                                     [test]
+t/steps/auto/alignptrs-01.t                                 [test]
+t/steps/auto/alignptrs-02.t                                 [test]
+t/steps/auto/arch-01.t                                      [test]
+t/steps/auto/attributes-01.t                                [test]
+t/steps/auto/backtrace-01.t                                 [test]
+t/steps/auto/byteorder-01.t                                 [test]
+t/steps/auto/cgoto-01.t                                     [test]
+t/steps/auto/cpu-01.t                                       [test]
+t/steps/auto/crypto-01.t                                    [test]
+t/steps/auto/ctags-01.t                                     [test]
+t/steps/auto/env-01.t                                       [test]
+t/steps/auto/fink-01.t                                      [test]
+t/steps/auto/format-01.t                                    [test]
+t/steps/auto/funcptr-01.t                                   [test]
+t/steps/auto/gc-01.t                                        [test]
+t/steps/auto/gcc-01.t                                       [test]
+t/steps/auto/gdbm-01.t                                      [test]
+t/steps/auto/gettext-01.t                                   [test]
+t/steps/auto/glibc-01.t                                     [test]
+t/steps/auto/gmp-01.t                                       [test]
+t/steps/auto/headers-01.t                                   [test]
+t/steps/auto/icu-01.t                                       [test]
+t/steps/auto/inline-01.t                                    [test]
+t/steps/auto/isreg-01.t                                     [test]
+t/steps/auto/jit-01.t                                       [test]
+t/steps/auto/macports-01.t                                  [test]
+t/steps/auto/macports-02.t                                  [test]
+t/steps/auto/memalign-01.t                                  [test]
+t/steps/auto/msvc-01.t                                      [test]
+t/steps/auto/neg_0-01.t                                     [test]
+t/steps/auto/opengl-01.t                                    [test]
+t/steps/auto/ops-01.t                                       [test]
+t/steps/auto/pcre-01.t                                      [test]
+t/steps/auto/perldoc-01.t                                   [test]
+t/steps/auto/pmc-01.t                                       [test]
+t/steps/auto/pod2man-01.t                                   [test]
+t/steps/auto/readline-01.t                                  [test]
+t/steps/auto/readline-02.t                                  [test]
+t/steps/auto/revision-01.t                                  [test]
+t/steps/auto/signal-01.t                                    [test]
+t/steps/auto/sizes-01.t                                     [test]
+t/steps/auto/snprintf-01.t                                  [test]
+t/steps/auto/socklen_t-01.t                                 [test]
+t/steps/auto/va_ptr-01.t                                    [test]
+t/steps/auto/warnings-01.t                                  [test]
+t/steps/gen/call_list-01.t                                  [test]
+t/steps/gen/config_h-01.t                                   [test]
+t/steps/gen/config_pm-01.t                                  [test]
+t/steps/gen/core_pmcs-01.t                                  [test]
+t/steps/gen/crypto-01.t                                     [test]
+t/steps/gen/makefiles-01.t                                  [test]
+t/steps/gen/opengl-01.t                                     [test]
+t/steps/gen/parrot_include-01.t                             [test]
+t/steps/gen/platform-01.t                                   [test]
+t/steps/init/defaults-01.t                                  [test]
+t/steps/init/headers-01.t                                   [test]
+t/steps/init/hints-01.t                                     [test]
+t/steps/init/install-01.t                                   [test]
+t/steps/init/manifest-01.t                                  [test]
+t/steps/init/optimize-01.t                                  [test]
+t/steps/inter/charset-01.t                                  [test]
+t/steps/inter/encoding-01.t                                 [test]
+t/steps/inter/lex-01.t                                      [test]
+t/steps/inter/lex-02.t                                      [test]
+t/steps/inter/lex-03.t                                      [test]
+t/steps/inter/libparrot-01.t                                [test]
+t/steps/inter/make-01.t                                     [test]
+t/steps/inter/progs-01.t                                    [test]
+t/steps/inter/progs-02.t                                    [test]
+t/steps/inter/progs-03.t                                    [test]
+t/steps/inter/progs-04.t                                    [test]
+t/steps/inter/shlibs-01.t                                   [test]
+t/steps/inter/types-01.t                                    [test]
+t/steps/inter/yacc-01.t                                     [test]
+t/steps/inter/yacc-02.t                                     [test]
 t/stress/gc.t                                               [test]
 t/tools/dev/pmctree.t                                       [test]
 t/tools/dev/searchops.t                                     [test]

Copied: branches/darwinhints/t/steps/auto/alignptrs-01.t (from r39902, branches/darwinhints/t/steps/auto_alignptrs-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/alignptrs-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_alignptrs-01.t)
@@ -0,0 +1,99 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# auto_alignptrs-01.t
+
+use strict;
+use warnings;
+use Test::More tests => 17;
+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::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+
+
+########## regular; singular ##########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [ ],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new;
+
+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} );
+my $step = test_step_constructor_and_description($conf);
+my $align = 1;
+$conf->data->set('ptr_alignment' => $align);
+my $ret = $step->runstep($conf);
+ok( $ret, "runstep() returned true value" );
+is($step->result(), qq{configured:  $align byte}, "Expected result was set");
+
+$conf->replenish($serialized);
+
+########## regular; plural ##########
+
+($args, $step_list_ref) = process_options(
+    {
+        argv => [ ],
+        mode => q{configure},
+    }
+);
+
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+$align = 2;
+$conf->data->set('ptr_alignment' => $align);
+$ret = $step->runstep($conf);
+ok( $ret, "runstep() returned true value" );
+is($step->result(), qq{configured:  $align bytes}, "Expected result was set");
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_alignptrs-01.t - test auto::alignptrs
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_alignptrs-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test auto::alignptrs.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::auto::alignptrs, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/alignptrs-02.t (from r39902, branches/darwinhints/t/steps/auto_alignptrs-02.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/alignptrs-02.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_alignptrs-02.t)
@@ -0,0 +1,119 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# auto_alignptrs-02.t
+
+use strict;
+use warnings;
+use Test::More tests =>  18;
+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::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+
+########## mock hpux ##########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [ ],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new;
+
+test_step_thru_runstep( $conf, q{init::defaults}, $args );
+
+my $pkg = q{auto::alignptrs};
+
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+
+my $serialized = $conf->pcfreeze();
+
+{
+    $conf->data->set_p5( OSNAME => 'hpux' );
+    my $ret = $step->runstep($conf);
+    ok( $ret, "runstep() returned true value" );
+    if ( $conf->data->get_p5('ccflags') !~ /DD64/ ) {
+        is($conf->data->get('ptr_alignment'), 4,
+            "Got expected pointer alignment for HP Unix");
+        is($step->result(), qq{for hpux:  4 bytes},
+            "Expected result was set");
+    } else {
+        pass("Cannot mock \%Config");
+        pass("Cannot mock \%Config");
+    }
+}
+
+$conf->replenish($serialized);
+
+########## _evaluate_ptr_alignment()  ##########
+
+my $align = 2;
+auto::alignptrs::_evaluate_ptr_alignment($conf, $align);
+is($conf->data->get( 'ptr_alignment' ), 2,
+    "Got expected pointer alignment");
+
+$conf->replenish($serialized);
+
+########## _evaluate_ptr_alignment()  ##########
+
+$align = undef;
+eval { auto::alignptrs::_evaluate_ptr_alignment($conf, $align); };
+like($@, qr/Can't determine alignment!/, #'
+    "Got expected 'die' message");
+
+$conf->replenish($serialized);
+
+########## _evaluate_results()  ##########
+
+my ($results, $try_align);
+is(auto::alignptrs::_evaluate_results(q{OK}, 2), 2,
+    "Got expected alignment");
+is(auto::alignptrs::_evaluate_results(q{OK align}, 2), undef,
+    "Got undef as expected");
+is(auto::alignptrs::_evaluate_results(q{foobar}, 2), undef,
+    "Got undef as expected");
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_alignptrs-02.t - test auto::alignptrs
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_alignptrs-02.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test auto::alignptrs.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::auto::alignptrs, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/arch-01.t (from r39902, branches/darwinhints/t/steps/auto_arch-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/arch-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_arch-01.t)
@@ -0,0 +1,305 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# auto_arch-01.t
+
+use strict;
+use warnings;
+use Test::More tests => 102;
+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::Test qw(
+    test_step_thru_runstep
+    rerun_defaults_for_testing
+    test_step_constructor_and_description
+);
+use IO::CaptureOutput qw| capture |;
+
+########## Darwin special case ##########
+
+my ($args, $step_list_ref) = process_options( {
+    argv => [ ],
+    mode => q{configure},
+} );
+
+my $conf = Parrot::Configure->new;
+
+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);
+
+########## --verbose ##########
+
+($args, $step_list_ref) = process_options( {
+    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);
+{
+    my ($ret, $stdout);
+    capture(
+        sub { $ret = $step->runstep($conf); },
+        \$stdout,
+    );
+    ok( $ret, "runstep() returned true value" );
+    is($step->result(), q{}, "Result was empty string as expected");
+    like($stdout,
+        qr/determining operating system and cpu architecture/s,
+        "Got expected verbose output"
+    );
+}
+
+$conf->replenish($serialized);
+
+########## mock architecture ##########
+
+($args, $step_list_ref) = process_options( {
+    argv => [ ],
+    mode => q{configure},
+} );
+rerun_defaults_for_testing($conf, $args );
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+my $pseudoarch = q{foobar};
+$conf->data->set('archname' => $pseudoarch);
+my $ret = $step->runstep($conf);
+ok( $ret, "runstep() returned true value" );
+is($step->result(), q{}, "Result was empty string as expected");
+is($conf->data->get('cpuarch'), q{},
+    "'cpuarch' was set as expected");
+is($conf->data->get('osname'), $pseudoarch,
+    "'osname' was set as expected");
+
+$conf->replenish($serialized);
+
+########## mock darwin ##########
+
+($args, $step_list_ref) = process_options( {
+    argv => [ ],
+    mode => q{configure},
+} );
+rerun_defaults_for_testing($conf, $args );
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+$pseudoarch = q{darwin-thread-multi-2level};
+$conf->data->set('archname' => $pseudoarch);
+my $pseudobyteorder = 1234;
+$conf->data->set('byteorder' => $pseudobyteorder);
+$ret = $step->runstep($conf);
+ok( $ret, "runstep() returned true value" );
+is($step->result(), q{}, "Result was empty string as expected");
+is($conf->data->get('cpuarch'), q{i386},
+    "'cpuarch' was set as expected");
+is($conf->data->get('osname'), q{darwin},
+    "'osname' was set as expected");
+
+$conf->replenish($serialized);
+
+########## mock darwin ##########
+
+($args, $step_list_ref) = process_options( {
+    argv => [ ],
+    mode => q{configure},
+} );
+rerun_defaults_for_testing($conf, $args );
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+$pseudoarch = q{darwin-thread-multi-2level};
+$conf->data->set('archname' => $pseudoarch);
+$pseudobyteorder = 4321;
+$conf->data->set('byteorder' => $pseudobyteorder);
+$ret = $step->runstep($conf);
+ok( $ret, "runstep() returned true value" );
+is($step->result(), q{}, "Result was empty string as expected");
+is($conf->data->get('cpuarch'), q{ppc},
+    "'cpuarch' was set as expected");
+is($conf->data->get('osname'), q{darwin},
+    "'osname' was set as expected");
+
+$conf->replenish($serialized);
+
+########## mock win32 ##########
+
+($args, $step_list_ref) = process_options( {
+    argv => [ ],
+    mode => q{configure},
+} );
+rerun_defaults_for_testing($conf, $args );
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+$pseudoarch = q{MSWin32-x64};
+$conf->data->set('archname' => $pseudoarch);
+$ret = $step->runstep($conf);
+ok( $ret, "runstep() returned true value" );
+is($step->result(), q{}, "Result was empty string as expected");
+is($conf->data->get('cpuarch'), q{amd64},
+    "'cpuarch' was set as expected");
+is($conf->data->get('osname'), q{MSWin32},
+    "'osname' was set as expected");
+
+$conf->replenish($serialized);
+
+########## mock win32 ##########
+
+($args, $step_list_ref) = process_options( {
+    argv => [ ],
+    mode => q{configure},
+} );
+rerun_defaults_for_testing($conf, $args );
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+$pseudoarch = q{MSWin32-i386};
+$conf->data->set('archname' => $pseudoarch);
+$ret = $step->runstep($conf);
+ok( $ret, "runstep() returned true value" );
+is($step->result(), q{}, "Result was empty string as expected");
+is($conf->data->get('cpuarch'), q{i386},
+    "'cpuarch' was set as expected");
+is($conf->data->get('osname'), q{MSWin32},
+    "'osname' was set as expected");
+
+$conf->replenish($serialized);
+
+########## mock cygwin ##########
+
+($args, $step_list_ref) = process_options( {
+    argv => [ ],
+    mode => q{configure},
+} );
+rerun_defaults_for_testing($conf, $args );
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+$pseudoarch = q{cygwin};
+$conf->data->set('archname' => $pseudoarch);
+$ret = $step->runstep($conf);
+ok( $ret, "runstep() returned true value" );
+is($step->result(), q{}, "Result was empty string as expected");
+is($conf->data->get('cpuarch'), q{i386},
+    "'cpuarch' was set as expected");
+is($conf->data->get('osname'), q{cygwin},
+    "'osname' was set as expected");
+
+$conf->replenish($serialized);
+
+########## mock powerpc-linux ##########
+
+($args, $step_list_ref) = process_options( {
+    argv => [ ],
+    mode => q{configure},
+} );
+rerun_defaults_for_testing($conf, $args );
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+$pseudoarch = q{powerpc-linux};
+$conf->data->set('archname' => $pseudoarch);
+$ret = $step->runstep($conf);
+ok( $ret, "runstep() returned true value" );
+is($step->result(), q{}, "Result was empty string as expected");
+is($conf->data->get('cpuarch'), q{ppc},
+    "'cpuarch' was set as expected");
+is($conf->data->get('osname'), q{linux},
+    "'osname' was set as expected");
+
+$conf->replenish($serialized);
+
+########## mock cygwin-i486 ##########
+
+($args, $step_list_ref) = process_options( {
+    argv => [ ],
+    mode => q{configure},
+} );
+rerun_defaults_for_testing($conf, $args );
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+$pseudoarch = q{cygwin-i486};
+$conf->data->set('archname' => $pseudoarch);
+$ret = $step->runstep($conf);
+ok( $ret, "runstep() returned true value" );
+is($step->result(), q{}, "Result was empty string as expected");
+is($conf->data->get('cpuarch'), q{i386},
+    "'cpuarch' was set as expected");
+is($conf->data->get('osname'), q{cygwin},
+    "'osname' was set as expected");
+
+pass("Completed all tests in $0");
+
+sub _capture { $errstr = $_[0]; }
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_arch-01.t - test auto::arch
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_arch-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test auto::arch.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::auto::arch, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/attributes-01.t (from r39902, branches/darwinhints/t/steps/auto_attributes-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/attributes-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_attributes-01.t)
@@ -0,0 +1,84 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# auto_attributes-01.t
+
+use strict;
+use warnings;
+use Test::More tests => 12;
+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::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+use IO::CaptureOutput qw | capture |;
+
+my ($args, $step_list_ref) = process_options( {
+    argv            => [ ],
+    mode            => q{configure},
+} );
+
+my $conf = Parrot::Configure->new();
+
+test_step_thru_runstep($conf, q{init::defaults}, $args);
+
+my $pkg = q{auto::attributes};
+
+$conf->add_steps($pkg);
+$conf->options->set(%{$args});
+my $step = test_step_constructor_and_description($conf);
+
+{
+    my $rv;
+    my $stdout;
+    capture(
+        sub { $rv = $step->runstep($conf); },
+        \$stdout,
+    );
+    ok( defined $rv, "runstep() returned defined value" );
+    unlike($conf->data->get('ccflags'),
+        qr/HASATTRIBUTE_NEVER_WORKS/,
+        "'ccflags' excludes bogus attribute as expected"
+    );
+}
+$conf->cc_clean();
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_attributes-01.t - test auto::attributes
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_attributes-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test auto::attributes.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::auto::attributes, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/backtrace-01.t (from r39902, branches/darwinhints/t/steps/auto_backtrace-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/backtrace-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_backtrace-01.t)
@@ -0,0 +1,94 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# auto_backtrace-01.t
+
+use strict;
+use warnings;
+use Test::More tests => 19;
+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::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+
+########## regular ##########
+
+my ($args, $step_list_ref) = process_options( {
+    argv            => [],
+    mode            => q{configure},
+} );
+
+my $conf = Parrot::Configure->new();
+
+test_step_thru_runstep($conf, q{init::defaults}, $args);
+
+my ($task, $step_name, $step, $ret);
+my $pkg = q{auto::backtrace};
+
+$conf->add_steps($pkg);
+
+my $serialized = $conf->pcfreeze();
+
+$conf->options->set(%{$args});
+$step = test_step_constructor_and_description($conf);
+
+$conf->replenish($serialized);
+
+########## _evaluate_backtrace()  ##########
+
+$conf->options->set(%{$args});
+$step = test_step_constructor_and_description($conf);
+my $error = q{mock_error};
+ok($step->_evaluate_backtrace($conf, $error),
+    "_evaluate_backtrace returned true value");
+is($step->result, 'no', "Got expected result");
+
+$error = q{};
+ok($step->_evaluate_backtrace($conf, $error),
+    "_evaluate_backtrace returned true value");
+is($step->result, 'yes', "Got expected result");
+ok($conf->data->get('backtrace'),
+    "backtrace set as expected");
+
+ok($step->runstep($conf), "runstep() returned true value");
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_backtrace-01.t - test auto::backtrace
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_backtrace-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test auto::backtrace.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::auto::backtrace, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/byteorder-01.t (from r39902, branches/darwinhints/t/steps/auto_byteorder-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/byteorder-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_byteorder-01.t)
@@ -0,0 +1,129 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# auto_byteorder-01.t
+
+use strict;
+use warnings;
+use Test::More tests => 24;
+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::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+
+########## _evaluate_byteorder() ##########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [ ],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new;
+
+my $pkg = q{auto::byteorder};
+
+$conf->add_steps($pkg);
+
+my $serialized = $conf->pcfreeze();
+
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+
+my $byteorder = q{1234};
+my $rv = $step->_evaluate_byteorder($conf, $byteorder);
+ok( $rv, "_evaluate_byteorder() returned true value as expected");
+is( $conf->data->get( 'byteorder'), $byteorder, "Got expected byteorder");
+ok( ! $conf->data->get( 'bigendian' ), "Not big-endian");
+is( $step->result, 'little-endian', "Rather, little-endian");
+
+$conf->replenish($serialized);
+
+########## _evaluate_byteorder() ##########
+
+($args, $step_list_ref) = process_options(
+    {
+        argv => [ ],
+        mode => q{configure},
+    }
+);
+
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+
+$byteorder = q{8765};
+$rv = $step->_evaluate_byteorder($conf, $byteorder);
+ok( $rv, "_evaluate_byteorder() returned true value as expected");
+is( $conf->data->get( 'byteorder'), $byteorder, "Got expected byteorder");
+ok( $conf->data->get( 'bigendian' ), "big-endian");
+is( $step->result, 'big-endian', "Indeed, big-endian");
+
+$byteorder = q{4321};
+$rv = $step->_evaluate_byteorder($conf, $byteorder);
+ok( $rv, "_evaluate_byteorder() returned true value as expected");
+is( $conf->data->get( 'byteorder'), $byteorder, "Got expected byteorder");
+ok( $conf->data->get( 'bigendian' ), "big-endian");
+is( $step->result, 'big-endian', "Indeed, big-endian");
+
+$conf->replenish($serialized);
+
+########## _evaluate_byteorder(); phony byte order ##########
+
+($args, $step_list_ref) = process_options(
+    {
+        argv => [ ],
+        mode => q{configure},
+    }
+);
+
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+
+$byteorder = q{foobar};
+eval {
+    $rv = $step->_evaluate_byteorder($conf, $byteorder);
+};
+like($@,
+    qr/Unsupported byte-order \[$byteorder\]!/,
+    "Got error message expected with bad byte-order");
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_byteorder-01.t - test auto::byteorder
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_byteorder-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test auto::byteorder.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::auto::byteorder, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/cgoto-01.t (from r39902, branches/darwinhints/t/steps/auto_cgoto-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/cgoto-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_cgoto-01.t)
@@ -0,0 +1,167 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# auto_cgoto-01.t
+
+use strict;
+use warnings;
+use Test::More tests =>  56;
+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::Test qw(
+    test_step_thru_runstep
+    rerun_defaults_for_testing
+    test_step_constructor_and_description
+);
+use IO::CaptureOutput qw( capture );
+
+
+########### regular ###########
+
+my ($args, $step_list_ref) = process_options( {
+    argv => [ ],
+    mode => q{configure},
+} );
+
+my $conf = Parrot::Configure->new;
+
+my $serialized = $conf->pcfreeze();
+
+test_step_thru_runstep( $conf, q{init::defaults}, $args );
+
+my $pkg = q{auto::cgoto};
+
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+my $ret = $step->runstep($conf);
+ok( $ret, "runstep() returned true value" );
+ok(defined($step->result()), "A result was defined");
+ok(defined($conf->data->get('TEMP_cg_h')), "An attribute has been defined");
+ok(defined($conf->data->get('TEMP_cg_c')), "An attribute has been defined");
+ok(defined($conf->data->get('TEMP_cg_o')), "An attribute has been defined");
+ok(defined($conf->data->get('TEMP_cg_r')), "An attribute has been defined");
+ok(defined($conf->data->get('cg_flag')), "An attribute has been defined");
+
+$conf->replenish($serialized);
+
+########### _probe_for_cgoto() ###########
+
+($args, $step_list_ref) = process_options( {
+    argv => [ ],
+    mode => q{configure},
+} );
+rerun_defaults_for_testing($conf, $args );
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+$conf->options->set(cgoto => 1);
+is(auto::cgoto::_probe_for_cgoto($conf), 1,
+    "Got expected return value");
+$conf->options->set(cgoto => 0);
+is(auto::cgoto::_probe_for_cgoto($conf), 0,
+    "Got expected return value");
+$conf->options->set(cgoto => undef);
+ok(defined(auto::cgoto::_probe_for_cgoto($conf)),
+    "Probe returned a defined value");
+
+########### _evaluate_cgoto() ###########
+
+$step->_evaluate_cgoto($conf, 1);
+ok($conf->data->get('TEMP_cg_h'), "An attribute was set to true value");
+ok($conf->data->get('TEMP_cg_c'), "An attribute was set to true value");
+ok($conf->data->get('TEMP_cg_o'), "An attribute was set to true value");
+ok($conf->data->get('TEMP_cg_r'), "An attribute was set to true value");
+ok($conf->data->get('cg_flag'), "An attribute was set to true value");
+is($step->result(), q{yes}, "Expected result was set");
+
+$step->_evaluate_cgoto($conf, 0);
+is($conf->data->get('TEMP_cg_h'), q{}, "An attribute was set to empty string");
+is($conf->data->get('TEMP_cg_c'), q{}, "An attribute was set to empty string");
+is($conf->data->get('TEMP_cg_o'), q{}, "An attribute was set to empty string");
+is($conf->data->get('TEMP_cg_r'), q{}, "An attribute was set to empty string");
+is($conf->data->get('cg_flag'), q{}, "An attribute was set to empty string");
+is($step->result(), q{no}, "Expected result was set");
+
+$conf->replenish($serialized);
+
+($args, $step_list_ref) = process_options( {
+    argv => [ ],
+    mode => q{configure},
+} );
+rerun_defaults_for_testing($conf, $args );
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+{
+    my $stdout;
+    capture(
+        sub { $step->_evaluate_cgoto($conf, 1) },
+        \$stdout
+    );
+    ok($conf->data->get('TEMP_cg_h'), "An attribute was set to true value");
+    ok($conf->data->get('TEMP_cg_c'), "An attribute was set to true value");
+    ok($conf->data->get('TEMP_cg_o'), "An attribute was set to true value");
+    ok($conf->data->get('TEMP_cg_r'), "An attribute was set to true value");
+    ok($conf->data->get('cg_flag'), "An attribute was set to true value");
+    is($step->result(), q{yes}, "Expected result was set");
+}
+
+{
+    my $stdout;
+    capture(
+        sub { $step->_evaluate_cgoto($conf, 0) },
+        \$stdout
+    );
+    is($conf->data->get('TEMP_cg_h'), q{},
+        "An attribute was set to empty string");
+    is($conf->data->get('TEMP_cg_c'), q{},
+        "An attribute was set to empty string");
+    is($conf->data->get('TEMP_cg_o'), q{},
+        "An attribute was set to empty string");
+    is($conf->data->get('TEMP_cg_r'), q{},
+        "An attribute was set to empty string");
+    is($conf->data->get('cg_flag'), q{},
+        "An attribute was set to empty string");
+    is($step->result(), q{no}, "Expected result was set");
+}
+
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_cgoto-01.t - test auto::cgoto
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_cgoto-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test auto::cgoto.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::auto::cgoto, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/cpu-01.t (from r39902, branches/darwinhints/t/steps/auto_cpu-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/cpu-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_cpu-01.t)
@@ -0,0 +1,104 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# auto_cpu-01.t
+
+use strict;
+use warnings;
+use Test::More tests =>  22;
+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::Test qw(
+    test_step_thru_runstep
+    rerun_defaults_for_testing
+    test_step_constructor_and_description
+);
+use IO::CaptureOutput qw( capture );
+
+########### --verbose ###########
+
+my ($args, $step_list_ref) = process_options( {
+    argv => [ q{--verbose} ],
+    mode => q{configure},
+} );
+
+my $conf = Parrot::Configure->new;
+
+my $serialized = $conf->pcfreeze();
+
+test_step_thru_runstep( $conf, q{init::defaults}, $args );
+
+my $pkg = q{auto::cpu};
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+{
+    $conf->data->set('cpuarch' => 'foobar');
+    my ($ret, $stdout);
+    capture(
+        sub { $ret = $step->runstep($conf); },
+        \$stdout,
+    );
+    ok($ret, "runstep() returned true value" );
+    ok(! $step->result(), "Got (default) false result as expected");
+    like($stdout, qr/cpu hints = 'auto::cpu::foobar::auto'/s,
+        "Got expected verbose output");
+    like($stdout, qr/no cpu specific hints/s,
+        "Got expected verbose output");
+}
+
+$conf->replenish($serialized);
+
+########### mock cpuarch ###########
+
+($args, $step_list_ref) = process_options( {
+    argv => [ ],
+    mode => q{configure},
+} );
+rerun_defaults_for_testing($conf, $args );
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+$conf->data->set('cpuarch' => 'foobar');
+my $ret = $step->runstep($conf);
+ok($ret, "runstep() returned true value" );
+ok(! $step->result(), "Got (default) false result as expected");
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_cpu-01.t - test auto::cpu
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_cpu-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test auto::cpu.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::auto::cpu, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/crypto-01.t (from r39902, branches/darwinhints/t/steps/auto_crypto-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/crypto-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_crypto-01.t)
@@ -0,0 +1,177 @@
+#! perl
+# Copyright (C) 2008, Parrot Foundation.
+# $Id$
+
+use strict;
+use warnings;
+use Test::More tests =>  24;
+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::Test qw(
+    test_step_thru_runstep
+    rerun_defaults_for_testing
+    test_step_constructor_and_description
+);
+use IO::CaptureOutput qw( capture );
+
+########## --without-crypto ##########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [ q{--without-crypto} ],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new;
+
+my $pkg = q{auto::crypto};
+
+$conf->add_steps($pkg);
+
+my $serialized = $conf->pcfreeze();
+
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+my $ret = $step->runstep($conf);
+ok( $ret, "runstep() returned true value" );
+is($conf->data->get('has_crypto'), 0,
+    "Got expected value for 'has_crypto'");
+is($step->result(), q{no}, "Expected result was set");
+
+$conf->replenish($serialized);
+
+########## _select_lib() ##########
+
+($args, $step_list_ref) = process_options( {
+    argv => [ ],
+    mode => q{configure},
+} );
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+# Mock different OS/compiler combinations.
+my ($osname, $cc, $initial_libs);
+$initial_libs = $conf->data->get('libs');
+$osname = 'mswin32';
+$cc = 'gcc';
+is($step->_select_lib( {
+    conf            => $conf,
+    osname          => $osname,
+    cc              => $cc,
+    win32_nongcc    => 'libcrypto.lib',
+    default         => '-lcrypto',
+} ),
+   '-lcrypto',
+   "_select_lib() returned expected value");
+
+$osname = 'mswin32';
+$cc = 'cc';
+is($step->_select_lib( {
+    conf            => $conf,
+    osname          => $osname,
+    cc              => $cc,
+    win32_nongcc    => 'libcrypto.lib',
+    default         => '-lcrypto',
+} ),
+   'libcrypto.lib',
+   "_select_lib() returned expected value");
+
+$osname = 'foobar';
+$cc = 'cc';
+is($step->_select_lib( {
+    conf            => $conf,
+    osname          => $osname,
+    cc              => $cc,
+    win32_nongcc    => 'libcrypto.lib',
+    default         => '-lcrypto',
+} ),
+   '-lcrypto',
+   "_select_lib() returned expected value");
+
+my $verbose = undef;
+
+$conf->replenish($serialized);
+
+########## --without-crypto; _evaluate_cc_run() ##########
+
+($args, $step_list_ref) = process_options( {
+    argv => [ q{--without-crypto} ],
+    mode => q{configure},
+} );
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+my ($test, $has_crypto);
+$test = qq{OpenSSL 0.9.9z\n};
+$has_crypto = 0;
+$verbose = undef;
+$has_crypto = $step->_evaluate_cc_run($conf, $test, $has_crypto, $verbose);
+is($has_crypto, 1, "'has_crypto' set as expected");
+is($step->result(), 'yes, 0.9.9z', "Expected result was set");
+# Prepare for next test
+$step->set_result(undef);
+
+$test = qq{foobar};
+$has_crypto = 0;
+$verbose = undef;
+$has_crypto = $step->_evaluate_cc_run($conf, $test, $has_crypto, $verbose);
+is($has_crypto, 0, "'has_crypto' set as expected");
+ok(! defined $step->result(), "Result is undefined, as expected");
+
+{
+    my $stdout;
+    $test = qq{OpenSSL 0.9.9z\n};
+    $has_crypto = 0;
+    $verbose = 1;
+    capture(
+        sub { $has_crypto =
+            $step->_evaluate_cc_run($conf, $test, $has_crypto, $verbose); },
+        \$stdout,
+    );
+    is($has_crypto, 1, "'has_crypto' set as expected");
+    is($step->result(), 'yes, 0.9.9z', "Expected result was set");
+    like($stdout, qr/\(yes\)/, "Got expected verbose output");
+    # Prepare for next test
+    $step->set_result(undef);
+}
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_crypto-01.t - test auto::crypto
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_crypto-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test auto::crypto.
+
+=head1 HISTORY
+
+Mostly taken from F<t/steps/auto_gdbm-01.t>.
+
+=head1 AUTHOR
+
+Francois Perrad
+
+=head1 SEE ALSO
+
+config::auto::crypto, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/ctags-01.t (from r39902, branches/darwinhints/t/steps/auto_ctags-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/ctags-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_ctags-01.t)
@@ -0,0 +1,151 @@
+#!perl
+# Copyright (C) 2001-2007, Parrot Foundation.
+# $Id$
+# auto_ctags-01.t
+
+use strict;
+use warnings;
+use Test::More tests =>  28;
+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::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+use IO::CaptureOutput qw( capture );
+
+########## regular ##########
+
+my ($args, $step_list_ref) = process_options( {
+    argv => [ ],
+    mode => q{configure},
+} );
+
+my $conf = Parrot::Configure->new;
+
+my $pkg = q{auto::ctags};
+
+$conf->add_steps($pkg);
+
+my $serialized = $conf->pcfreeze();
+
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+my %possible_ctags = map {$_,1}
+    qw( ctags exuberant-ctags ctags-exuberant exctags );
+my $ret = $step->runstep($conf);
+ok( $ret, "runstep() returned true value" );
+ok(defined($step->result()), "Result was defined");
+ok($possible_ctags{$conf->data->get('ctags')},
+    "Acceptable value for 'ctags' attribute was set");
+
+$conf->replenish($serialized);
+
+########## --verbose ##########
+
+($args, $step_list_ref) = process_options( {
+    argv => [ q{--verbose} ],
+    mode => q{configure},
+} );
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+{
+    my $stdout;
+    my $ret = capture(
+        sub { $step->runstep($conf) },
+        \$stdout
+    );
+    ok( $ret, "runstep() returned true value" );
+    ok( defined $step->result(), "Result was defined");
+    ok($possible_ctags{$conf->data->get('ctags')},
+        "Acceptable value for 'ctags' attribute was set");
+}
+
+$conf->replenish($serialized);
+
+########## _evaluate_ctags() ##########
+
+($args, $step_list_ref) = process_options( {
+    argv => [ ],
+    mode => q{configure},
+} );
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+
+$conf->replenish($serialized);
+
+my $pseudo_ctags;
+$pseudo_ctags = q{alpha};
+$step->_evaluate_ctags($conf, $pseudo_ctags, 1);
+is($conf->data->get('ctags'), $pseudo_ctags,
+    "'ctags' attribute was set as expected");
+is($step->result(), q{yes}, "Got expected result");
+
+$pseudo_ctags = q{alpha};
+$step->_evaluate_ctags($conf, $pseudo_ctags, 0);
+is($conf->data->get('ctags'), 'ctags',
+    "'ctags' attribute was set as expected");
+is($step->result(), q{no}, "Got expected result");
+
+$conf->replenish($serialized);
+
+########## _probe_for_ctags_output() ##########
+
+($args, $step_list_ref) = process_options( {
+    argv => [ ],
+    mode => q{configure},
+} );
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+ok(auto::ctags::_probe_for_ctags_output('Exuberant Ctags', 0),
+    "Probe returned true when output matched");
+ok(! auto::ctags::_probe_for_ctags_output('alpha', 0),
+    "Probe returned false when output matched");
+{
+    my $stdout;
+    my $rv = capture(
+        sub { auto::ctags::_probe_for_ctags_output('Exuberant Ctags', 1) },
+        \$stdout
+    );
+    ok($rv, "Probe returned true when output matched");
+}
+{
+    my $stdout;
+    my $rv = capture(
+        sub { auto::ctags::_probe_for_ctags_output('alpha', 1) },
+        \$stdout
+    );
+    ok(! $rv, "Probe returned false when output matched");
+}
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+t/steps/auto_ctags-01.t - tests Parrot::Configure step auto::ctags
+
+=head1 SYNOPSIS
+
+    prove t/steps/auto_ctags-01.t
+
+=head1 DESCRIPTION
+
+This file holds tests for auto::ctags.
+
+=head1 AUTHOR
+
+Paul Cochrane <paultcochrane at gmail dot com>
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/env-01.t (from r39902, branches/darwinhints/t/steps/auto_env-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/env-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_env-01.t)
@@ -0,0 +1,159 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# auto_env-01.t
+
+use strict;
+use warnings;
+use Test::More tests =>  29;
+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::Test qw(
+    test_step_thru_runstep
+    rerun_defaults_for_testing
+    test_step_constructor_and_description
+);
+use IO::CaptureOutput qw( capture );
+
+########### regular ###########
+
+my ($args, $step_list_ref) = process_options( {
+    argv            => [],
+    mode            => q{configure},
+} );
+
+my $conf = Parrot::Configure->new();
+
+test_step_thru_runstep($conf, q{init::defaults}, $args);
+
+my $pkg = q{auto::env};
+
+$conf->add_steps($pkg);
+
+my $serialized = $conf->pcfreeze();
+
+$conf->options->set(%{$args});
+my $step = test_step_constructor_and_description($conf);
+ok($step->runstep($conf), "runstep() returned true value");
+
+$conf->replenish($serialized);
+
+########### _evaluate_env() ###########
+
+($args, $step_list_ref) = process_options( {
+    argv            => [],
+    mode            => q{configure},
+} );
+$conf->options->set(%{$args});
+$step = test_step_constructor_and_description($conf);
+my ($setenv, $unsetenv);
+$setenv = 1;
+$unsetenv = 1;
+$step->_evaluate_env($conf, $setenv, $unsetenv);
+is($step->result(), q{both}, "Got expected result");
+$setenv = 1;
+$unsetenv = 0;
+$step->_evaluate_env($conf, $setenv, $unsetenv);
+is($step->result(), q{setenv}, "Got expected result");
+$setenv = 0;
+$unsetenv = 1;
+$step->_evaluate_env($conf, $setenv, $unsetenv);
+is($step->result(), q{unsetenv}, "Got expected result");
+$setenv = 0;
+$unsetenv = 0;
+$step->_evaluate_env($conf, $setenv, $unsetenv);
+is($step->result(), q{no}, "Got expected result");
+
+$conf->replenish($serialized);
+
+########### --verbose; _evaluate_env() ###########
+
+($args, $step_list_ref) = process_options( {
+    argv            => [ q{--verbose} ],
+    mode            => q{configure},
+} );
+$conf->options->set(%{$args});
+$step = test_step_constructor_and_description($conf);
+{
+    my $stdout;
+    $setenv = 1;
+    $unsetenv = 1;
+    capture(
+        sub { $step->_evaluate_env($conf, $setenv, $unsetenv) },
+        \$stdout
+    );
+    like($stdout, qr/both/, "Got expected verbose output");
+    is($step->result(), q{both}, "Got expected result");
+}
+{
+    my $stdout;
+    $setenv = 1;
+    $unsetenv = 0;
+    capture(
+        sub { $step->_evaluate_env($conf, $setenv, $unsetenv) },
+        \$stdout
+    );
+    like($stdout, qr/setenv/, "Got expected verbose output");
+    is($step->result(), q{setenv}, "Got expected result");
+}
+{
+    my $stdout;
+    $setenv = 0;
+    $unsetenv = 1;
+    capture(
+        sub { $step->_evaluate_env($conf, $setenv, $unsetenv) },
+        \$stdout
+    );
+    like($stdout, qr/unsetenv/, "Got expected verbose output");
+    is($step->result(), q{unsetenv}, "Got expected result");
+}
+{
+    my $stdout;
+    $setenv = 0;
+    $unsetenv = 0;
+    capture(
+        sub { $step->_evaluate_env($conf, $setenv, $unsetenv) },
+        \$stdout
+    );
+    like($stdout, qr/no/, "Got expected verbose output");
+    is($step->result(), q{no}, "Got expected result");
+}
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_env-01.t - test auto::env
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_env-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test auto::env.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::auto::env, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/fink-01.t (from r39902, branches/darwinhints/t/steps/auto_fink-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/fink-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_fink-01.t)
@@ -0,0 +1,289 @@
+#! perl
+# Copyright (C) 2007-2009, Parrot Foundation.
+# $Id$
+# auto_fink-01.t
+
+use strict;
+use warnings;
+use Test::More;
+use Carp;
+use File::Temp;
+use lib qw( lib t/configure/testlib );
+
+plan( skip_all => 'fink is Darwin only' ) unless $^O =~ /darwin/i;
+plan( tests => 55 );
+
+use_ok('config::init::defaults');
+use_ok('config::auto::fink');
+
+use Parrot::Configure;
+use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Test qw(
+    test_step_thru_runstep
+    rerun_defaults_for_testing
+    test_step_constructor_and_description
+);
+use IO::CaptureOutput qw( capture );
+
+########## Darwin but no good Fink  ##########
+
+my ($args, $step_list_ref) = process_options( {
+    argv            => [],
+    mode            => q{configure},
+} );
+
+my $conf = Parrot::Configure->new();
+
+test_step_thru_runstep($conf, q{init::defaults}, $args);
+
+my $pkg = q{auto::fink};
+
+$conf->add_steps($pkg);
+
+my $serialized = $conf->pcfreeze();
+
+$conf->options->set(%{$args});
+my $step = test_step_constructor_and_description($conf);
+
+# Success in the following test means:
+# (a) OS is Darwin.
+# (b) Either Fink is not installed or it is installed correctly, i.e., we can
+# locate the Fink subdirectories we need for later Parrot configuration steps.
+ok($step->runstep($conf), "runstep() returned true value");
+
+$conf->replenish($serialized);
+
+########## not Darwin ##########
+
+($args, $step_list_ref) = process_options( {
+    argv            => [],
+    mode            => q{configure},
+} );
+# mock not Darwin
+$conf->options->set(%{$args});
+$step = test_step_constructor_and_description($conf);
+$conf->data->set_p5( 'OSNAME' => 'foobar' );
+ok($step->runstep($conf), "runstep() returned true value");
+is($step->result(), q{skipped}, "Got expected result for non-Darwin OS");
+
+$conf->replenish($serialized);
+
+########## no Fink ##########
+
+($args, $step_list_ref) = process_options( {
+    argv            => [],
+    mode            => q{configure},
+} );
+# mock no Fink
+$conf->options->set(%{$args});
+$step = test_step_constructor_and_description($conf);
+$step->{fink_conf} = q{my_ridiculous_foobar};
+my $msg = q{Fink not installed};
+
+{
+    ok($step->runstep($conf), "runstep() returned true value");
+    is($step->result(), $msg, "Got expected result for $msg");
+}
+
+$conf->replenish($serialized);
+
+########## Darwin but defective Fink ##########
+
+($args, $step_list_ref) = process_options( {
+    argv            => [],
+    mode            => q{configure},
+} );
+$conf->options->set(%{$args});
+$step = test_step_constructor_and_description($conf);
+{
+    # mock Fink config file with no Basepath
+    my $tfile = File::Temp->new();
+    open my $fh, ">", $tfile
+        or croak "Unable to open temporary file for writing";
+    print $fh "Message: Hello world\n";
+    close $fh or croak "Unable to close temporary file after writing";
+    $step->{fink_conf} = $tfile;
+    ok(! defined $step->runstep($conf),
+        "runstep() returned undef due to defective Fink config file");
+    is($step->result(), q{failed},
+        "Got expected result for defective Fink Config file");
+}
+
+$conf->replenish($serialized);
+
+########## Darwin but defective Fink ##########
+
+($args, $step_list_ref) = process_options( {
+    argv            => [],
+    mode            => q{configure},
+} );
+$conf->options->set(%{$args});
+$step = test_step_constructor_and_description($conf);
+{
+    # mock Fink config file with non-existent Basepath
+    my $tfile = File::Temp->new();
+    open my $fh, ">", $tfile
+        or croak "Unable to open temporary file for writing";
+    print $fh "Basepath: /my/phony/directory\n";
+    close $fh or croak "Unable to close temporary file after writing";
+    $step->{fink_conf} = $tfile;
+    ok(! defined $step->runstep($conf),
+        "runstep() returned undef due to unlocateable Fink directories");
+    is($step->result(), q{failed},
+        "Got expected result for unlocateable Fink directories");
+}
+
+$conf->replenish($serialized);
+
+########## not Darwin; --verbose ##########
+
+($args, $step_list_ref) = process_options( {
+    argv            => [ q{--verbose} ],
+    mode            => q{configure},
+} );
+$conf->options->set(%{$args});
+$step = test_step_constructor_and_description($conf);
+{
+    # mock not Darwin
+    my $phony_OS = q{foobar};
+    $conf->data->set_p5( 'OSNAME' => $phony_OS );
+    my ($rv, $stdout);
+    capture(
+        sub { $rv = $step->runstep($conf); },
+        \$stdout,
+    );
+    ok($rv, "runstep() returned true value");
+    is($step->result(), q{skipped}, "Got expected result for non-Darwin OS");
+    like($stdout,
+        qr/Operating system is $phony_OS; Fink is Darwin only/,
+        "Got expected verbose output when OS is not Darwin");
+}
+
+$conf->replenish($serialized);
+
+########## Darwin; --verbose; no Fink ##########
+
+($args, $step_list_ref) = process_options( {
+    argv            => [ q{--verbose} ],
+    mode            => q{configure},
+} );
+$conf->options->set(%{$args});
+$step = test_step_constructor_and_description($conf);
+{
+    # mock no Fink
+    $step->{fink_conf} = q{my_ridiculous_foobar};
+    my $msg = q{Fink not installed};
+    my ($rv, $stdout);
+    capture(
+        sub { $rv = $step->runstep($conf); },
+        \$stdout,
+    );
+    ok($rv, "runstep() returned true value");
+    is($step->result(), $msg,
+        "Got expected result for $msg");
+    like($stdout,
+        qr/Fink configuration file not located/,
+        "Got expected verbose output when OS is not Darwin");
+}
+
+$conf->replenish($serialized);
+
+########## Darwin; --verbose; defective Fink ##########
+
+($args, $step_list_ref) = process_options( {
+    argv            => [ q{--verbose} ],
+    mode            => q{configure},
+} );
+$conf->options->set(%{$args});
+$step = test_step_constructor_and_description($conf);
+{
+    # mock Fink config file with no Basepath
+    my $tfile = File::Temp->new();
+    open my $fh, ">", $tfile
+        or croak "Unable to open temporary file for writing";
+    print $fh "Message: Hello world\n";
+    close $fh or croak "Unable to close temporary file after writing";
+    $step->{fink_conf} = $tfile;
+
+    my ($rv, $stdout);
+    capture(
+        sub { $rv = $step->runstep($conf); },
+        \$stdout,
+    );
+    ok(! defined $rv,
+        "runstep() returned undef due to defective Fink config file");
+    is($step->result(), q{failed},
+        "Got expected result for defective Fink Config file");
+    like($stdout,
+        qr/Fink configuration file defective:  no 'Basepath'/,
+        "Got expected verbose output when Fink config file lacked 'Basepath'");
+}
+
+$conf->replenish($serialized);
+
+########## Darwin; --verbose; defective Fink ##########
+
+($args, $step_list_ref) = process_options( {
+    argv            => [ q{--verbose} ],
+    mode            => q{configure},
+} );
+$conf->options->set(%{$args});
+$step = test_step_constructor_and_description($conf);
+{
+    # mock Fink config file with non-existent Basepath
+    my $tfile = File::Temp->new();
+    open my $fh, ">", $tfile
+        or croak "Unable to open temporary file for writing";
+    print $fh "Basepath: /my/phony/directory\n";
+    close $fh or croak "Unable to close temporary file after writing";
+    $step->{fink_conf} = $tfile;
+
+    my ($rv, $stdout);
+    capture(
+        sub { $rv = $step->runstep($conf); },
+        \$stdout,
+    );
+    ok(! defined $rv,
+        "runstep() returned undef due to unlocateable Fink directories");
+    is($step->result(), q{failed},
+        "Got expected result for unlocateable Fink directories");
+    like($stdout,
+        qr/Could not locate Fink directories/,
+        "Got expected verbose output for unlocateable Fink directories");
+}
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_fink-01.t - test auto::fink
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_fink-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test auto::fink.  Some tests will run only on Darwin.
+Others simulate how auto::fink runs on operating systems other than Darwin.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::auto::fink, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/format-01.t (from r39902, branches/darwinhints/t/steps/auto_format-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/format-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_format-01.t)
@@ -0,0 +1,157 @@
+#! perl
+# Copyright (C) 2008, Parrot Foundation.
+# $Id$
+# auto_format-01.t
+
+use strict;
+use warnings;
+use Test::More tests => 16;
+use Carp;
+use lib qw( lib t/configure/testlib );
+use_ok('config::auto::format');
+use Parrot::BuildUtil;
+use Parrot::Configure;
+use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+
+########## _set_intvalfmt() ##########
+
+my ($args, $step_list_ref) = process_options( {
+    argv            => [],
+    mode            => q{configure},
+} );
+
+my $conf = Parrot::Configure->new();
+
+my ($task, $step_name, $step, $ret);
+my $pkg = q{auto::format};
+
+$conf->add_steps($pkg);
+$conf->options->set(%{$args});
+$step = test_step_constructor_and_description($conf);
+{
+    $conf->data->set( iv => 'int' );
+    auto::format::_set_intvalfmt($conf);
+    is($conf->data->get( 'intvalfmt' ), '%d',
+        "intvalfmt set as expected");
+    # reset for next test
+    $conf->data->set( iv => undef );
+}
+{
+    $conf->data->set( iv => 'long' );
+    auto::format::_set_intvalfmt($conf);
+    is($conf->data->get( 'intvalfmt' ), '%ld',
+        "intvalfmt set as expected");
+    # reset for next test
+    $conf->data->set( iv => undef );
+}
+{
+    $conf->data->set( iv => 'long int' );
+    auto::format::_set_intvalfmt($conf);
+    is($conf->data->get( 'intvalfmt' ), '%ld',
+        "intvalfmt set as expected");
+    # reset for next test
+    $conf->data->set( iv => undef );
+}
+{
+    $conf->data->set( iv => 'long long' );
+    auto::format::_set_intvalfmt($conf);
+    is($conf->data->get( 'intvalfmt' ), '%lld',
+        "intvalfmt set as expected");
+    # reset for next test
+    $conf->data->set( iv => undef );
+}
+{
+    $conf->data->set( iv => 'long long int' );
+    auto::format::_set_intvalfmt($conf);
+    is($conf->data->get( 'intvalfmt' ), '%lld',
+        "intvalfmt set as expected");
+    # reset for next test
+    $conf->data->set( iv => undef );
+}
+{
+    my $type = 'foobar';
+    $conf->data->set( iv => $type );
+    eval { auto::format::_set_intvalfmt($conf); };
+    like($@,
+        qr/Can't find a printf-style format specifier for type '$type'/, #'
+        "Got expected error message");
+}
+
+########## _set_floatvalfmt_nvsize() ##########
+
+{
+    $conf->data->set( nv => 'double' );
+    auto::format::_set_floatvalfmt_nvsize($conf);
+    is($conf->data->get( 'floatvalfmt' ), '%.15g',
+        "floatvalfmt set as expected");
+    is($conf->data->get( 'nvsize' ), $conf->data->get( 'doublesize' ),
+        "nvsize set as expected");
+    $conf->data->set(
+        nv          => undef,
+        floatvalfmt => undef,
+        nvsize      => undef,
+    );
+}
+{
+    use Config;
+    my $p5format = '%.15' . $Config{sPRIgldbl};
+    $p5format =~ s/"//g;; # Perl 5's Config value has embedded double quotes
+    $conf->data->set( nv => 'long double' );
+    auto::format::_set_floatvalfmt_nvsize($conf);
+    is($conf->data->get( 'floatvalfmt' ), $p5format,
+        "floatvalfmt set as expected");
+    is($conf->data->get( 'nvsize' ), $conf->data->get( 'hugefloatvalsize' ),
+        "nvsize set as expected");
+    $conf->data->set(
+        nv          => undef,
+        floatvalfmt => undef,
+        nvsize      => undef,
+    );
+}
+{
+    my $type = 'foobar';
+    $conf->data->set( nv => 'foobar' );
+    eval { auto::format::_set_floatvalfmt_nvsize($conf); };
+    like($@,
+        qr/Can't find a printf-style format specifier for type '$type'/, #'
+        "Got expected error message");
+}
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_format-01.t - test auto::format
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_format-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test auto::format.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::auto::format, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/funcptr-01.t (from r39902, branches/darwinhints/t/steps/auto_funcptr-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/funcptr-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_funcptr-01.t)
@@ -0,0 +1,134 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# auto_funcptr-01.t
+
+use strict;
+use warnings;
+use Test::More tests => 28;
+use Carp;
+use lib qw( lib t/configure/testlib );
+use_ok('config::init::defaults');
+use_ok('config::auto::funcptr');
+use Parrot::BuildUtil;
+use Parrot::Configure;
+use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Test qw( test_step_thru_runstep);
+use Parrot::Configure::Test qw(
+    test_step_thru_runstep
+    rerun_defaults_for_testing
+    test_step_constructor_and_description
+);
+use IO::CaptureOutput qw( capture );
+
+########### --jitcapable=0  ###########
+
+my ($args, $step_list_ref) = process_options( {
+    argv            => [ q{--jitcapable=0} ],
+    mode            => q{configure},
+} );
+
+my $conf = Parrot::Configure->new();
+
+my $serialized = $conf->pcfreeze();
+
+test_step_thru_runstep($conf, q{init::defaults}, $args);
+
+my $pkg = q{auto::funcptr};
+
+$conf->add_steps($pkg);
+$conf->options->set(%{$args});
+my $step = test_step_constructor_and_description($conf);
+my $ret = $step->runstep($conf);
+ok($ret, "runstep() returned defined value" );
+
+$conf->replenish($serialized);
+
+########### _cast_void_pointers_msg() ###########
+
+($args, $step_list_ref) = process_options( {
+    argv            => [ ],
+    mode            => q{configure},
+} );
+rerun_defaults_for_testing($conf, $args );
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+{
+    my $stdout;
+    my $ret = capture(
+        sub { auto::funcptr::_cast_void_pointers_msg(); },
+        \$stdout,
+    );
+    like($stdout, qr/Although it is not required/s,
+        "Got expected advisory message");
+}
+
+########### _set_positive_result() ###########
+
+{
+    my $stdout;
+    my $ret = capture(
+        sub { auto::funcptr::_set_positive_result($step, $conf); },
+        \$stdout,
+    );
+    is($step->result, q{yes}, "Got expected result");
+    ok(! $stdout, "Nothing printed to STDOUT, as expected");
+}
+
+$conf->replenish($serialized);
+
+########### --verbose; _set_positive_result() ###########
+
+($args, $step_list_ref) = process_options( {
+    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);
+{
+    my $stdout;
+    my $ret = capture(
+        sub { auto::funcptr::_set_positive_result($step, $conf); },
+        \$stdout,
+    );
+    is($step->result, q{yes}, "Got expected result");
+    like($stdout, qr/yes/, "Got expected verbose output");
+}
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_funcptr-01.t - test auto::funcptr
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_funcptr-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test aspects of auto::funcptr.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::auto::funcptr, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/gc-01.t (from r39902, branches/darwinhints/t/steps/auto_gc-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/gc-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_gc-01.t)
@@ -0,0 +1,165 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# auto_gc-01.t
+
+use strict;
+use warnings;
+use Test::More tests => 35;
+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::Test qw(
+    test_step_thru_runstep
+    rerun_defaults_for_testing
+    test_step_constructor_and_description
+);
+use IO::CaptureOutput qw| capture |;
+
+########### --verbose ###########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [ q{--verbose} ],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new;
+
+my $pkg = q{auto::gc};
+
+$conf->add_steps($pkg);
+
+my $serialized = $conf->pcfreeze();
+
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+{
+    my ($ret, $stdout);
+    capture(
+        sub { $ret = $step->runstep($conf); },
+        \$stdout,
+    );
+    ok( $ret, "runstep() returned true value" );
+    like( $stdout, qr/\(gc\)/, "Got expected verbose output");
+    is($conf->data->get('gc_flag'), q{},
+        "Got expected value for 'gc_flag'");
+}
+
+$conf->replenish($serialized);
+
+########### --gc=gc ###########
+
+($args, $step_list_ref) = process_options( {
+    argv => [ q{--gc=gc} ],
+    mode => q{configure},
+} );
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+my $ret = $step->runstep($conf);
+ok( $ret, "runstep() returned true value" );
+is($conf->data->get('gc_flag'), q{},
+    "Got expected value for 'gc_flag'");
+
+$conf->replenish($serialized);
+
+########### --gc=libc ###########
+
+($args, $step_list_ref) = process_options( {
+    argv => [ q{--gc=libc} ],
+    mode => q{configure},
+} );
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+$conf->data->set('i_malloc' => 1);
+$ret = $step->runstep($conf);
+ok( $ret, "runstep() returned true value" );
+is($conf->data->get('gc_flag'), '-DGC_IS_MALLOC',
+    "Got expected value for 'gc_flag'");
+is($conf->data->get('malloc_header'), 'malloc.h',
+    "Got expected value for 'malloc_header'");
+
+$conf->replenish($serialized);
+
+########### --gc=libc ###########
+
+($args, $step_list_ref) = process_options( {
+    argv => [ q{--gc=libc} ],
+    mode => q{configure},
+} );
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+$conf->data->set('i_malloc' => undef);
+$ret = $step->runstep($conf);
+ok( $ret, "runstep() returned true value" );
+is($conf->data->get('gc_flag'), '-DGC_IS_MALLOC',
+    "Got expected value for 'gc_flag'");
+is($conf->data->get('malloc_header'), 'stdlib.h',
+    "Got expected value for 'malloc_header'");
+
+$conf->replenish($serialized);
+
+########### --gc=malloc ###########
+
+($args, $step_list_ref) = process_options( {
+    argv => [ q{--gc=malloc} ],
+    mode => q{configure},
+} );
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+$ret = $step->runstep($conf);
+ok( $ret, "runstep() returned true value" );
+is($conf->data->get('gc_flag'), '-DGC_IS_MALLOC',
+    "Got expected value for 'gc_flag'");
+
+$conf->replenish($serialized);
+
+########### --gc=malloc-trace ###########
+
+($args, $step_list_ref) = process_options( {
+    argv => [ q{--gc=malloc-trace} ],
+    mode => q{configure},
+} );
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+$ret = $step->runstep($conf);
+ok( $ret, "runstep() returned true value" );
+is($conf->data->get('gc_flag'), '-DGC_IS_MALLOC',
+    "Got expected value for 'gc_flag'");
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_gc-01.t - test auto::gc
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_gc-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test auto::gc.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::auto::gc, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/gcc-01.t (from r39902, branches/darwinhints/t/steps/auto_gcc-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/gcc-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_gcc-01.t)
@@ -0,0 +1,327 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# auto_gcc-01.t
+
+use strict;
+use warnings;
+use Test::More tests => 122;
+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::Test qw(
+    test_step_thru_runstep
+    rerun_defaults_for_testing
+    test_step_constructor_and_description
+);
+use IO::CaptureOutput qw | capture |;
+
+########## regular  ##########
+
+my ($args, $step_list_ref) = process_options( {
+    argv            => [],
+    mode            => q{configure},
+} );
+
+my $conf = Parrot::Configure->new();
+
+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);
+$conf->options->set(%{$args});
+my $step = test_step_constructor_and_description($conf);
+
+ok($step->runstep($conf), "runstep returned true value");
+
+$conf->replenish($serialized);
+
+########## _evaluate_gcc() ##########
+
+rerun_defaults_for_testing($conf, $args );
+$conf->add_steps($pkg);
+$conf->options->set(%{$args});
+$step = test_step_constructor_and_description($conf);
+my $gnucref = {};
+ok($step->_evaluate_gcc($conf, $gnucref),
+    "_evaluate_gcc() returned true value");
+ok(! defined $conf->data->get( 'gccversion' ),
+    "gccversion undef as expected");
+
+$conf->replenish($serialized);
+
+########## _evaluate_gcc() ##########
+
+rerun_defaults_for_testing($conf, $args );
+$conf->add_steps($pkg);
+$conf->options->set(%{$args});
+$step = test_step_constructor_and_description($conf);
+$gnucref = {};
+$gnucref->{__GNUC__} = 1;
+$gnucref->{__INTEL_COMPILER} = 1;
+ok($step->_evaluate_gcc($conf, $gnucref),
+    "_evaluate_gcc() returned true value");
+ok(! defined $conf->data->get( 'gccversion' ),
+    "gccversion undef as expected");
+is($step->result(), q{no}, "Got expected result");
+
+$conf->replenish($serialized);
+
+########## _evaluate_gcc(); --verbose ##########
+
+($args, $step_list_ref) = process_options( {
+    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);
+{
+    my $rv;
+    my $stdout;
+    my $gnucref = {};
+    $gnucref->{__GNUC__} = undef;
+    capture ( sub {$rv = $step->_evaluate_gcc($conf, $gnucref) }, \$stdout);
+    ok($rv, "_evaluate_gcc() returned true value");
+    ok( $stdout, "verbose output captured" );
+    ok(! defined $conf->data->get( 'gccversion' ),
+        "gccversion undef as expected");
+    is($step->result(), q{no}, "Got expected result");
+}
+
+$conf->replenish($serialized);
+
+########## _evaluate_gcc() ##########
+
+($args, $step_list_ref) = process_options( {
+    argv            => [],
+    mode            => q{configure},
+} );
+rerun_defaults_for_testing($conf, $args );
+$conf->add_steps($pkg);
+$conf->options->set(%{$args});
+$step = test_step_constructor_and_description($conf);
+$gnucref = {};
+$gnucref->{__GNUC__} = 1;
+$gnucref->{__INTEL_COMPILER} = 1;
+ok($step->_evaluate_gcc($conf, $gnucref),
+    "_evaluate_gcc() returned true value");
+ok(! defined $conf->data->get( 'gccversion' ),
+    "gccversion undef as expected");
+is($step->result(), q{no}, "Got expected result");
+
+$conf->replenish($serialized);
+
+########## _evaluate_gcc(); --verbose ##########
+
+($args, $step_list_ref) = process_options( {
+    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);
+{
+    my $rv;
+    my $stdout;
+    my $gnucref = {};
+    $gnucref->{__GNUC__} = q{abc123};
+    capture ( sub {$rv = $step->_evaluate_gcc($conf, $gnucref) }, \$stdout);
+    ok($rv, "_evaluate_gcc() returned true value");
+    ok( $stdout, "verbose output captured" );
+    ok(! defined $conf->data->get( 'gccversion' ),
+        "gccversion undef as expected");
+    is($step->result(), q{no}, "Got expected result");
+}
+
+$conf->replenish($serialized);
+
+########## _evaluate_gcc() ##########
+
+rerun_defaults_for_testing($conf, $args );
+$conf->add_steps($pkg);
+$conf->options->set(%{$args});
+$step = test_step_constructor_and_description($conf);
+{
+    my $rv;
+    my $stdout;
+    my $gnucref = {};
+    $gnucref->{__GNUC__} = q{123};
+    $gnucref->{__GNUC_MINOR__} = q{abc};
+    capture ( sub {$rv = $step->_evaluate_gcc($conf, $gnucref) }, \$stdout);
+    ok($rv, "_evaluate_gcc() returned true value");
+    ok( !$stdout, "verbose output captured" );
+    ok(defined $conf->data->get( 'gccversion' ),
+        "gccversion defined as expected");
+    is($conf->data->get( 'gccversion' ), 123,
+        "Got expected value for gccversion");
+    like($step->result(), qr/^yes/, "Got expected result");
+}
+
+$conf->replenish($serialized);
+
+########## _evaluate_gcc() ##########
+
+($args, $step_list_ref) = process_options( {
+    argv            => [],
+    mode            => q{configure},
+} );
+rerun_defaults_for_testing($conf, $args );
+$conf->add_steps($pkg);
+$conf->options->set(%{$args});
+$step = test_step_constructor_and_description($conf);
+{
+    my $rv;
+    my $stdout;
+    my $gnucref = {};
+    $gnucref->{__GNUC__} = q{123};
+    $gnucref->{__GNUC_MINOR__} = q{456};
+    capture ( sub {$rv = $step->_evaluate_gcc($conf, $gnucref) }, \$stdout);
+    ok($rv, "_evaluate_gcc() returned true value");
+    ok(defined $conf->data->get( 'gccversion' ),
+        "gccversion defined as expected");
+    is($conf->data->get( 'gccversion' ), q{123.456},
+        "Got expected value for gccversion");
+    like($step->result(), qr/^yes/, "Got expected result");
+}
+
+$conf->replenish($serialized);
+
+########## _evaluate_gcc(); --verbose ##########
+
+($args, $step_list_ref) = process_options( {
+    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);
+{
+    my $rv;
+    my $stdout;
+    my $gnucref = {};
+    $gnucref->{__GNUC__} = q{123};
+    $gnucref->{__GNUC_MINOR__} = q{456};
+    capture ( sub {$rv = $step->_evaluate_gcc($conf, $gnucref) }, \$stdout);
+    ok($rv, "_evaluate_gcc() returned true value");
+    ok( !$stdout, "verbose output captured" );
+    ok(defined $conf->data->get( 'gccversion' ),
+        "gccversion defined as expected");
+    is($conf->data->get( 'gccversion' ), q{123.456},
+        "Got expected value for gccversion");
+    like($step->result(), qr/^yes/, "Got expected result");
+}
+
+$conf->replenish($serialized);
+
+########## _evaluate_gcc() ##########
+
+($args, $step_list_ref) = process_options( {
+    argv            => [ ],
+    mode            => q{configure},
+} );
+rerun_defaults_for_testing($conf, $args );
+$conf->add_steps($pkg);
+$conf->options->set(%{$args});
+$step = test_step_constructor_and_description($conf);
+$gnucref = {};
+$gnucref->{__GNUC__} = q{abc123};
+ok($step->_evaluate_gcc($conf, $gnucref),
+    "_evaluate_gcc() returned true value");
+ok(! defined $conf->data->get( 'gccversion' ),
+    "gccversion undef as expected");
+is($step->result(), q{no}, "Got expected result");
+
+$conf->replenish($serialized);
+
+########## _evaluate_gcc(); maintaiiner; cage ##########
+
+($args, $step_list_ref) = process_options( {
+    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);
+$gnucref = {};
+$gnucref->{__GNUC__} = q{3};
+$gnucref->{__GNUC_MINOR__} = q{1};
+$conf->data->set( ccwarn => q{-Wfoobar -Wnofoobaz} );
+ok($step->_evaluate_gcc($conf, $gnucref),
+    "_evaluate_gcc() returned true value");
+ok(defined $conf->data->get( 'gccversion' ),
+    "gccversion defined as expected");
+like($step->result(), qr/^yes/, "Got expected result");
+
+$conf->replenish($serialized);
+
+########## _evaluate_gcc() ##########
+
+($args, $step_list_ref) = process_options( {
+    argv            => [ ],
+    mode            => q{configure},
+} );
+rerun_defaults_for_testing($conf, $args );
+$conf->add_steps($pkg);
+$conf->options->set(%{$args});
+$step = test_step_constructor_and_description($conf);
+$gnucref = {};
+$gnucref->{__GNUC__} = q{3};
+$gnucref->{__GNUC_MINOR__} = q{1};
+{
+    $conf->data->set_p5( OSNAME => 'hpux' );
+    ok($step->_evaluate_gcc($conf, $gnucref),
+        "_evaluate_gcc() returned true value");
+    ok(defined $conf->data->get( 'gccversion' ),
+        "gccversion defined as expected");
+    is($conf->data->get( 'gccversion' ), q{3.1},
+        "Got expected value for gccversion");
+    like($step->result(), qr/^yes/, "Got expected result");
+}
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_gcc-01.t - test auto::gcc
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_gcc-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test auto::gcc.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::auto::gcc, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/gdbm-01.t (from r39902, branches/darwinhints/t/steps/auto_gdbm-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/gdbm-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_gdbm-01.t)
@@ -0,0 +1,201 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# auto_gdbm-01.t
+
+use strict;
+use warnings;
+use Test::More tests =>  47;
+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::Test qw(
+    test_step_thru_runstep
+    rerun_defaults_for_testing
+    test_step_constructor_and_description
+);
+use IO::CaptureOutput qw| capture |;
+
+=for hints_for_testing The documentation for this package is skimpy;
+please try to improve it, e.g., by providing a short description of what
+the 'gdbm' is.  Some branches are compiler- or OS-specific.  As noted in
+a comment in the module, please consider the issues raised in
+http://rt.perl.org/rt3/Ticket/Display.html?id=43134.
+
+=cut
+
+########## --without-gdbm  ##########
+
+my ($args, $step_list_ref) = process_options( {
+    argv => [ q{--without-gdbm} ],
+    mode => q{configure},
+} );
+
+my $conf = Parrot::Configure->new;
+
+my $serialized = $conf->pcfreeze();
+
+test_step_thru_runstep( $conf, q{init::defaults}, $args );
+
+my $pkg = q{auto::gdbm};
+
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+my $ret = $step->runstep($conf);
+ok( $ret, "runstep() returned true value" );
+is($conf->data->get('has_gdbm'), 0,
+    "Got expected value for 'has_gdbm'");
+is($step->result(), q{no}, "Expected result was set");
+
+$conf->replenish($serialized);
+
+########## --without-gdbm; _handle_darwin_for_fink() ##########
+
+($args, $step_list_ref) = process_options( {
+    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);
+my $osname;
+my ($flagsbefore, $flagsafter);
+$osname = 'foobar';
+$flagsbefore = $conf->data->get( 'linkflags' );
+ok($step->_handle_darwin_for_fink($conf, $osname, 'gdbm.h'),
+    "handle_darwin_for_fink() returned true value");
+$flagsafter = $conf->data->get( 'linkflags' );
+is($flagsbefore, $flagsafter, "No change in linkflags, as expected");
+my $cwd = cwd();
+{
+    my $tdir = tempdir( CLEANUP => 1 );
+    ok(chdir $tdir, "Able to change to temporary directory");
+    ok( (mkdir 'lib'), "Able to make lib directory");
+    ok( (mkdir 'include'), "Able to make include directory");
+    my $libdir = File::Spec->catdir( $tdir, 'lib' );
+    my $includedir = File::Spec->catdir( $tdir, 'include' );
+    $conf->data->set('fink_lib_dir' => $libdir);
+    $conf->data->set('fink_include_dir' => $includedir);
+    $osname = 'darwin';
+    $flagsbefore = $conf->data->get( 'linkflags' );
+    ok($step->_handle_darwin_for_fink($conf, $osname, 'gdbm.h'),
+        "handle_darwin_for_fink() returned true value");
+    $flagsafter = $conf->data->get( 'linkflags' );
+    is($flagsbefore, $flagsafter, "No change in linkflags, as expected");
+
+    ok(chdir $cwd, "Able to change back to original directory after testing");
+}
+{
+    my $tdir2 = tempdir( CLEANUP => 1 );
+    ok(chdir $tdir2, "Able to change to temporary directory");
+    ok( (mkdir 'lib'), "Able to make lib directory");
+    ok( (mkdir 'include'), "Able to make include directory");
+    my $libdir = File::Spec->catdir( $tdir2, 'lib' );
+    my $includedir = File::Spec->catdir( $tdir2, 'include' );
+    $conf->data->set('fink_lib_dir' => $libdir);
+    $conf->data->set('fink_include_dir' => $includedir);
+    my $foo = File::Spec->catfile( $includedir, 'gdbm.h' );
+    open my $FH, ">", $foo or croak "Could not open for writing";
+    print $FH "Hello world\n";
+    close $FH or croak "Could not close after writing";
+
+    $osname = 'darwin';
+    $flagsbefore = $conf->data->get( 'linkflags' );
+    ok($step->_handle_darwin_for_fink($conf, $osname, 'gdbm.h'),
+        "handle_darwin_for_fink() returned true value");
+    $flagsafter = $conf->data->get( 'linkflags' );
+    isnt($flagsbefore, $flagsafter, "Change in linkflags, as expected");
+    like($conf->data->get( 'linkflags' ), qr/-L\Q$libdir\E/,
+        "'linkflags' modified as expected");
+
+    ok(chdir $cwd, "Able to change back to original directory after testing");
+}
+
+$conf->replenish($serialized);
+
+########## --without-gdbm; _evaluate_cc_run() ##########
+
+($args, $step_list_ref) = process_options( {
+    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);
+my ($test, $has_gdbm, $verbose);
+$test = qq{gdbm is working.\n};
+$has_gdbm = 0;
+$verbose = undef;
+$has_gdbm = $step->_evaluate_cc_run($test, $has_gdbm, $verbose);
+is($has_gdbm, 1, "'has_gdbm' set as expected");
+is($step->result(), 'yes', "Expected result was set");
+# Prepare for next test
+$step->set_result(undef);
+$test = qq{foobar};
+$has_gdbm = 0;
+$verbose = undef;
+$has_gdbm = $step->_evaluate_cc_run($test, $has_gdbm, $verbose);
+is($has_gdbm, 0, "'has_gdbm' set as expected");
+ok(! defined $step->result(), "Result is undefined, as expected");
+{
+    my $stdout;
+    $test = qq{gdbm is working.\n};
+    $has_gdbm = 0;
+    $verbose = 1;
+    capture(
+        sub { $has_gdbm =
+            $step->_evaluate_cc_run($test, $has_gdbm, $verbose); },
+        \$stdout,
+    );
+    is($has_gdbm, 1, "'has_gdbm' set as expected");
+    is($step->result(), 'yes', "Expected result was set");
+    like($stdout, qr/\(yes\)/, "Got expected verbose output");
+    # Prepare for next test
+    $step->set_result(undef);
+}
+
+$conf->replenish($serialized);
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_gdbm-01.t - test auto::gdbm
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_gdbm-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test auto::gdbm.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::auto::gdbm, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/gettext-01.t (from r39902, branches/darwinhints/t/steps/auto_gettext-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/gettext-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_gettext-01.t)
@@ -0,0 +1,217 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# auto_gettext-01.t
+
+use strict;
+use warnings;
+use Test::More tests =>  30;
+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::Test qw(
+    test_step_thru_runstep
+    rerun_defaults_for_testing
+    test_step_constructor_and_description
+);
+use IO::CaptureOutput qw( capture );
+
+########## --without-gettext ##########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [ q{--without-gettext} ],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new;
+
+my $pkg = q{auto::gettext};
+
+$conf->add_steps($pkg);
+
+my $serialized = $conf->pcfreeze();
+
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+my $ret = $step->runstep($conf);
+ok( $ret, "runstep() returned true value" );
+is($conf->data->get('has_gettext'), 0,
+    "Got expected value for 'has_gettext'");
+is($step->result(), q{no}, "Expected result was set");
+
+$conf->replenish($serialized);
+
+########## _select_lib() ##########
+
+($args, $step_list_ref) = process_options( {
+    argv => [ ],
+    mode => q{configure},
+} );
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+
+# Mock values for OS and C-compiler
+my ($osname, $cc, $initial_value);
+$osname = 'mswin32';
+$cc = 'gcc';
+$initial_value = $conf->data->get( 'libs' );
+is($step->_select_lib( {
+    conf            => $conf,
+    osname          => $osname,
+    cc              => $cc,
+    win32_gcc       => '-lintl',
+    win32_nongcc    => 'intl.lib',
+    default         => defined $conf->data->get('glibc') ? '' : '-lintl',
+} ),
+   '-lintl',
+   "_select_lib() returned expected value");
+
+$osname = 'mswin32';
+$cc = 'cc';
+is($step->_select_lib( {
+    conf            => $conf,
+    osname          => $osname,
+    cc              => $cc,
+    win32_gcc       => '-lintl',
+    win32_nongcc    => 'intl.lib',
+    default         => defined $conf->data->get('glibc') ? '' : '-lintl',
+} ),
+   'intl.lib',
+   "_select_lib() returned expected value");
+
+$osname = 'foobar';
+$cc = 'cc';
+$conf->data->set( glibc => 1 );
+isnt($step->_select_lib( {
+    conf            => $conf,
+    osname          => $osname,
+    cc              => $cc,
+    win32_gcc       => '-lintl',
+    win32_nongcc    => 'intl.lib',
+    default         => defined $conf->data->get('glibc') ? '' : '-lintl',
+} ),
+   '-lintl',
+   "_select_lib() returned expected value");
+
+$osname = 'foobar';
+$cc = 'cc';
+$conf->data->set( glibc => undef );
+is($step->_select_lib( {
+    conf            => $conf,
+    osname          => $osname,
+    cc              => $cc,
+    win32_gcc       => '-lintl',
+    win32_nongcc    => 'intl.lib',
+    default         => defined $conf->data->get('glibc') ? '' : '-lintl',
+} ),
+   '-lintl',
+   "_select_lib() returned expected value");
+
+########## _evaluate_cc_run() ##########
+
+my ($test, $verbose);
+my $has_gettext;
+
+$test = "Hello, world!\n";
+$verbose = undef;
+$has_gettext = $step->_evaluate_cc_run($test, $verbose);
+is($has_gettext, 1, "Got expected value for has_gettext");
+is($step->result(), 'yes', "Expected result was set");
+# Prepare for next test
+$step->set_result(undef);
+
+{
+    my $stdout;
+    $test = "Hello, world!\n";
+    $verbose = 1;
+    capture(
+        sub {
+            $has_gettext = $step->_evaluate_cc_run($test, $verbose);
+        },
+        \$stdout,
+    );
+    is($has_gettext, 1, "Got expected value for has_gettext");
+    is($step->result(), 'yes', "Expected result was set");
+    like($stdout, qr/\(yes\)/, "Got expected verbose output");
+    # Prepare for next test
+    $step->set_result(undef);
+}
+
+$test = "Foobar\n";
+$verbose = undef;
+$has_gettext = $step->_evaluate_cc_run($test, $verbose);
+is($has_gettext, 0, "Got expected value for has_gettext");
+ok(! defined $step->result(), "As expected, result is not yet defined");
+
+$conf->replenish($serialized);
+
+########## --without-gettext; _handle_gettext() ##########
+
+($args, $step_list_ref) = process_options( {
+    argv => [ q{--without-gettext} ],
+    mode => q{configure},
+} );
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+
+$verbose = undef;
+$conf->data->set( ccflags => q{} );
+ok(auto::gettext::_handle_gettext($conf, $verbose),
+    "_handle_gettext() returned true value");
+like($conf->data->get( 'ccflags' ), qr/-DHAS_GETTEXT/,
+    "HAS_GETTEXT was added to 'ccflags'");
+
+{
+    my ($stdout, $rv);
+    $verbose = 1;
+    capture(
+        sub { $rv = auto::gettext::_handle_gettext($conf, $verbose); },
+        \$stdout,
+    );
+    ok($rv, "_handle_gettext() returned true value");
+    like($conf->data->get( 'ccflags' ), qr/-DHAS_GETTEXT/,
+        "HAS_GETTEXT was added to 'ccflags'");
+    like($stdout,
+        qr/ccflags:\s.*-DHAS_GETTEXT/,
+        "Got expected verbose output"
+    );
+}
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_gettext-01.t - test auto::gettext
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_gettext-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test auto::gettext.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::auto::gettext, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/glibc-01.t (from r39902, branches/darwinhints/t/steps/auto_glibc-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/glibc-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_glibc-01.t)
@@ -0,0 +1,94 @@
+#! perl
+# Copyright (C) 2008, Parrot Foundation.
+# $Id$
+# auto_glibc-01.t
+
+use strict;
+use warnings;
+use Test::More tests => 18;
+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::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+
+########## regular ##########
+
+my ($args, $step_list_ref) = process_options( {
+    argv            => [],
+    mode            => q{configure},
+} );
+
+my $conf = Parrot::Configure->new();
+
+test_step_thru_runstep($conf, q{init::defaults}, $args);
+
+my ($task, $step_name, $step, $ret);
+my $pkg = q{auto::glibc};
+
+$conf->add_steps($pkg);
+
+my $serialized = $conf->pcfreeze();
+
+$conf->options->set(%{$args});
+$step = test_step_constructor_and_description($conf);
+ok($step->runstep($conf), "runstep() returned true value");
+
+$conf->replenish($serialized);
+
+########## _evaluate_glibc() ##########
+
+$conf->options->set(%{$args});
+$step = test_step_constructor_and_description($conf);
+
+my $test = {};
+$test->{glibc} = 1;
+$step->_evaluate_glibc($conf, $test);
+is( $step->result(), q{yes}, "Got expected result" );
+is( $conf->data->get( 'glibc' ), 1, "Got expected value for 'glibc'" );
+
+$test->{glibc} = undef;
+$step->_evaluate_glibc($conf, $test);
+is( $step->result(), q{no}, "Got expected result" );
+ok( ! defined $conf->data->get( 'glibc' ),
+    "'glibc' undefined as expected" );
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_glibc-01.t - test auto::glibc
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_glibc-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test auto::glibc.
+
+=head1 AUTHOR
+
+Jerry Gay
+
+=head1 SEE ALSO
+
+config::auto::glibc, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/gmp-01.t (from r39902, branches/darwinhints/t/steps/auto_gmp-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/gmp-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_gmp-01.t)
@@ -0,0 +1,306 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# auto_gmp-01.t
+
+use strict;
+use warnings;
+use Test::More tests =>  61;
+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::Test qw(
+    test_step_thru_runstep
+    rerun_defaults_for_testing
+    test_step_constructor_and_description
+);
+use IO::CaptureOutput qw( capture );
+
+=for hints_for_testing The documentation for this package is skimpy;
+please try to improve it, e.g., by providing a link to an introduction
+to the GNU MP library.
+
+=cut
+
+########### --without-gmp ###########
+
+my ($args, $step_list_ref) = process_options( {
+    argv => [ q{--without-gmp} ],
+    mode => q{configure},
+} );
+
+my $conf = Parrot::Configure->new;
+
+test_step_thru_runstep( $conf, q{init::defaults}, $args );
+
+my $pkg = q{auto::gmp};
+
+$conf->add_steps($pkg);
+
+my $serialized = $conf->pcfreeze();
+
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+my $ret = $step->runstep($conf);
+ok( $ret, "runstep() returned true value" );
+is($conf->data->get('has_gmp'), 0,
+    "Got expected value for 'has_gmp'");
+is($step->result(), q{no}, "Expected result was set");
+
+$conf->replenish($serialized);
+
+########### _select_lib() ###########
+
+($args, $step_list_ref) = process_options( {
+    argv => [ ],
+    mode => q{configure},
+} );
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+# Mock values for OS and C-compiler
+my ($osname, $cc, $initial_value);
+$osname = 'mswin32';
+$cc = 'gcc';
+$initial_value = $conf->data->get( 'libs' );
+is($step->_select_lib( {
+    conf            => $conf,
+    osname          => $osname,
+    cc              => $cc,
+    win32_nongcc    => 'gmp.lib',
+    default         => '-lgmp',
+} ),
+   '-lgmp',
+   "_select_lib() returned expected value");
+
+$osname = 'mswin32';
+$cc = 'cc';
+is($step->_select_lib( {
+    conf            => $conf,
+    osname          => $osname,
+    cc              => $cc,
+    win32_nongcc    => 'gmp.lib',
+    default         => '-lgmp',
+} ),
+   'gmp.lib',
+   "_select_lib() returned expected value");
+
+$osname = 'foobar';
+$cc = undef;
+is($step->_select_lib( {
+    conf            => $conf,
+    osname          => $osname,
+    cc              => $cc,
+    win32_nongcc    => 'gmp.lib',
+    default         => '-lgmp',
+} ),
+   '-lgmp',
+   "_select_lib() returned expected value");
+
+########### _handle_darwin_for_fink() ###########
+
+my ($flagsbefore, $flagsafter);
+$osname = 'foobar';
+$flagsbefore = $conf->data->get( 'linkflags' );
+ok($step->_handle_darwin_for_fink($conf, $osname, 'gmp.h'),
+    "handle_darwin_for_fink() returned true value");
+$flagsafter = $conf->data->get( 'linkflags' );
+is($flagsbefore, $flagsafter, "No change in linkflags, as expected");
+
+my $cwd = cwd();
+{
+    my $tdir = tempdir( CLEANUP => 1 );
+    ok(chdir $tdir, "Able to change to temporary directory");
+    ok( (mkdir 'lib'), "Able to make lib directory");
+    ok( (mkdir 'include'), "Able to make include directory");
+    my $libdir = File::Spec->catdir( $tdir, 'lib' );
+    my $includedir = File::Spec->catdir( $tdir, 'include' );
+    $conf->data->set('fink_lib_dir' => $libdir);
+    $conf->data->set('fink_include_dir' => $includedir);
+    $osname = 'darwin';
+    $flagsbefore = $conf->data->get( 'linkflags' );
+    ok($step->_handle_darwin_for_fink($conf, $osname, 'gmp.h'),
+        "handle_darwin_for_fink() returned true value");
+    $flagsafter = $conf->data->get( 'linkflags' );
+    is($flagsbefore, $flagsafter, "No change in linkflags, as expected");
+
+    ok(chdir $cwd, "Able to change back to original directory after testing");
+}
+
+{
+    my $tdir2 = tempdir( CLEANUP => 1 );
+    ok(chdir $tdir2, "Able to change to temporary directory");
+    ok( (mkdir 'lib'), "Able to make lib directory");
+    ok( (mkdir 'include'), "Able to make include directory");
+    my $libdir = File::Spec->catdir( $tdir2, 'lib' );
+    my $includedir = File::Spec->catdir( $tdir2, 'include' );
+    $conf->data->set('fink_lib_dir' => $libdir);
+    $conf->data->set('fink_include_dir' => $includedir);
+    my $foo = File::Spec->catfile( $includedir, 'gmp.h' );
+    open my $FH, ">", $foo or croak "Could not open for writing";
+    print $FH "Hello world\n";
+    close $FH or croak "Could not close after writing";
+
+    $osname = 'darwin';
+    $flagsbefore = $conf->data->get( 'linkflags' );
+    ok($step->_handle_darwin_for_fink($conf, $osname, 'gmp.h'),
+        "handle_darwin_for_fink() returned true value");
+    $flagsafter = $conf->data->get( 'linkflags' );
+    isnt($flagsbefore, $flagsafter, "Change in linkflags, as expected");
+    like($conf->data->get( 'linkflags' ), qr/-L\Q$libdir\E/,
+        "'linkflags' modified as expected");
+
+    ok(chdir $cwd, "Able to change back to original directory after testing");
+}
+
+$conf->replenish($serialized);
+
+########### _evaluate_cc_run() ###########
+
+($args, $step_list_ref) = process_options( {
+    argv => [ ],
+    mode => q{configure},
+} );
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+
+my ($test, $has_gmp, $verbose);
+
+$test = $step->{cc_run_expected};
+$has_gmp = 0;
+$verbose = undef;
+$has_gmp = $step->_evaluate_cc_run($conf, $test, $has_gmp, $verbose);
+is($step->result, 'yes', "Got expected result");
+is($conf->data->get('gmp'), 'define', "Expected value set for 'gmp'");
+is($conf->data->get('HAS_GMP'), 1, "Expected value set for 'HAS_GMP'");
+# prepare for next test
+$conf->data->set('gmp' => undef);
+$conf->data->set('HAS_GMP' => undef);
+$step->set_result(undef);
+
+$test = '12345';
+$has_gmp = 0;
+$verbose = undef;
+$has_gmp = $step->_evaluate_cc_run($conf, $test, $has_gmp, $verbose);
+ok(! defined($step->result), "Result undefined as expected");
+is($has_gmp, 0, "gmp status unchanged");
+
+{
+    my $stdout;
+    $test = $step->{cc_run_expected};
+    $has_gmp = 0;
+    $verbose = 1;
+    capture(
+        sub { $has_gmp =
+            $step->_evaluate_cc_run($conf, $test, $has_gmp, $verbose); },
+        \$stdout,
+    );
+    is($step->result, 'yes', "Got expected result");
+    is($conf->data->get('gmp'), 'define', "Expected value set for 'gmp'");
+    is($conf->data->get('HAS_GMP'), 1, "Expected value set for 'HAS_GMP'");
+    like($stdout, qr/\(yes\)/, "Got expected verbose output");
+    # prepare for next test
+    $conf->data->set('gmp' => undef);
+    $conf->data->set('HAS_GMP' => undef);
+    $step->set_result(undef);
+}
+
+########### _handle_darwin_for_fink() ###########
+
+($args, $step_list_ref) = process_options( {
+    argv => [ ],
+    mode => q{configure},
+} );
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+# Mock values for OS
+$osname = 'darwin';
+$conf->data->set( 'linkflags'  => 'foobar' );
+$flagsbefore = $conf->data->get( 'linkflags' );
+$conf->data->set( fink_lib_dir  => undef );
+$conf->data->set( fink_include_dir  => undef );
+ok($step->_handle_darwin_for_fink($conf, $osname, 'gmp.h'),
+    "handle_darwin_for_fink() returned true value");
+$flagsafter = $conf->data->get( 'linkflags' );
+is($flagsbefore, $flagsafter, "No change in linkflags, as expected");
+
+$cwd = cwd();
+{
+    my $tdir = tempdir( CLEANUP => 1 );
+    ok(chdir $tdir, "Able to change to temporary directory");
+    ok( (mkdir 'lib'), "Able to make lib directory");
+#    ok( (mkdir 'include'), "Able to make include directory");
+    my $libdir = File::Spec->catdir( $tdir, 'lib' );
+    my $includedir = File::Spec->catdir( $tdir, 'include' );
+    $conf->data->set('fink_lib_dir' => $libdir);
+    $conf->data->set('fink_include_dir' => $includedir);
+    $osname = 'darwin';
+    $conf->data->set( 'linkflags'  => 'foobar' );
+    $flagsbefore = $conf->data->get( 'linkflags' );
+    ok($step->_handle_darwin_for_fink($conf, $osname, 'gmp.h'),
+        "handle_darwin_for_fink() returned true value");
+    $flagsafter = $conf->data->get( 'linkflags' );
+    is($flagsbefore, $flagsafter, "No change in linkflags, as expected");
+
+    ok(chdir $cwd, "Able to change back to original directory after testing");
+}
+
+{
+    my $tdir1 = tempdir( CLEANUP => 1 );
+    ok(chdir $tdir1, "Able to change to temporary directory");
+#    ok( (mkdir 'lib'), "Able to make lib directory");
+    ok( (mkdir 'include'), "Able to make include directory");
+    my $libdir = File::Spec->catdir( $tdir1, 'lib' );
+    my $includedir = File::Spec->catdir( $tdir1, 'include' );
+    $conf->data->set('fink_lib_dir' => $libdir);
+    $conf->data->set('fink_include_dir' => $includedir);
+    $osname = 'darwin';
+    $conf->data->set( 'linkflags'  => 'foobar' );
+    $flagsbefore = $conf->data->get( 'linkflags' );
+    ok($step->_handle_darwin_for_fink($conf, $osname, 'gmp.h'),
+        "handle_darwin_for_fink() returned true value");
+    $flagsafter = $conf->data->get( 'linkflags' );
+    is($flagsbefore, $flagsafter, "No change in linkflags, as expected");
+
+    ok(chdir $cwd, "Able to change back to original directory after testing");
+}
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_gmp-01.t - test auto::gmp
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_gmp-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test auto::gmp.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::auto::gmp, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/headers-01.t (from r39902, branches/darwinhints/t/steps/auto_headers-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/headers-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_headers-01.t)
@@ -0,0 +1,132 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# auto_headers-01.t
+
+use strict;
+use warnings;
+use Test::More tests =>  30;
+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::Test qw(
+    test_step_thru_runstep
+    rerun_defaults_for_testing
+    test_step_constructor_and_description
+);
+use IO::CaptureOutput qw | capture |;
+
+########## regular ##########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [ ],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new;
+
+my $serialized = $conf->pcfreeze();
+
+test_step_thru_runstep( $conf, q{init::defaults}, $args );
+my $pkg = q{auto::headers};
+
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+
+my $ret = $step->runstep($conf);
+ok( $ret, "runstep() returned true value" );
+is($step->result(), q{}, "Result is empty string as expected");
+
+$conf->replenish($serialized);
+
+########## --verbose ##########
+
+($args, $step_list_ref) = process_options(
+    {
+        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);
+{
+    my $rv;
+    my $stdout;
+    capture ( sub {$rv = $step->runstep($conf) }, \$stdout);
+    ok( $stdout, "verbose output captured" );
+    ok( $rv, "runstep() returned true value" );
+    is($step->result(), q{}, "Result is empty string as expected");
+}
+
+$conf->replenish($serialized);
+
+########## _set_from_Config(); _list_extra_headers() ##########
+
+($args, $step_list_ref) = process_options(
+    {
+        argv => [ ],
+        mode => q{configure},
+    }
+);
+
+rerun_defaults_for_testing($conf, $args );
+
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+
+auto::headers::_set_from_Config($conf);
+ok(! $conf->data->get('i_niin'), "Mapping made correctly");
+
+{
+    $conf->data->set_p5( OSNAME => "msys" );
+    my %extra_headers =
+        map {$_, 1} auto::headers::_list_extra_headers($conf);
+    ok($extra_headers{'sysmman.h'}, "Special header set for msys");
+    ok($extra_headers{'netdb.h'}, "Special header set for msys");
+}
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_headers-01.t - test auto::headers
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_headers-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test auto::headers.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::auto::headers, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/icu-01.t (from r39902, branches/darwinhints/t/steps/auto_icu-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/icu-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_icu-01.t)
@@ -0,0 +1,723 @@
+#! perl
+# Copyright (C) 2007-2008, Parrot Foundation.
+# $Id$
+# auto_icu-01.t
+
+use strict;
+use warnings;
+use Test::More tests => 136;
+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::icu');
+use Parrot::Configure;
+use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Test qw(
+    test_step_thru_runstep
+    rerun_defaults_for_testing
+    test_step_constructor_and_description
+);
+use Parrot::Configure::Utils qw( capture_output );
+use IO::CaptureOutput qw( capture );
+
+########## --without-icu ##########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [ q{--without-icu}  ],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new;
+
+my $serialized = $conf->pcfreeze();
+
+test_step_thru_runstep( $conf, q{init::defaults}, $args );
+
+my $pkg = q{auto::icu};
+
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+my $ret = $step->runstep($conf);
+ok( $ret, "runstep() returned true value" );
+
+is( $conf->data->get('has_icu'), 0,
+    "Got expected value for 'has_icu'" );
+is( $conf->data->get('icu_shared'), q{},
+    "Got expected value for 'icu_shared'" );
+is( $conf->data->get('icu_dir'), q{},
+    "Got expected value for 'icu_dir'" );
+is( $step->result(), 'not requested', "Got expected result" );
+$step->set_result(q{});  # prepare for subsequent tests
+
+########## _handle_icuconfig_opt() ##########
+
+# Test some internal routines
+my $icuconfig;
+my $phony = q{/path/to/icu-config};
+
+is($step->_handle_icuconfig_opt(undef), q{},
+    "Got expected value for icu-config");
+is($step->_handle_icuconfig_opt('none'), q{},
+    "Got expected value for icu-config");
+is($step->_handle_icuconfig_opt($phony), $phony,
+    "Got expected value for icu-config");
+
+########## _handle_search_for_icuconfig() ##########
+
+my ($autodetect, $without);
+
+($icuconfig, $autodetect, $without) =
+    $step->_handle_search_for_icu_config( {
+        icuconfig   => q{},
+        autodetect  => 1,
+        without     => 0,
+        verbose     => 0,
+        ret         => -1,
+} );
+ok(! defined $icuconfig, "icu-config not found, as expected");
+is($autodetect, 0, "Autodetection cancelled, as expected");
+is($without, 1, "Continuing to configure without ICU");
+
+($icuconfig, $autodetect, $without) =
+    $step->_handle_search_for_icu_config( {
+        icuconfig   => q{},
+        autodetect  => 1,
+        without     => 0,
+        verbose     => 0,
+        ret         => 256,
+} );
+ok(! defined $icuconfig, "icu-config not found, as expected");
+is($autodetect, 0, "Autodetection cancelled, as expected");
+is($without, 1, "Continuing to configure without ICU");
+
+($icuconfig, $autodetect, $without) =
+    $step->_handle_search_for_icu_config( {
+        icuconfig   => q{},
+        autodetect  => 1,
+        without     => 0,
+        verbose     => 0,
+        ret         => 0,
+} );
+is($icuconfig, q{icu-config}, "icu-config found, as expected");
+is($autodetect, 1, "Autodetection continues, as expected");
+is($without, 0, "Continuing to try to configure with ICU");
+
+{
+    my ($stdout, $stderr);
+    capture( sub {
+            ($icuconfig, $autodetect, $without) =
+                $step->_handle_search_for_icu_config( {
+                    icuconfig   => q{},
+                    autodetect  => 1,
+                    without     => 0,
+                    verbose     => 1,
+                    ret         => 0,
+            } );
+        },
+        \$stdout,
+        \$stderr,
+    );
+    is($icuconfig, q{icu-config}, "icu-config found, as expected");
+    is($autodetect, 1, "Autodetection continues, as expected");
+    is($without, 0, "Continuing to try to configure with ICU");
+    like($stdout, qr/icu-config found/,
+        "Got expected verbose output");
+}
+
+########## _handle_autodetect() ##########
+
+($icuconfig, $autodetect, $without) =
+    $step->_handle_autodetect( {
+        icuconfig   => $phony,
+        autodetect  => 1,
+        without     => 0,
+        verbose     => 0,
+} );
+is($icuconfig, $phony, "icu-config unchanged, as expected");
+is($autodetect, 1, "Autodetection still active, as expected");
+is($without, 0, "Continuing to try to configure with ICU");
+
+{
+    my ($stdout, $stderr);
+    capture( sub {
+        ($icuconfig, $autodetect, $without) =
+            $step->_handle_autodetect( {
+                icuconfig   => $phony,
+                autodetect  => 0,
+                without     => 0,
+                verbose     => 1,
+            } );
+        },
+        \$stdout,
+        \$stderr,
+    );
+    is($icuconfig, $phony, "icu-config unchanged, as expected");
+    is($autodetect, 0, "Autodetection still inactive, as expected");
+    is($without, 0, "Continuing to try to configure with ICU");
+    like($stdout, qr/ICU autodetection disabled/s,
+        "Got expected verbose output");
+}
+
+########## _handle_icushared() ##########
+
+my $icushared;
+
+$icushared = qq{-licui18n -lalpha\n};
+($icushared, $without) = $step->_handle_icushared($icushared, 0);
+like($icushared, qr/-lalpha/, "Got expected ld flags");
+is($without, 0, "Continuing to try to configure with ICU");
+
+$icushared = qq{-licui18n\n};
+($icushared, $without) = $step->_handle_icushared($icushared, 0);
+ok(! $icushared, "No icushared, as expected");
+is($without, 1, "No longer trying to configure with ICU");
+
+$icushared = undef;
+($icushared, $without) = $step->_handle_icushared($icushared, 0);
+ok(! defined $icushared, "icushared remains undefined, as expected");
+is($without, 0, "Continuing to try to configure with ICU");
+
+########## _handle_icuheaders() ##########
+
+my $icuheaders;
+($icuheaders, $without) =
+    $step->_handle_icuheaders($conf, undef, 0);
+ok(! defined $icuheaders, "icuheaders path undefined, as expected");
+is($without, 0, "Continuing to try to configure with ICU");
+
+my $cwd = cwd();
+{
+    my $tdir = tempdir( CLEANUP => 1 );
+    chdir $tdir or croak "Unable to change to temporary directory";
+    my $expected_dir = q{alpha};
+    my $expected_include_dir =
+        $expected_dir . $conf->data->get('slash') .  q{include};
+    ($icuheaders, $without) =
+        $step->_handle_icuheaders($conf, qq{$expected_dir\n}, 0);
+    is($icuheaders, $expected_include_dir,
+        "Got expected icuheaders path value");
+    is($without, 1, "No longer trying to configure with ICU");
+    chdir $cwd or croak "Unable to change back to starting directory";
+}
+
+{
+    my $tdir = tempdir( CLEANUP => 1 );
+    chdir $tdir or croak "Unable to change to temporary directory";
+    my $expected_dir = q{alpha};
+    my $expected_include_dir =
+        $expected_dir . $conf->data->get('slash') .  q{include};
+    mkdir $expected_dir or croak "Unable to make testing directory";
+    ($icuheaders, $without) =
+        $step->_handle_icuheaders($conf, qq{$expected_dir\n}, 0);
+    is($icuheaders, $expected_include_dir,
+        "Got expected icuheaders path value");
+    is($without, 1, "No longer trying to configure with ICU");
+    chdir $cwd or croak "Unable to change back to starting directory";
+}
+
+{
+    my $tdir = tempdir( CLEANUP => 1);
+    chdir $tdir or croak "Unable to change to temporary directory";
+    my $expected_dir = q{alpha};
+    my $expected_include_dir =
+        $expected_dir . $conf->data->get('slash') .  q{include};
+    mkdir $expected_dir or croak "Unable to make testing directory";
+    mkpath($expected_include_dir, { mode => 0755 })
+        or croak "Unable to make second-level testing directory";
+    ($icuheaders, $without) =
+        $step->_handle_icuheaders($conf, qq{$expected_dir\n}, 0);
+    is($icuheaders, $expected_include_dir,
+        "Got expected icuheaders path value");
+    is($without, 0, "Continuing to try to configure with ICU");
+    chdir $cwd or croak "Unable to change back to starting directory";
+}
+
+########## _try_icuconfig() ##########
+
+($without, $icushared, $icuheaders) =
+    $step->_try_icuconfig(
+        $conf,
+        {
+            without         => 1,
+            autodetect      => 1,
+            icuconfig       => 1,
+            verbose         => 0,
+        }
+    );
+is($without, 1, "Not trying to configure with ICU");
+ok(! defined $icushared, "icushared undefined, as expected");
+ok(! defined $icuheaders, "icuheaders undefined, as expected");
+is($step->result(), q{}, "result is still empty string, as expected");
+
+($without, $icushared, $icuheaders) =
+    $step->_try_icuconfig(
+        $conf,
+        {
+            without         => 0,
+            autodetect      => 0,
+            icuconfig       => 1,
+            verbose         => 0,
+        }
+    );
+is($without, 0, "Still trying to configure with ICU");
+ok(! defined $icushared, "icushared undefined, as expected");
+ok(! defined $icuheaders, "icuheaders undefined, as expected");
+is($step->result(), q{}, "result is still empty string, as expected");
+
+($without, $icushared, $icuheaders) =
+    $step->_try_icuconfig(
+        $conf,
+        {
+            without         => 0,
+            autodetect      => 1,
+            icuconfig       => q{},
+            verbose         => 0,
+        }
+    );
+is($without, 0, "Still trying to configure with ICU");
+ok(! defined $icushared, "icushared undefined, as expected");
+ok(! defined $icuheaders, "icuheaders undefined, as expected");
+is($step->result(), q{}, "result is still empty string, as expected");
+
+########## _verbose_report() ##########
+
+my $die = auto::icu::_die_message();
+like($die, qr/Something is wrong with your ICU installation/s,
+    "Got expected die message");
+
+{
+    my $phony = q{/path/to/icu-config};
+    my ($stdout, $stderr);
+    capture(
+        sub { auto::icu::_verbose_report(1, $phony, undef, undef); },
+        \$stdout,
+        \$stderr,
+    );
+    like( $stdout, qr/icuconfig:\s+$phony/s,
+        "Got expected verbose output"
+    );
+}
+
+{
+    my $phony = q{-lalpha};
+    my ($stdout, $stderr);
+    capture(
+        sub { auto::icu::_verbose_report(1, undef, $phony, undef); },
+        \$stdout,
+        \$stderr,
+    );
+    like( $stdout, qr/icushared='$phony'/s,
+        "Got expected verbose output"
+    );
+}
+
+{
+    my $phony = q{alpha/include};
+    my ($stdout, $stderr);
+    capture(
+        sub { auto::icu::_verbose_report(1, undef, undef, $phony); },
+        \$stdout,
+        \$stderr,
+    );
+    like( $stdout, qr/headers='$phony'/s,
+        "Got expected verbose output"
+    );
+}
+
+{
+    my ($stdout, $stderr);
+    capture(
+        sub { auto::icu::_verbose_report(0, 'alpha', 'beta', 'gamma'); },
+        \$stdout,
+        \$stderr,
+    );
+    ok(! $stdout, "No verbose output, as expected");
+}
+
+########## _handle_icuconfig_errors() ##########
+
+{
+    my ($stdout, $stderr);
+    capture(
+        sub {
+            $icuheaders = $step->_handle_icuconfig_errors( {
+                icushared   => undef,
+                icuheaders  => undef,
+            } );
+        },
+        \$stdout,
+        \$stderr,
+    );
+    like($stderr, qr/error: icushared not defined/s,
+        "Got expected warnings");
+    like($stderr, qr/error: icuheaders not defined or invalid/s,
+        "Got expected warnings");
+    like($stderr, qr/Something is wrong with your ICU installation/s,
+        "Got expected warnings");
+}
+
+########## _handle_ccflags_status() ##########
+
+$icuheaders = q{alpha};
+my $status = $conf->data->get( 'ccflags' );
+
+{
+    my ($stdout, $stderr);
+    capture(
+        sub {
+           auto::icu::_handle_ccflags_status($conf,
+               {
+                   ccflags_status  => 1,
+                   verbose         => 1,
+                   icuheaders      => $icuheaders,
+               },
+           );
+       },
+       \$stdout,
+       \$stderr,
+   );
+   like($stdout, qr/Your compiler found the icu headers/,
+       "Got expected verbose output");
+}
+$conf->data->set( ccflags => $status ); # re-set for next test
+
+{
+    my ($stdout, $stderr);
+    capture(
+        sub {
+           auto::icu::_handle_ccflags_status($conf,
+               {
+                   ccflags_status  => 0,
+                   verbose         => 1,
+                   icuheaders      => $icuheaders,
+               },
+           );
+       },
+       \$stdout,
+       \$stderr,
+   );
+
+   if ($icuheaders =~ /\s/) {
+       like($stdout, qr/Adding -I \"\Q$icuheaders\E\" to ccflags for icu headers/,
+           "Got expected verbose output");
+   }
+   else {
+       like($stdout, qr/Adding -I \Q$icuheaders\E to ccflags for icu headers/,
+           "Got expected verbose output");
+   }
+}
+if ($icuheaders =~ /\s/) {
+    like($conf->data->get( 'ccflags' ),
+        qr/-I \"\Q$icuheaders\E\"/,
+        "ccflags augmented as expected"
+    );
+}
+else {
+    like($conf->data->get( 'ccflags' ),
+        qr/-I \Q$icuheaders\E/,
+        "ccflags augmented as expected"
+    );
+}
+$conf->data->set( ccflags => $status ); # re-set for next test
+
+{
+    my ($stdout, $stderr);
+    capture(
+        sub {
+           auto::icu::_handle_ccflags_status($conf,
+               {
+                   ccflags_status  => 0,
+                   verbose         => 0,
+                   icuheaders      => $icuheaders,
+               },
+           );
+       },
+       \$stdout,
+       \$stderr,
+   );
+
+   ok(! $stdout, "No verbose output, as expected");
+}
+
+if ($icuheaders =~ /\s/) {
+    like($conf->data->get( 'ccflags'),
+        qr/-I \"\Q$icuheaders\E\"/,
+        "ccflags augmented as expected"
+    );
+}
+else {
+    like($conf->data->get( 'ccflags'),
+        qr/-I \Q$icuheaders\E/,
+        "ccflags augmented as expected"
+    );
+}
+$conf->data->set( ccflags => $status ); # re-set for next test
+
+########## _set_no_configure_with_icu() ##########
+
+$conf->data->set( 'has_icu', undef );
+$conf->data->set( 'icu_shared', undef );
+$conf->data->set( 'icu_dir', undef );
+my $result = q{hooray!};
+$step->_set_no_configure_with_icu($conf, $result);
+is($conf->data->get( 'has_icu' ), 0,
+    "Got expected value for 'has_icu'");
+is($conf->data->get( 'icu_shared' ), q{},
+    "Got expected value for 'icu_shared'");
+is($conf->data->get( 'icu_dir' ), q{},
+    "Got expected value for 'icu_dir'");
+is($step->{result}, $result, "Got expected result");
+# reset for next test
+$conf->data->set( 'has_icu', undef );
+$conf->data->set( 'icu_shared', undef );
+$conf->data->set( 'icu_dir', undef );
+
+$conf->replenish($serialized);
+
+########## --without-icu; --icu-config=none ##########
+
+($args, $step_list_ref) = process_options( {
+    argv => [ q{--without-icu}, q{--icu-config=none}  ],
+    mode => q{configure},
+} );
+rerun_defaults_for_testing($conf, $args );
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+$ret = $step->runstep($conf);
+ok( $ret, "runstep() returned true value" );
+
+is( $conf->data->get('has_icu'), 0,
+    "Got expected value for 'has_icu'" );
+is( $conf->data->get('icu_shared'), q{},
+    "Got expected value for 'icu_shared'" );
+is( $conf->data->get('icu_dir'), q{},
+    "Got expected value for 'icu_dir'" );
+is( $step->result(), 'not requested', "Got expected result" );
+
+$conf->replenish($serialized);
+
+########## --icu-config=1; --icuheaders; --icushared ##########
+
+{
+    my ($stdout, $stderr, $ret);
+    eval { ($stdout, $stderr, $ret) =
+        capture_output( qw| icu-config --exists | ); };
+    SKIP: {
+        skip "icu-config not available", 9 if $stderr;
+        ($args, $step_list_ref) = process_options( {
+            argv => [
+                q{--icu-config=1},
+                q{--icuheaders=alpha},
+                q{--icushared=beta}
+            ],
+            mode => q{configure},
+        } );
+        rerun_defaults_for_testing($conf, $args );
+        $conf->add_steps($pkg);
+        $conf->options->set( %{$args} );
+        $step = test_step_constructor_and_description($conf);
+        {
+            my ($stdout, $stderr, $ret);
+            capture(
+                sub { $ret = $step->runstep($conf); },
+                \$stdout,
+                \$stderr,
+            );
+            ok(! defined $ret, "runstep() returned undefined value as expected");
+            like($stderr, qr/error: icuheaders not defined or invalid/s,
+                "Got expected warnings");
+            like($stderr, qr/Something is wrong with your ICU installation/s,
+                "Got expected warnings");
+        }
+    }
+}
+
+$conf->replenish($serialized);
+
+########## --verbose ##########
+
+($args, $step_list_ref) = process_options( {
+    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);
+$phony = q{phony};
+$step->{icuconfig_default} = $phony;
+
+{
+    my ($stdout, $stderr);
+    my $ret;
+    capture(
+        sub { $ret = $step->runstep($conf); },
+        \$stdout,
+        \$stderr,
+    );
+    ok( $ret, "runstep() returned true value" );
+    my $expected = q{no icu-config};
+    is($step->result(), $expected,
+        "Got expected return value: $expected");
+    like($stdout,
+        qr/Discovered $step->{icuconfig_default} --exists returns/s,
+        "Got expected verbose output re return value",
+    );
+    like($stdout,
+        qr/Could not locate an icu-config program/s,
+        "Got expected verbose output re inability to locate icu-config program",
+    );
+}
+$step->set_result( q{} );
+
+$conf->options->set( verbose => undef );
+{
+    my ($stdout, $stderr);
+    my $ret;
+    capture(
+        sub { $ret = $step->runstep($conf); },
+        \$stdout,
+        \$stderr,
+    );
+    ok( $ret, "runstep() returned true value" );
+    my $expected = q{no icu-config};
+    is($step->result(), $expected,
+        "Got expected return value: $expected");
+    ok(! $stdout, "No verbose output captured, as expected");
+}
+
+$conf->replenish($serialized);
+
+########## --icuheaders ##########
+
+{
+    my ($stdout, $stderr, $ret);
+    eval { ($stdout, $stderr, $ret) =
+        capture_output( qw| icu-config --exists | ); };
+    SKIP: {
+        skip "icu-config not available", 10 if $stderr;
+        ($args, $step_list_ref) = process_options(
+            {
+                argv => [ q{--icuheaders=alpha}, ],
+                mode => q{configure},
+            }
+        );
+
+        rerun_defaults_for_testing($conf, $args );
+        $conf->add_steps($pkg);
+        $conf->options->set( %{$args} );
+        $step = test_step_constructor_and_description($conf);
+
+        {
+            my ($stdout, $stderr, $ret);
+            capture(
+                sub { $ret = $step->runstep($conf); },
+                \$stdout,
+                \$stderr,
+            );
+            ok(! defined $ret, "runstep() returned undefined value as expected");
+            like($stderr, qr/error: icushared not defined/s,
+                "Got expected warnings");
+            like($stderr, qr/error: icuheaders not defined or invalid/s,
+                "Got expected warnings");
+            like($stderr, qr/Something is wrong with your ICU installation/s,
+                "Got expected warnings");
+        }
+    }
+}
+
+$conf->replenish($serialized);
+
+########## --verbose; _try_icuconfig() ##########
+
+{
+    my ($stdout, $stderr, $ret);
+    eval { ($stdout, $stderr, $ret) =
+        capture_output( qw| icu-config --exists | ); };
+    SKIP: {
+        skip "icu-config not available", 12 if $stderr;
+        ($args, $step_list_ref) = process_options( {
+            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);
+        {
+            my ($stdout, $stderr, $ret);
+            my $icuconfig;
+            my ($without, $icushared, $icuheaders);
+            capture(
+                sub {
+                    $icuconfig = $step->_handle_icuconfig_opt(1);
+                    ($without, $icushared, $icuheaders) = $step->_try_icuconfig(
+                        $conf,
+                        {
+                            without         => 0,
+                            autodetect      => 1,
+                            icuconfig       => $icuconfig,
+                            verbose         => 1,
+                        }
+                    );
+                },
+                \$stdout,
+                \$stderr,
+            );
+            like($stdout, qr/Trying $icuconfig with '--ldflags'/s,
+                "Got expected verbose output re --ldflags");
+            like($stdout, qr/icushared:  captured/s,
+                "Got expected verbose output re icushared");
+            like($stdout, qr/For icushared, found \Q$icushared\E and $without/s,
+                "Got expected verbose output re icushared");
+            like($stdout, qr/Trying $icuconfig with '--prefix'/s,
+                "Got expected verbose output re --prefix");
+            like($stdout, qr/icuheaders:  captured/s,
+                "Got expected verbose output re icuheaders");
+            like($stdout, qr/For icuheaders, found \Q$icuheaders\E and $without/s,
+                "Got expected verbose output re icuheaders");
+        }
+    }
+}
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_icu-01.t - test auto::icu
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_icu-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test auto::icu.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::auto::icu, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/inline-01.t (from r39902, branches/darwinhints/t/steps/auto_inline-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/inline-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_inline-01.t)
@@ -0,0 +1,165 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# auto_inline-01.t
+
+use strict;
+use warnings;
+use Test::More tests =>  37;
+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::Test qw(
+    test_step_thru_runstep
+    rerun_defaults_for_testing
+    test_step_constructor_and_description
+);
+use IO::CaptureOutput qw( capture );
+
+########### regular  ###########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [ ],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new;
+
+test_step_thru_runstep( $conf, q{init::defaults}, $args );
+
+my $pkg = q{auto::inline};
+
+$conf->add_steps($pkg);
+
+my $serialized = $conf->pcfreeze();
+
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+
+my $ret = $step->runstep($conf);
+ok( $ret, "runstep() returned true value" );
+
+$conf->replenish($serialized);
+
+########### --inline ###########
+
+($args, $step_list_ref) = process_options( {
+    argv => [ q{--inline} ],
+    mode => q{configure},
+} );
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+$ret = $step->runstep($conf);
+ok( $ret, "runstep() returned true value" );
+
+$conf->replenish($serialized);
+
+########### _evaluate_inline() ###########
+
+($args, $step_list_ref) = process_options( {
+    argv => [ ],
+    mode => q{configure},
+} );
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+my $test = 1;
+ok($step->_evaluate_inline($conf, $test),
+    "_evaluate_inline() returned true value");
+is($step->result, q{yes}, "Got expected result");
+is($conf->data->get( 'inline' ), 1,
+    "'inline' attribute has expected value");;
+
+$conf->replenish($serialized);
+
+########### _evaluate_inline() ###########
+
+($args, $step_list_ref) = process_options( {
+    argv => [ ],
+    mode => q{configure},
+} );
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+$test = 0;
+ok($step->_evaluate_inline($conf, $test),
+    "_evaluate_inline() returned true value");
+is($step->result, q{no}, "Got expected result");
+is($conf->data->get( 'inline' ), q{},
+    "'inline' attribute has expected value");;
+
+$conf->replenish($serialized);
+
+########### _evaluate_inline(); --verbose ###########
+
+($args, $step_list_ref) = process_options( {
+    argv => [ q{--verbose} ],
+    mode => q{configure},
+} );
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+{
+    my $test = 1;
+    my $stdout;
+    my $ret = capture(
+        sub { $step->_evaluate_inline($conf, $test) },
+        \$stdout
+    );
+    ok($ret, "_evaluate_inline() returned true value");
+    is($step->result, q{yes}, "Got expected result");;
+    is($conf->data->get( 'inline' ), 1,
+        "'inline' attribute has expected value");
+}
+
+$conf->replenish($serialized);
+
+########### _second_probe_for_inline(); _evaluate_inline() ###########
+
+($args, $step_list_ref) = process_options( {
+    argv => [ ],
+    mode => q{configure},
+} );
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+$test = 0;
+$test = $step->_second_probe_for_inline($conf, $test);
+ok($step->_evaluate_inline($conf, $test),
+    "_evaluate_inline() returned true value");
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_inline-01.t - test auto::inline
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_inline-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test auto::inline.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::auto::inline, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/isreg-01.t (from r39902, branches/darwinhints/t/steps/auto_isreg-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/isreg-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_isreg-01.t)
@@ -0,0 +1,116 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# auto_isreg-01.t
+
+use strict;
+use warnings;
+use Test::More tests => 23;
+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::Test qw(
+    test_step_thru_runstep
+    rerun_defaults_for_testing
+    test_step_constructor_and_description
+);
+use IO::CaptureOutput qw| capture |;
+
+########## regular ##########
+
+my ($args, $step_list_ref) = process_options( {
+    argv            => [],
+    mode            => q{configure},
+} );
+
+my $conf = Parrot::Configure->new();
+
+test_step_thru_runstep($conf, q{init::defaults}, $args);
+
+my $pkg = q{auto::isreg};
+
+$conf->add_steps($pkg);
+
+my $serialized = $conf->pcfreeze();
+
+$conf->options->set(%{$args});
+my $step = test_step_constructor_and_description($conf);
+ok($step->runstep($conf), "runstep() returned true value");
+
+$conf->replenish($serialized);
+
+########## _evaluate_isreg() ##########
+
+$conf->options->set(%{$args});
+$step = test_step_constructor_and_description($conf);
+{
+    my $anyerror;
+    my $stdout;
+    my $ret = capture(
+        sub { $step->_evaluate_isreg($conf, $anyerror) },
+        \$stdout
+    );
+    ok($ret, "_evaluate_isreg returned true value");
+    is($conf->data->get('isreg'), 1, "'isreg' set to true value as expected");
+    is($step->result, 'yes', "Got expected result");
+}
+
+$conf->replenish($serialized);
+
+########## _evaluate_isreg(); --verbose ##########
+
+($args, $step_list_ref) = process_options( {
+    argv            => [ q{--verbose} ],
+    mode            => q{configure},
+} );
+$conf->options->set(%{$args});
+$step = test_step_constructor_and_description($conf);
+{
+    my $anyerror = 1;
+    my $stdout;
+    my $ret = capture(
+        sub { $step->_evaluate_isreg($conf, $anyerror) },
+        \$stdout
+    );
+    ok($ret, "_evaluate_isreg returned true value");
+    is($conf->data->get('isreg'), 0, "'isreg' set to false value as expected");
+    is($step->result, 'no', "Got expected result");
+}
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_isreg-01.t - test auto::isreg
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_isreg-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test auto::isreg.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::auto::isreg, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/jit-01.t (from r39902, branches/darwinhints/t/steps/auto_jit-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/jit-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_jit-01.t)
@@ -0,0 +1,396 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# auto_jit-01.t
+
+use strict;
+use warnings;
+use Test::More tests =>  51;
+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 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( {
+    argv => [ ],
+    mode => q{configure},
+} );
+
+my $conf = Parrot::Configure->new;
+
+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} );
+my $step = test_step_constructor_and_description($conf);
+
+########### _check_jitcapability() ###########
+
+my $cwd = cwd();
+{
+    my $tdir = tempdir( CLEANUP => 1 );
+    chdir $tdir or croak "Unable to change to temporary directory";
+    my $jitbase = 'foo';
+    my $cpuarch = 'bar';
+    my $osname = 'baz';
+    my $corejitdir = File::Spec->catdir ( $jitbase, $cpuarch );
+    mkpath( $corejitdir, { mode => 0755 } ) or croak "Unable to make testing directory";
+    my $corejit = File::Spec->catfile( $jitbase, $cpuarch, q{core.jit} );
+    is( $step->_check_jitcapability($corejit, $cpuarch, $osname, 8), 0,
+        "Got expected value for _check_jitcapability(): no core.jit case");
+
+    chdir $cwd or croak "Unable to change back to starting directory";
+}
+
+{
+    my $tdir = tempdir( CLEANUP => 1 );
+    chdir $tdir or croak "Unable to change to temporary directory";
+    my $jitbase = 'foo';
+    my $cpuarch = 'bar';
+    my $osname = 'baz';
+    my $corejitdir = File::Spec->catdir ( $jitbase, $cpuarch );
+    mkpath( $corejitdir, { mode => 0755 } ) or croak "Unable to make testing directory";
+    my $corejit = File::Spec->catfile( $jitbase, $cpuarch, q{core.jit} );
+    open my $FH, '>', $corejit
+        or croak "Unable to open handle to file for testing";
+    print $FH qq{Hello, JIT\n};
+    close $FH or croak "Unable to close handle to file for testing";
+    is( $step->_check_jitcapability($corejit, $cpuarch, $osname, 8), 0,
+        "Got expected value for _check_jitcapability(): no JIT on this architecture case");
+
+    chdir $cwd or croak "Unable to change back to starting directory";
+}
+
+{
+    my $tdir = tempdir( CLEANUP => 1 );
+    chdir $tdir or croak "Unable to change to temporary directory";
+    my $jitbase = 'foo';
+    my $cpuarch = 'bar';
+    my $osname = 'baz';
+    my $corejitdir = File::Spec->catdir ( $jitbase, $cpuarch );
+    mkpath( $corejitdir, { mode => 0755 } ) or croak "Unable to make testing directory";
+    my $corejit = File::Spec->catfile( $jitbase, $cpuarch, q{core.jit} );
+    open my $FH, '>', $corejit
+        or croak "Unable to open handle to file for testing";
+    print $FH qq{Hello, JIT\n};
+    close $FH or croak "Unable to close handle to file for testing";
+    my $orig = $step->{jit_is_working};
+    $step->{jit_is_working} = { $cpuarch => 1 };
+    is( $step->_check_jitcapability($corejit, $cpuarch, $osname, 8), 1,
+        "Got expected value for _check_jitcapability(): mock JIT case");
+    $step->{jit_is_working} = $orig;
+
+    chdir $cwd or croak "Unable to change back to starting directory";
+}
+
+{
+    my $tdir = tempdir( CLEANUP => 1 );
+    chdir $tdir or croak "Unable to change to temporary directory";
+    my $jitbase = 'foo';
+    my $cpuarch = 'i386';
+    my $osname = 'darwin';
+    my $corejitdir = File::Spec->catdir ( $jitbase, $cpuarch );
+    mkpath( $corejitdir, { mode => 0755 } ) or croak "Unable to make testing directory";
+    my $corejit = File::Spec->catfile( $jitbase, $cpuarch, q{core.jit} );
+    open my $FH, '>', $corejit
+        or croak "Unable to open handle to file for testing";
+    print $FH qq{Hello, JIT\n};
+    close $FH or croak "Unable to close handle to file for testing";
+    my $orig = $step->{jit_is_working};
+    $step->{jit_is_working} = { $cpuarch => 1 };
+    is( $step->_check_jitcapability($corejit, $cpuarch, $osname, 8), 0,
+        "Got expected value for _check_jitcapability(): mock darwin-i386 case");
+    $step->{jit_is_working} = $orig;
+
+    chdir $cwd or croak "Unable to change back to starting directory";
+}
+
+{
+    my $tdir = tempdir( CLEANUP => 1 );
+    chdir $tdir or croak "Unable to change to temporary directory";
+    my $jitbase = 'foo';
+    my $cpuarch = 'i386';
+    my $osname = 'MSWin32';
+    my $corejitdir = File::Spec->catdir ( $jitbase, $cpuarch );
+    mkpath( $corejitdir, { mode => 0755 } ) or croak "Unable to make testing directory";
+    my $corejit = File::Spec->catfile( $jitbase, $cpuarch, q{core.jit} );
+    open my $FH, '>', $corejit
+        or croak "Unable to open handle to file for testing";
+    print $FH qq{Hello, JIT\n};
+    close $FH or croak "Unable to close handle to file for testing";
+    my $orig = $step->{jit_is_working};
+    $step->{jit_is_working} = { $cpuarch => 1 };
+    is( $step->_check_jitcapability($corejit, $cpuarch, $osname, 4), 0,
+        "Got expected value for _check_jitcapability(): mock single-float");
+    $step->{jit_is_working} = $orig;
+
+    chdir $cwd or croak "Unable to change back to starting directory";
+}
+
+########### _handle_asm() ###########
+
+{
+    my $tdir = tempdir( CLEANUP => 1 );
+    chdir $tdir or croak "Unable to change to temporary directory";
+    my $jitbase = 'foo';
+    my $cpuarch = 'bar';
+    my $jitarchname = "${cpuarch}-baz";
+    my $asmdir = File::Spec->catdir( $jitbase, $cpuarch );
+    mkpath( $asmdir, { mode => 0755 } ) or croak "Unable to make testing directory";
+    mkpath( q{src}, { mode => 0755 } ) or croak "Unable to make testing directory";
+
+    ok(auto::jit::_handle_asm( {
+        conf        => $conf,
+        jitbase     => $jitbase,
+        cpuarch     => $cpuarch,
+        jitarchname => $jitarchname,
+    } ), "_handle_asm() returned successfully");
+    is( $conf->data->get( 'asmfun_o' ), q{},
+        "Got expected value for asmfun_o: no asm case");
+    $conf->data->set( asmfun_o => undef ); # reset for next test
+
+    chdir $cwd or croak "Unable to change back to starting directory";
+}
+
+{
+    my $tdir = tempdir( CLEANUP => 1 );
+    chdir $tdir or croak "Unable to change to temporary directory";
+    my $jitbase = 'foo';
+    my $cpuarch = 'bar';
+    my $jitarchname = "${cpuarch}-baz";
+    my $asmdir = File::Spec->catdir( $jitbase, $cpuarch );
+    mkpath( $asmdir, { mode => 0755 } ) or croak "Unable to make testing directory";
+    mkpath( q{src}, { mode => 0755 } ) or croak "Unable to make testing directory";
+
+    my $sjit =
+        File::Spec->catfile( $jitbase, $cpuarch, qq{${jitarchname}.s} );
+    open my $FH, '>', $sjit
+        or croak "Unable to open handle to file for testing";
+    print $FH qq{Hello, JIT\n};
+    close $FH or croak "Unable to close handle to file for testing";
+
+    ok(auto::jit::_handle_asm( {
+        conf        => $conf,
+        jitbase     => $jitbase,
+        cpuarch     => $cpuarch,
+        jitarchname => $jitarchname,
+    } ), "_handle_asm() returned successfully");
+    is( $conf->data->get( 'asmfun_o' ), q{src/asmfun$(O)},
+        "Got expected value for asmfun_o: sjit case");
+    $conf->data->set( asmfun_o => undef ); # reset for next test
+
+    chdir $cwd or croak "Unable to change back to starting directory";
+}
+
+{
+    my $tdir = tempdir( CLEANUP => 1 );
+    chdir $tdir or croak "Unable to change to temporary directory";
+    my $jitbase = 'foo';
+    my $cpuarch = 'bar';
+    my $jitarchname = "${cpuarch}-baz";
+    my $asmdir = File::Spec->catdir( $jitbase, $cpuarch );
+    mkpath( $asmdir, { mode => 0755 } ) or croak "Unable to make testing directory";
+    mkpath( q{src}, { mode => 0755 } ) or croak "Unable to make testing directory";
+    my $asm = File::Spec->catfile( $jitbase, $cpuarch, q{asm.s} );
+    open my $FH, '>', $asm
+        or croak "Unable to open handle to file for testing";
+    print $FH qq{Hello, JIT\n};
+    close $FH or croak "Unable to close handle to file for testing";
+
+    ok(auto::jit::_handle_asm( {
+        conf        => $conf,
+        jitbase     => $jitbase,
+        cpuarch     => $cpuarch,
+        jitarchname => $jitarchname,
+    } ), "_handle_asm() returned successfully");
+    is( $conf->data->get( 'asmfun_o' ), q{src/asmfun$(O)},
+        "Got expected value for asmfun_o: asm case");
+    $conf->data->set( asmfun_o => undef ); # reset for next test
+
+    chdir $cwd or croak "Unable to change back to starting directory";
+}
+
+########### _first_probe_for_exec() ###########
+
+is(  $step->_first_probe_for_exec( 'i386', 'foobar' ), 0,
+    "Got expected value for _first_probe_for_exec");
+is(  $step->_first_probe_for_exec( 'i386', 'openbsd' ), 1,
+    "Got expected value for _first_probe_for_exec");
+is(  $step->_first_probe_for_exec( 'foobar', 'openbsd' ), 0,
+    "Got expected value for _first_probe_for_exec");
+
+########### _handle_execcapable() ###########
+
+if (! defined $conf->data->get('cpuarch') ) {
+    $conf->data->set('cpuarch' => 1)
+}
+
+ok(auto::jit::_handle_execcapable($conf, 1),
+    "_handle_execcapable() returned true value");
+is($conf->data->get('execcapable'), 1,
+    "Got expected value for execcapable");
+# prepare for next test
+$conf->data->set('execcapable' => undef);
+
+ok(auto::jit::_handle_execcapable($conf, 0),
+    "_handle_execcapable() returned true value");
+is($conf->data->get('execcapable'), 0,
+    "Got expected value for execcapable");
+$conf->data->set('execcapable' => undef);
+
+########### _handle_exec_protect() ###########
+
+$conf->data->set( has_exec_protect => undef );
+auto::jit::_handle_exec_protect($conf, 0, 0);
+ok( ! defined $conf->data->get( 'has_exec_protect'),
+    "'has_exec_protect' undefined, as expected");
+
+auto::jit::_handle_exec_protect($conf, 1, 0);
+is( $conf->data->get( 'has_exec_protect'), 1,
+    "Got expected value for 'has_exec_protect'");
+$conf->data->set( has_exec_protect => undef );
+
+{
+    my ($stdout, $stderr);
+    capture(
+        sub { auto::jit::_handle_exec_protect($conf, 0, 1); },
+        \$stdout,
+        \$stderr,
+    );
+    ok( ! defined $conf->data->get( 'has_exec_protect'),
+        "'has_exec_protect' undefined, as expected");
+    like($stdout, qr/no\)/, "Got expected verbose output");
+    $conf->data->set( has_exec_protect => undef );
+}
+
+{
+    my ($stdout, $stderr);
+    capture(
+        sub { auto::jit::_handle_exec_protect($conf, 1, 1); },
+        \$stdout,
+        \$stderr,
+    );
+    is( $conf->data->get( 'has_exec_protect'), 1,
+        "Got expected value for 'has_exec_protect'");
+    like($stdout, qr/yes\)/, "Got expected verbose output");
+    $conf->data->set( has_exec_protect => undef );
+}
+
+$conf->replenish($serialized);
+
+($args, $step_list_ref) = process_options( {
+    argv => [ q{--jitcapable=0}, 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);
+
+# Mock some values so that we can get to the point inside runstep() where the
+# command-line option for jitcapable is relevant.
+
+$cwd = cwd();
+{
+    my $tdir = tempdir( CLEANUP => 1 );
+    chdir $tdir or croak "Unable to change to temporary directory";
+    my $jitbase = 'foo';
+    my $cpuarch = 'i386';
+    my $osname = 'darwin';
+    my $corejitdir = File::Spec->catdir ( $jitbase, $cpuarch );
+    mkpath( $corejitdir, { mode => 0755 } ) or croak "Unable to make testing directory";
+    my $corejit = File::Spec->catfile( $jitbase, $cpuarch, q{core.jit} );
+    open my $FH, '>', $corejit
+        or croak "Unable to open handle to file for testing";
+    print $FH qq{Hello, JIT\n};
+    close $FH or croak "Unable to close handle to file for testing";
+    my $orig = $step->{jit_is_working};
+    $step->{jit_is_working} = { $cpuarch => 1 };
+    $conf->data->set( cpuarch => $cpuarch );
+    $conf->data->set( osname => $osname );
+    {
+        my ($stdout, $stderr, $ret);
+        capture(
+            sub { $ret = $step->runstep($conf); },
+            \$stdout,
+            \$stderr,
+        );
+        ok( $ret, "runstep() returned true value" );
+        like($stdout, qr/yes|no/s, "Got expected verbose output");
+    }
+    $step->{jit_is_working} = $orig;
+    $conf->data->set( cpuarch => undef );
+    $conf->data->set( osname => undef );
+
+    is( $conf->data->get( 'jitarchname' ), 'nojit',
+        "Got expected value for jitarchname");
+    is( $conf->data->get( 'jitcapable' ), 0,
+        "Got expected value for jitcapable");
+    is( $conf->data->get( 'execcapable' ), 0,
+        "Got expected value for execcapable");
+    is( $conf->data->get( 'cc_hasjit' ), '',
+        "Got expected value for cc_hasjit");
+    is( $conf->data->get( 'TEMP_jit_o' ), '',
+        "Got expected value for TEMP_jit_o");
+    is( $conf->data->get( 'TEMP_exec_h' ), '',
+        "Got expected value for TEMP_exec_h");
+    is( $conf->data->get( 'TEMP_exec_o' ), '',
+        "Got expected value for TEMP_exec_o");
+    is( $conf->data->get( 'TEMP_exec_dep' ), '',
+        "Got expected value for TEMP_exec_dep");
+    is( $step->result(), 'no',
+        "Got expected result for no JIT");
+
+    chdir $cwd or croak "Unable to change back to starting directory";
+}
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_jit-01.t - test auto::jit
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_jit-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test auto::jit.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::auto::jit, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/macports-01.t (from r39902, branches/darwinhints/t/steps/auto_macports-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/macports-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_macports-01.t)
@@ -0,0 +1,226 @@
+#! perl
+# Copyright (C) 2007-2009, Parrot Foundation.
+# $Id$
+# auto_macports-01.t
+
+use strict;
+use warnings;
+use Test::More;
+use Carp;
+use Cwd;
+use File::Spec;
+use File::Temp qw( tempdir );
+use lib qw( lib t/configure/testlib );
+
+plan( skip_all => 'Macports is Darwin only' ) unless $^O =~ /darwin/;
+plan( tests    => 52 );
+
+use_ok('config::init::defaults');
+use_ok('config::auto::macports');
+use Parrot::Configure;
+use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+use IO::CaptureOutput qw( capture );
+
+########## not Darwin ##########
+
+my ($args, $step_list_ref) = process_options( {
+    argv            => [],
+    mode            => q{configure},
+} );
+
+my $conf = Parrot::Configure->new();
+
+test_step_thru_runstep($conf, q{init::defaults}, $args);
+
+my $pkg = q{auto::macports};
+
+$conf->add_steps($pkg);
+
+my $serialized = $conf->pcfreeze();
+
+$conf->options->set(%{$args});
+my $step = test_step_constructor_and_description($conf);
+
+# mock not Darwin
+$conf->data->set_p5( 'OSNAME' => 'foobar' );
+ok($step->runstep($conf), "runstep() returned true value");
+is($step->result(), q{skipped}, "Got expected result for non-Darwin OS");
+
+$conf->replenish($serialized);
+
+########## Darwin but no Macports ##########
+
+($args, $step_list_ref) = process_options( {
+    argv            => [],
+    mode            => q{configure},
+} );
+$conf->options->set(%{$args});
+$step = test_step_constructor_and_description($conf);
+
+# mock no Macports-default directories
+$step->{ports_root} = File::Spec->catdir( qw( / my ridiculous foobar ) );
+ok($step->runstep($conf), "runstep() returned true value");
+is($step->result(), 'no', "Got expected result");
+
+$conf->replenish($serialized);
+
+########## Darwin with Macports ##########
+
+($args, $step_list_ref) = process_options( {
+    argv            => [],
+    mode            => q{configure},
+} );
+$conf->options->set(%{$args});
+$step = test_step_constructor_and_description($conf);
+my $cwd = cwd();
+
+my $tdir = tempdir( CLEANUP => 1 );
+$step->{ports_root} = $tdir;
+ok(chdir $tdir, "Able to change to temporary directory");
+ok( (mkdir 'lib'), "Able to make lib directory");
+ok( (mkdir 'include'), "Able to make include directory");
+
+ok($step->runstep($conf), "runstep() returned true value");
+is($step->result(), q{yes}, "Got expected result");
+
+is($conf->data->get('ports_base_dir'), $tdir,
+    "ports base directory set as expected");
+is($conf->data->get('ports_lib_dir'), qq{$tdir/lib},
+    "ports 'lib' directory set as expected");
+is($conf->data->get('ports_include_dir'), qq{$tdir/include},
+    "ports 'include' directory set as expected");
+
+ok(chdir $cwd, "Able to change back to original directory after testing");
+
+$conf->replenish($serialized);
+
+########## not Darwin; --verbose ##########
+
+($args, $step_list_ref) = process_options( {
+    argv            => [ q{--verbose} ],
+    mode            => q{configure},
+} );
+$conf->options->set(%{$args});
+$step = test_step_constructor_and_description($conf);
+# mock not Darwin
+my $osname = 'foobar';
+$conf->data->set_p5( 'OSNAME' => $osname );
+{
+    my ($stdout, $stderr);
+    my $ret = capture sub { $step->runstep($conf) }, \$stdout, \$stderr;
+    ok($ret, "runstep() returned true value");
+    is($step->result(), q{skipped}, "Got expected result for non-Darwin OS");
+    like(
+        $stdout,
+        qr/^Operating system is $osname; Macports is Darwin only/,
+        "Got expected verbose output"
+    );
+}
+
+$conf->replenish($serialized);
+
+########## Darwin; --verbose; no Macports ##########
+
+($args, $step_list_ref) = process_options( {
+    argv            => [ q{--verbose} ],
+    mode            => q{configure},
+} );
+$conf->options->set(%{$args});
+$step = test_step_constructor_and_description($conf);
+# mock no Macports-default directories
+$step->{ports_root} = File::Spec->catdir( qw( / my ridiculous foobar ) );
+SKIP: {
+    skip 'Macports is Darwin only', 3 unless $^O =~ /darwin/;
+    my ($stdout, $stderr);
+    my $ret = capture sub { $step->runstep($conf) }, \$stdout, \$stderr;
+    ok($ret, "runstep() returned true value");
+    is($step->result(), 'no', "Got expected result");
+    like(
+        $stdout,
+        qr/^Could not locate Macports directories/,
+        "Got expected verbose output"
+    );
+}
+$step->{ports_root} = undef; # prepare for next test
+
+$conf->replenish($serialized);
+
+########## Darwin; defective Macports ##########
+
+($args, $step_list_ref) = process_options( {
+    argv            => [ ],
+    mode            => q{configure},
+} );
+$conf->options->set(%{$args});
+$step = test_step_constructor_and_description($conf);
+# mock no Macports root directory
+SKIP: {
+    skip 'Macports is Darwin only', 2 unless $^O =~ /darwin/;
+    $step->{ports_root} = undef;
+    ok($step->runstep($conf), "runstep() returned true value");
+    is($step->result(), 'no', "Got expected result");
+}
+
+$conf->replenish($serialized);
+
+########## Darwin; --verbose; defective Macports ##########
+
+($args, $step_list_ref) = process_options( {
+    argv            => [ q{--verbose} ],
+    mode            => q{configure},
+} );
+$conf->options->set(%{$args});
+$step = test_step_constructor_and_description($conf);
+# mock no Macports root directory
+$step->{ports_root} = undef;
+
+my ($stdout, $stderr);
+my $ret = capture sub { $step->runstep($conf) }, \$stdout, \$stderr;
+ok($ret, "runstep() returned true value");
+is($step->result(), 'no', "Got expected result");
+like(
+    $stdout,
+    qr/^Could not locate Macports root directory/,
+    "Got expected verbose output"
+);
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_macports-01.t - test auto::macports
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_macports-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test auto::macports.  Some tests run only on Darwin.
+Others simulate what happens on operating systems other than Darwin.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::auto::macports, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:
+

Copied: branches/darwinhints/t/steps/auto/macports-02.t (from r39902, branches/darwinhints/t/steps/auto_macports-02.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/macports-02.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_macports-02.t)
@@ -0,0 +1,77 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# auto_macports-02.t
+
+use strict;
+use warnings;
+use Test::More;
+plan( skip_all => 'Macports is Darwin only' ) unless $^O =~ /darwin/;
+plan( tests => 12 );
+use Carp;
+use lib qw( lib t/configure/testlib );
+use_ok('config::init::defaults');
+$ENV{TEST_MACPORTS} = 'foobar';
+use_ok('config::auto::macports');
+
+use Parrot::Configure;
+use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+
+my ($args, $step_list_ref) = process_options( {
+    argv            => [],
+    mode            => q{configure},
+} );
+
+my $conf = Parrot::Configure->new();
+
+test_step_thru_runstep($conf, q{init::defaults}, $args);
+
+my $pkg = q{auto::macports};
+
+$conf->add_steps($pkg);
+$conf->options->set(%{$args});
+my $step = test_step_constructor_and_description($conf);
+
+# mock no Macports-default directories
+ok($step->runstep($conf), "runstep() returned true value");
+is($step->result(), 'no', "Got expected result");
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_macports-02.t - test auto::macports
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_macports-02.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test auto::macports.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::auto::macports, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:
+

Copied: branches/darwinhints/t/steps/auto/memalign-01.t (from r39902, branches/darwinhints/t/steps/auto_memalign-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/memalign-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_memalign-01.t)
@@ -0,0 +1,275 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# auto_memalign-01.t
+
+use strict;
+use warnings;
+use Test::More tests => 69;
+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::Test qw(
+    test_step_thru_runstep
+    rerun_defaults_for_testing
+    test_step_constructor_and_description
+);
+use IO::CaptureOutput qw| capture |;
+
+########### regular ###########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [ ],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new;
+
+my $serialized = $conf->pcfreeze();
+
+test_step_thru_runstep( $conf, q{init::defaults}, $args );
+
+my $pkg = q{auto::memalign};
+
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+$conf->data->set( memalign => 'memalign');
+my $ret = $step->runstep($conf);
+ok( $ret, "runstep() returned true value" );
+is($step->result(), q{already set}, "Expected result was set");
+is($conf->data->get('memalign'),
+    q{memalign},
+    "memalign set as expected"
+);
+
+$conf->replenish($serialized);
+
+########### _set_malloc_header()  ###########
+
+($args, $step_list_ref) = process_options(
+    {
+        argv => [ ],
+        mode => q{configure},
+    }
+);
+rerun_defaults_for_testing($conf, $args );
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+{
+    $conf->data->set('i_malloc' => 1);
+    ok(auto::memalign::_set_malloc_header($conf),
+        "_set_malloc_header() returned true value");
+    is($conf->data->get( 'malloc_header' ), 'malloc.h',
+        "malloc_header has expected value");
+    $conf->data->set('i_malloc' => undef); # reset for next test
+}
+
+{
+    $conf->data->set('i_malloc' => 0);
+    ok(auto::memalign::_set_malloc_header($conf),
+        "_set_malloc_header() returned true value");
+    is($conf->data->get( 'malloc_header' ), 'stdlib.h',
+        "malloc_header has expected value");
+    $conf->data->set('i_malloc' => undef); # reset for next test
+}
+
+########### _set_ptrcast()  ###########
+
+{
+    $conf->data->set('ptrsize' => 2);
+    $conf->data->set('intsize' => 2);
+    ok(auto::memalign::_set_ptrcast($conf),
+        "_set_ptrcast() returned true value");
+    is($conf->data->get( 'ptrcast' ), 'int',
+        "ptrcast has expected value");
+    # reset for next test
+    $conf->data->set('ptrsize' => undef);
+    $conf->data->set('intsize' => undef);
+}
+
+{
+    $conf->data->set('ptrsize' => 2);
+    $conf->data->set('intsize' => 4);
+    ok(auto::memalign::_set_ptrcast($conf),
+        "_set_ptrcast() returned true value");
+    is($conf->data->get( 'ptrcast' ), 'long',
+        "ptrcast has expected value");
+    # reset for next test
+    $conf->data->set('ptrsize' => undef);
+    $conf->data->set('intsize' => undef);
+}
+
+########### _set_memalign()  ###########
+
+{
+    $conf->data->set( malloc_header => 'malloc.h' );
+    ok($step->_set_memalign($conf, 1, 1),
+        "_set_memalign() returned true value");
+    ok(! defined $conf->data->get( 'malloc_header' ),
+        "malloc_header now undef as expected");
+    is($conf->data->get( 'memalign' ), 'posix_memalign',
+        "Got expected value for memalign");
+    is($step->result(), q{yes}, "Got expected result");
+}
+
+{
+    $conf->data->set( malloc_header => 'malloc.h' );
+    ok($step->_set_memalign($conf, 1, 0),
+        "_set_memalign() returned true value");
+    ok(! defined $conf->data->get( 'malloc_header' ),
+        "malloc_header now undef as expected");
+    is($conf->data->get( 'memalign' ), 'memalign',
+        "Got expected value for memalign");
+    is($step->result(), q{yes}, "Got expected result");
+}
+
+{
+    $conf->data->set( malloc_header => 'malloc.h' );
+    ok($step->_set_memalign($conf, 0, 1),
+        "_set_memalign() returned true value");
+    ok(! defined $conf->data->get( 'malloc_header' ),
+        "malloc_header now undef as expected");
+    is($conf->data->get( 'memalign' ), 'posix_memalign',
+        "Got expected value for memalign");
+    is($step->result(), q{no}, "Got expected result");
+}
+
+{
+    $conf->data->set( malloc_header => 'malloc.h' );
+    ok($step->_set_memalign($conf, 0, 0),
+        "_set_memalign() returned true value");
+    ok(! defined $conf->data->get( 'malloc_header' ),
+        "malloc_header now undef as expected");
+    is($conf->data->get( 'memalign' ), '',
+        "Got expected value (empty string) for memalign");
+    is($step->result(), q{no}, "Got expected result");
+}
+
+$conf->replenish($serialized);
+
+########### --verbose; _set_memalign() ###########
+
+($args, $step_list_ref) = process_options(
+    {
+        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);
+{
+    $conf->data->set( malloc_header => 'malloc.h' );
+    my ($rv, $stdout, $expected);
+    $expected = 'posix_memalign';
+    capture(
+        sub { $rv = $step->_set_memalign($conf, 1, 1); },
+        \$stdout,
+    );
+    ok($rv, "_set_memalign() returned true value");
+    ok(! defined $conf->data->get( 'malloc_header' ),
+        "malloc_header now undef as expected");
+    is($conf->data->get( 'memalign' ), $expected,
+        "Got expected value for memalign");
+    is($step->result(), q{yes}, "Got expected result");
+    like($stdout, qr/Yep:$expected/,
+        "Got expected verbose output");
+}
+
+{
+    $conf->data->set( malloc_header => 'malloc.h' );
+    my ($rv, $stdout, $expected);
+    $expected = 'memalign';
+    capture(
+        sub { $rv = $step->_set_memalign($conf, 1, 0); },
+        \$stdout,
+    );
+    ok($rv, "_set_memalign() returned true value");
+    ok(! defined $conf->data->get( 'malloc_header' ),
+        "malloc_header now undef as expected");
+    is($conf->data->get( 'memalign' ), $expected,
+        "Got expected value for memalign");
+    is($step->result(), q{yes}, "Got expected result");
+    like($stdout, qr/Yep:$expected/,
+        "Got expected verbose output");
+}
+
+{
+    $conf->data->set( malloc_header => 'malloc.h' );
+    my ($rv, $stdout, $expected);
+    $expected = 'posix_memalign';
+    capture(
+        sub { $rv = $step->_set_memalign($conf, 0, 1); },
+        \$stdout,
+    );
+    ok($rv, "_set_memalign() returned true value");
+    ok(! defined $conf->data->get( 'malloc_header' ),
+        "malloc_header now undef as expected");
+    is($conf->data->get( 'memalign' ), $expected,
+        "Got expected value for memalign");
+    is($step->result(), q{no}, "Got expected result");
+    like($stdout, qr/no/,
+        "Got expected verbose output");
+}
+
+{
+    $conf->data->set( malloc_header => 'malloc.h' );
+    my ($rv, $stdout, $expected);
+    $expected = '';
+    capture(
+        sub { $rv = $step->_set_memalign($conf, 0, 0); },
+        \$stdout,
+    );
+    ok($rv, "_set_memalign() returned true value");
+    ok(! defined $conf->data->get( 'malloc_header' ),
+        "malloc_header now undef as expected");
+    is($conf->data->get( 'memalign' ), $expected,
+        "Got expected value (empty string) for memalign");
+    is($step->result(), q{no}, "Got expected result");
+    like($stdout, qr/no/,
+        "Got expected verbose output");
+}
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_memalign-01.t - test auto::memalign
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_memalign-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test subroutines exported by
+config::auto::memalign.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::auto::memalign, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/msvc-01.t (from r39902, branches/darwinhints/t/steps/auto_msvc-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/msvc-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_msvc-01.t)
@@ -0,0 +1,202 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# auto_msvc-01.t
+
+use strict;
+use warnings;
+use Test::More tests => 43;
+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::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+use IO::CaptureOutput qw| capture |;
+
+########## Win32 ##########
+
+my ($args, $step_list_ref) = process_options( {
+    argv            => [],
+    mode            => q{configure},
+} );
+
+my $conf = Parrot::Configure->new();
+
+test_step_thru_runstep($conf, q{init::defaults}, $args);
+
+my $pkg = q{auto::msvc};
+
+$conf->add_steps($pkg);
+
+my $serialized = $conf->pcfreeze();
+
+$conf->options->set(%{$args});
+my $step = test_step_constructor_and_description($conf);
+SKIP: {
+    skip 'MSVC is Windows only', 1 unless $^O =~ /Win32/i;
+    ok($step->runstep($conf), "runstep() returned true value");
+}
+
+$conf->replenish($serialized);
+
+########## _evaluate_msvc() ##########
+
+($args, $step_list_ref) = process_options( {
+    argv            => [],
+    mode            => q{configure},
+} );
+$conf->options->set(%{$args});
+$step = test_step_constructor_and_description($conf);
+my $msvcref = { _MSC_VER => 1399 };
+ok($step->_evaluate_msvc($conf, $msvcref),
+    "_evaluate_msvc returned true value");
+is($step->result, 'yes, 13.99', "Got expected result");
+is($conf->data->get('msvcversion'), '13.99',
+    "Got expected msvc version string");
+
+$conf->replenish($serialized);
+
+########## _evaluate_msvc() ##########
+
+($args, $step_list_ref) = process_options( {
+    argv            => [],
+    mode            => q{configure},
+} );
+$conf->options->set(%{$args});
+$step = test_step_constructor_and_description($conf);
+$msvcref = { _MSC_VER => 1400 };
+ok($step->_evaluate_msvc($conf, $msvcref),
+    "_evaluate_msvc returned true value");
+is($step->result, 'yes, 14.0', "Got expected result");
+is($conf->data->get('msvcversion'), '14.0',
+    "Got expected msvc version string");
+like(
+    $conf->data->get('ccflags'),
+    qr/\-D_CRT_SECURE_NO_DEPRECATE/,
+    "ccflags appropriately adjusted given MSVC version"
+);
+
+$conf->replenish($serialized);
+
+########## _handle_not_msvc() ##########
+
+($args, $step_list_ref) = process_options( {
+    argv            => [],
+    mode            => q{configure},
+} );
+$conf->options->set(%{$args});
+$step = test_step_constructor_and_description($conf);
+
+my ($status, $major, $minor, $verbose);
+
+$major = 13;
+$minor = 99;
+$verbose = undef;
+$status = $step->_handle_not_msvc($conf, $major, $minor, $verbose);
+ok(! defined $status, 'sub return value, as expected, not yet set');
+ok(! $step->result(), 'result, as expected, not yet set');
+
+$major = 13;
+$minor = undef;
+$verbose = undef;
+$status = $step->_handle_not_msvc($conf, $major, $minor, $verbose);
+ok($status, 'sub return value, as expected, set to true value');
+is($step->result(), q{no}, 'Got expected result');
+ok(! defined ($conf->data->get( 'msvcversion' )),
+    'msvcversion is undef, as expected');
+
+$major = undef;
+$minor = 99;
+$verbose = undef;
+$status = $step->_handle_not_msvc($conf, $major, $minor, $verbose);
+ok($status, 'sub return value, as expected, set to true value');
+is($step->result(), q{no}, 'Got expected result');
+ok(! defined ($conf->data->get( 'msvcversion' )),
+    'msvcversion is undef, as expected');
+
+{
+    my $stdout;
+    $major = undef;
+    $minor = undef;
+    $verbose = 1;
+    capture(
+        sub { $status =
+            $step->_handle_not_msvc($conf, $major, $minor, $verbose); },
+        \$stdout,
+    );
+    ok($status, 'sub return value, as expected, set to true value');
+    is($step->result(), q{no}, 'Got expected result');
+    ok(! defined ($conf->data->get( 'msvcversion' )),
+        'msvcversion is undef, as expected');
+    like($stdout, qr/\(no\)/, "Got expected verbose output");
+    # Prepare for the next test.
+    $step->set_result(undef);
+}
+
+########## _compose_msvcversion() ##########
+
+my $msvcversion;
+
+$major = 13;
+$minor = 99;
+$verbose = undef;
+$msvcversion = $step->_compose_msvcversion($major, $minor, $verbose);
+is($msvcversion, '13.99', "Got expected MSVC version");
+is($step->result(), 'yes, 13.99', "Got expected result");
+$step->set_result(undef);
+
+{
+    my $stdout;
+    $major = 13;
+    $minor = 99;
+    $verbose = 1;
+    capture(
+        sub { $msvcversion =
+            $step->_compose_msvcversion($major, $minor, $verbose); },
+        \$stdout,
+    );
+    is($msvcversion, '13.99', "Got expected MSVC version");
+    is($step->result(), 'yes, 13.99', "Got expected result");
+    $step->set_result(undef);
+}
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_msvc-01.t - test auto::msvc
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_msvc-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test auto::msvc.  Some tests run only if the system is
+Win32.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::auto::msvc, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/neg_0-01.t (from r39902, branches/darwinhints/t/steps/auto_neg_0-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/neg_0-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_neg_0-01.t)
@@ -0,0 +1,165 @@
+#! perl
+# Copyright (C) 2009, Parrot Foundation.
+# $Id$
+# auto_neg_0-01.t
+
+use strict;
+use warnings;
+
+use Test::More tests => 31;
+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::Test qw(
+    test_step_thru_runstep
+    rerun_defaults_for_testing
+    test_step_constructor_and_description
+);
+use IO::CaptureOutput 'capture';
+
+########### regular ###########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [ ],
+        mode => 'configure',
+    }
+);
+
+my $conf = Parrot::Configure->new;
+
+test_step_thru_runstep( $conf, 'init::defaults', $args );
+my $pkg = 'auto::neg_0';
+
+$conf->add_steps($pkg);
+
+my $serialized = $conf->pcfreeze();
+
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+my $ret = $step->runstep($conf);
+ok( $ret, 'runstep() returned true value' );
+ok( defined $step->result(), 'A result has been defined');
+
+$conf->replenish($serialized);
+
+##### _evaluate_cc_run() #####
+
+($args, $step_list_ref) = process_options(
+    {
+        argv => [ ],
+        mode => 'configure',
+    }
+);
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+
+my $d_neg_0;
+my $orig_has_neg_0 = 0;
+my $verbose = $conf->data->get('verbose');
+
+$d_neg_0 = '-0';
+
+is( $step->_evaluate_cc_run($conf, $d_neg_0, $orig_has_neg_0, $verbose),
+    1,
+    '_evaluate_cc_run() completed satisfactorily' );
+
+is( $step->result(), 'yes', 'Got expected result');
+
+$d_neg_0 = '0';
+
+is( $step->_evaluate_cc_run($conf, $d_neg_0, $orig_has_neg_0, $verbose),
+    0,
+    '_evaluate_cc_run() completed satisfactorily' );
+is( $step->result(), 'no', 'Got expected result' );
+
+$conf->replenish($serialized);
+
+########## --verbose; _evaluate_cc_run() ##########
+
+($args, $step_list_ref) = process_options( {
+    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);
+
+$verbose = $conf->options->get('verbose');
+my $has_neg_0;
+
+$d_neg_0 = '-0';
+{
+    my ($stdout, $stderr);
+    capture(
+        sub {
+            $has_neg_0 = $step->_evaluate_cc_run(
+                $conf, $d_neg_0, $orig_has_neg_0, $verbose
+            ),
+        },
+        \$stdout,
+    );
+    is( $has_neg_0, 1,
+        'Got expected return value from _evaluate_cc_run()' );
+    is( $step->result(), 'yes', 'Got expected result: yes' );
+    like( $stdout, qr/\(yes\)/, 'Got expected verbose output' );
+}
+
+$d_neg_0 = '0';
+{
+    my ($stdout, $stderr);
+    capture(
+        sub {
+            $has_neg_0 = $step->_evaluate_cc_run(
+                $conf, $d_neg_0, $orig_has_neg_0, $verbose
+            ),
+        },
+        \$stdout,
+    );
+    is( $has_neg_0, 0,
+        'Got expected return value from _evaluate_cc_run()' );
+    is( $step->result(), 'no', 'Got expected result: no' );
+    like( $stdout, qr/\(no\)/, 'Got expected verbose output' );
+}
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_neg_0-01.t - test auto::neg_0
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_neg_0-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test auto::neg_0.
+
+=head1 AUTHOR
+
+Reini Urban
+
+=head1 SEE ALSO
+
+config::auto::neg_0, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/opengl-01.t (from r39902, branches/darwinhints/t/steps/auto_opengl-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/opengl-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_opengl-01.t)
@@ -0,0 +1,238 @@
+#! perl
+# Copyright (C) 2007-2008, Parrot Foundation.
+# $Id$
+# auto_opengl-01.t
+
+use strict;
+use warnings;
+use Test::More tests => 43;
+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::Test qw(
+    test_step_thru_runstep
+    rerun_defaults_for_testing
+    test_step_constructor_and_description
+);
+use IO::CaptureOutput qw| capture |;
+
+########## --without-opengl ##########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [ q{--without-opengl} ],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new;
+
+my $serialized = $conf->pcfreeze();
+
+test_step_thru_runstep( $conf, q{init::defaults}, $args );
+
+my $pkg = q{auto::opengl};
+
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+ok( $step->runstep($conf), "runstep() returned true value");
+is( $step->result(), 'no', "Got expected result" );
+is( $conf->data->get( 'has_opengl' ), 0,
+    "Got expected value for 'has_opengl'");
+
+$conf->replenish($serialized);
+
+########## _select_lib() ##########
+
+($args, $step_list_ref) = process_options(
+    {
+        argv => [ ],
+        mode => q{configure},
+    }
+);
+rerun_defaults_for_testing($conf, $args );
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+
+# Mock OS/C-compiler combinations
+my ($osname, $cc, $initial_libs);
+$initial_libs = $conf->data->get('libs');
+$osname = 'mswin32';
+$cc = 'gcc';
+is($step->_select_lib( {
+    conf            => $conf,
+    osname          => $osname,
+    cc              => $cc,
+    win32_gcc       => '-lglut32 -lglu32 -lopengl32',
+    win32_nongcc    => 'glut.lib glu.lib gl.lib',
+    darwin          => '-framework OpenGL -framework GLUT',
+    default         => '-lglut -lGLU -lGL',
+} ),
+    '-lglut32 -lglu32 -lopengl32',
+   "_select_lib() returned expected value");
+
+$osname = 'mswin32';
+$cc = 'cc';
+$initial_libs = $conf->data->get('libs');
+is($step->_select_lib( {
+    conf            => $conf,
+    osname          => $osname,
+    cc              => $cc,
+    win32_gcc       => '-lglut32 -lglu32 -lopengl32',
+    win32_nongcc    => 'glut.lib glu.lib gl.lib',
+    darwin          => '-framework OpenGL -framework GLUT',
+    default         => '-lglut -lGLU -lGL',
+} ),
+   'glut.lib glu.lib gl.lib',
+   "_select_lib() returned expected value");
+
+$osname = 'darwin';
+$cc = 'cc';
+$initial_libs = $conf->data->get('libs');
+is($step->_select_lib( {
+    conf            => $conf,
+    osname          => $osname,
+    cc              => $cc,
+    win32_gcc       => '-lglut32 -lglu32 -lopengl32',
+    win32_nongcc    => 'glut.lib glu.lib gl.lib',
+    darwin          => '-framework OpenGL -framework GLUT',
+    default         => '-lglut -lGLU -lGL',
+} ),
+   '-framework OpenGL -framework GLUT',
+   "_select_lib() returned expected value");
+
+$osname = 'foobar';
+$cc = 'cc';
+$initial_libs = $conf->data->get('libs');
+is($step->_select_lib( {
+    conf            => $conf,
+    osname          => $osname,
+    cc              => $cc,
+    win32_gcc       => '-lglut32 -lglu32 -lopengl32',
+    win32_nongcc    => 'glut.lib glu.lib gl.lib',
+    darwin          => '-framework OpenGL -framework GLUT',
+    default         => '-lglut -lGLU -lGL',
+} ),
+   '-lglut -lGLU -lGL',
+   "_select_lib() returned expected value");
+
+$conf->replenish($serialized);
+
+########## --verbose; _evaluate_cc_run() ##########
+
+($args, $step_list_ref) = process_options(
+    {
+        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);
+
+my @try = qw( 4 freeglut );
+my $test = qq{$try[0] $try[1]\n};
+
+{
+    my ($stdout, $stderr);
+    my ($glut_api_version, $glut_brand);
+    capture(
+        sub { ($glut_api_version, $glut_brand) = $step->_evaluate_cc_run(
+            $test,
+            0,
+        ); },
+        \$stdout,
+        \$stderr,
+    );
+    is( $glut_api_version, $try[0],
+        "Got first expected return value for _evaluate_cc_run()." );
+    is( $glut_brand, $try[1],
+        "Got first expected return value for _evaluate_cc_run()." );
+    ok(! $stdout, "Nothing captured on STDOUT, as expected");
+}
+
+{
+    my ($stdout, $stderr);
+    my ($glut_api_version, $glut_brand);
+    capture(
+        sub { ($glut_api_version, $glut_brand) = $step->_evaluate_cc_run(
+            $test,
+            $conf->options->get( 'verbose' )
+        ); },
+        \$stdout,
+        \$stderr,
+    );
+    is( $glut_api_version, $try[0],
+        "Got first expected return value for _evaluate_cc_run()." );
+    is( $glut_brand, $try[1],
+        "Got first expected return value for _evaluate_cc_run()." );
+    like(
+        $stdout,
+        qr/yes, $glut_brand API version $glut_api_version/,
+        "Got expected verbose output for _evaluate_cc_run()"
+    );
+}
+
+########## _handle_glut() ##########
+
+{
+    my $glut_api_version = '4';
+    my $glut_brand = 'freeglut';
+    ok(auto::opengl::_handle_glut( $conf, 'lib', $glut_api_version, $glut_brand ),
+        "_handle_glut() returned true value");
+    is( $conf->data->get( 'opengl' ),  'define',
+        "Got expected value for opengl");
+    is( $conf->data->get( 'has_opengl' ),  1,
+        "Got expected value for has_opengl");
+    is( $conf->data->get( 'HAS_OPENGL' ),  1,
+        "Got expected value for HAS_OPENGL");
+    is( $conf->data->get( 'glut' ),  'define',
+        "Got expected value for glut");
+    is( $conf->data->get( 'glut_brand' ),  $glut_brand,
+        "Got expected value for glut_brand");
+    is( $conf->data->get( 'has_glut' ),  $glut_api_version,
+        "Got expected value for has_glut");
+    is( $conf->data->get( 'HAS_GLUT' ),  $glut_api_version,
+        "Got expected value for HAS_GLUT");
+}
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+  auto_opengl-01.t - test auto::opengl
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_opengl-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test configuration step class auto::opengl.
+
+=head1 AUTHOR
+
+Geoffrey Broadwell; modified from a similar file by James E Keenan
+
+=head1 SEE ALSO
+
+config::auto::opengl, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/ops-01.t (from r39902, branches/darwinhints/t/steps/auto_ops-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/ops-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_ops-01.t)
@@ -0,0 +1,77 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# auto_ops-01.t
+
+use strict;
+use warnings;
+use Test::More tests =>  6;
+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::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+
+########## ops ##########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [ q{--ops=alpha} ],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new;
+
+my $pkg = q{auto::ops};
+
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+
+$conf->options->set('ops' => 'alpha');
+{
+    open STDOUT, '>', "/dev/null" or croak "Unable to open to myout";
+    my $ret = $step->runstep($conf);
+    close STDOUT or croak "Unable to close after myout";
+    ok( $ret, "runstep() returned true value" );
+}
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_ops-01.t - test auto::ops
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_ops-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test auto::ops.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::auto::ops, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/pcre-01.t (from r39902, branches/darwinhints/t/steps/auto_pcre-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/pcre-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_pcre-01.t)
@@ -0,0 +1,180 @@
+#! perl
+# Copyright (C) 2007-2008, Parrot Foundation.
+# $Id$
+# auto_pcre-01.t
+
+use strict;
+use warnings;
+use Test::More tests => 34;
+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::Test qw(
+    test_step_thru_runstep
+    rerun_defaults_for_testing
+    test_step_constructor_and_description
+);
+use IO::CaptureOutput qw| capture |;
+
+########## --without-pcre ##########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [ q{--without-pcre} ],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new;
+
+my $serialized = $conf->pcfreeze();
+
+test_step_thru_runstep( $conf, q{init::defaults}, $args );
+
+my $pkg = q{auto::pcre};
+
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+ok( $step->runstep($conf), "runstep() returned true value");
+is( $step->result(), 'no', "Got expected result" );
+is( $conf->data->get( 'HAS_PCRE' ), 0,
+    "Got expected value for 'HAS_PCRE'");
+
+$conf->replenish($serialized);
+
+########## _select_lib() ##########
+
+($args, $step_list_ref) = process_options( {
+    argv => [ ],
+    mode => q{configure},
+} );
+rerun_defaults_for_testing($conf, $args );
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+
+# Mock values for OS and C-compiler
+my ($osname, $cc, $initial_value);
+
+$osname = 'mswin32';
+$cc = 'gcc';
+$initial_value = $conf->data->get( 'libs' );
+is($step->_select_lib( {
+    conf            => $conf,
+    osname          => $osname,
+    cc              => $cc,
+    win32_nongcc    => 'pcre.lib',
+    default         => '-lpcre',
+} ),
+   '-lpcre',
+   "_select_lib() returned expected value");
+
+$osname = 'mswin32';
+$cc = 'cc';
+$initial_value = $conf->data->get( 'libs' );
+is($step->_select_lib( {
+    conf            => $conf,
+    osname          => $osname,
+    cc              => $cc,
+    win32_nongcc    => 'pcre.lib',
+    default         => '-lpcre',
+} ),
+   'pcre.lib',
+   "_select_lib() returned expected value");
+
+$osname = 'foobar';
+$cc = 'gcc';
+$initial_value = $conf->data->get( 'libs' );
+is($step->_select_lib( {
+    conf            => $conf,
+    osname          => $osname,
+    cc              => $cc,
+    win32_nongcc    => 'pcre.lib',
+    default         => '-lpcre',
+} ),
+   '-lpcre',
+   "_select_lib() returned expected value");
+
+########## _evaluate_cc_run() ##########
+
+# Mock different outcomes of _evaluate_cc_run
+my ($test, $has_pcre);
+my $verbose = $conf->options->get('verbose');
+
+$test = q{pcre foobar};
+ok(! $step->_evaluate_cc_run($test, $verbose),
+    "Got expected setting for HAS_PCRE");
+
+$test = q{pcre 4.1};
+ok($step->_evaluate_cc_run($test, $verbose),
+    "_evaluate_cc_run returned true value as expected");
+is($step->result(), q{yes, 4.1}, "Got expected PCRE version");
+
+$conf->replenish($serialized);
+
+########## --verbose; _evaluate_cc_run() ##########
+
+($args, $step_list_ref) = process_options( {
+    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);
+
+# Mock different outcomes of _evaluate_cc_run
+$verbose = $conf->options->get('verbose');
+
+$test = q{pcre 4.0};
+{
+    my ($stdout, $stderr);
+    capture(
+        sub {
+            $has_pcre = $step->_evaluate_cc_run($test, $verbose);
+        },
+        \$stdout,
+    );
+    ok($has_pcre, "_evaluate_cc_run returned true value as expected");
+    is($step->result(), q{yes, 4.0}, "Got expected PCRE version");
+    like($stdout, qr/\(yes, 4\.0\)/, "Got expected verbose output");
+}
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+  auto_pcre-01.t - test auto::pcre
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_pcre-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test configuration step class auto::pcre.
+
+=head1 AUTHOR
+
+Alberto SimÃes.
+
+=head1 SEE ALSO
+
+config::auto::pcre, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/perldoc-01.t (from r39902, branches/darwinhints/t/steps/auto_perldoc-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/perldoc-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_perldoc-01.t)
@@ -0,0 +1,140 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# auto_perldoc-01.t
+
+use strict;
+use warnings;
+use Test::More tests => 32;
+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::Test qw(
+    test_step_thru_runstep
+    rerun_defaults_for_testing
+    test_step_constructor_and_description
+);
+use IO::CaptureOutput qw| capture |;
+
+########## regular ##########
+
+my ($args, $step_list_ref) = process_options( {
+    argv            => [],
+    mode            => q{configure},
+} );
+
+my $conf = Parrot::Configure->new();
+
+test_step_thru_runstep($conf, q{init::defaults}, $args);
+
+my $pkg = q{auto::perldoc};
+
+$conf->add_steps($pkg);
+
+my $serialized = $conf->pcfreeze();
+
+$conf->options->set(%{$args});
+my $step = test_step_constructor_and_description($conf);
+ok($step->runstep($conf), "runstep() completed successfully");
+ok(defined($step->result), "Result was defined");
+my $has = $conf->data->get('has_perldoc');
+ok( ( ($has == 1) or ($has == 0) ),
+    "Got an acceptable value for 'has_perldoc'");
+my $new = $conf->data->get('new_perldoc');
+ok( ( ($new == 1) or ($new == 0) ),
+    "Got an acceptable value for 'new_perldoc'");
+
+$conf->replenish($serialized);
+
+########## _initial_content_check() ##########
+
+my $content = undef;
+my $rv = $step->_initial_content_check($conf, $content);
+ok(! defined $rv, "Got expected return value when content was undefined");
+is($step->result(),
+    q{no}, "Got expected result when content was undefined");
+
+########## _handle_version() ##########
+
+my $version;
+$version = 0;
+ok(auto::perldoc::_handle_version($conf, $version, 'not_a_path'),
+    "_handle_version() returned true value");
+is($conf->data->get('has_perldoc'), 0,
+    "Got expected value for 'has_perldoc'");
+is($conf->data->get('new_perldoc'), 0,
+    "Got expected value for 'new_perldoc'");
+is($conf->data->get('perldoc'), 'echo',
+    "... and expected 'perldoc' path");
+
+$version = 1;
+ok(auto::perldoc::_handle_version($conf, $version, 'path_to_pd'),
+    "_handle_version() returned true value");
+is($conf->data->get('has_perldoc'), 1,
+    "Got expected value for 'has_perldoc'");
+is($conf->data->get('new_perldoc'), 0,
+    "Got expected value for 'new_perldoc'");
+is($conf->data->get('perldoc'), 'path_to_pd',
+    "... and expected 'perldoc' path");
+
+$version = 2;
+ok(auto::perldoc::_handle_version($conf, $version, 'another_path_to_pd'),
+    "_handle_version() returned true value");
+is($conf->data->get('has_perldoc'), 1,
+    "Got expected value for 'has_perldoc'");
+is($conf->data->get('new_perldoc'), 1,
+    "Got expected value for 'new_perldoc'");
+is($conf->data->get('perldoc'), 'another_path_to_pd',
+    "... and expected 'perldoc' path");
+
+########## _handle_old_perldoc() ##########
+
+$version = $step->_handle_old_perldoc();
+is($version, 1, "Got expected version setting for old perldoc");
+is($step->result(), q{yes, old version},
+    "Got expected result when old perldoc");
+
+########## _handle_no_perldoc() ##########
+
+$version = $step->_handle_no_perldoc();
+is($version, 0, "Got expected version setting for no perldoc");
+is($step->result(), q{failed}, "Got expected result when no perldoc");
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_perldoc-01.t - test auto::perldoc
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_perldoc-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test auto::perldoc.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::auto::perldoc, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/pmc-01.t (from r39902, branches/darwinhints/t/steps/auto_pmc-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/pmc-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_pmc-01.t)
@@ -0,0 +1,177 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# auto_pmc-01.t
+
+use strict;
+use warnings;
+use Test::More tests =>  28;
+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::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+
+########## regular ##########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [ ],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new;
+
+test_step_thru_runstep( $conf, q{init::defaults}, $args );
+
+my $pkg = q{auto::pmc};
+
+$conf->add_steps($pkg);
+
+my $serialized = $conf->pcfreeze();
+
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+
+my $ret = $step->runstep($conf);
+ok( $ret, "runstep() returned true value" );
+
+$conf->replenish($serialized);
+
+########## contains_pccmethod()  ##########
+
+($args, $step_list_ref) = process_options(
+    {
+        argv => [ ],
+        mode => q{configure},
+    }
+);
+
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+my $cwd = cwd();
+{
+    my $tdir = tempdir( CLEANUP => 1 );
+    ok( chdir $tdir, 'changed to temp directory for testing' );
+
+    my $pmc_with_PCCMETHOD = q{yes.pmc};
+    open my $IN1, ">", $pmc_with_PCCMETHOD
+        or croak "Unable to open file for writing: $!";
+    print $IN1 "PCCMETHOD\n";
+    close $IN1 or croak "Unable to close file after writing: $!";
+    ok(auto::pmc::contains_pccmethod($pmc_with_PCCMETHOD),
+        "Internal subroutine contains_pccmethod returns true as expected");
+
+    my $pmc_sans_PCCMETHOD = q{no.pmc};
+    open my $IN2, ">", $pmc_sans_PCCMETHOD
+        or croak "Unable to open file for writing: $!";
+    print $IN2 "Hello world\n";
+    close $IN2 or croak "Unable to close file after writing: $!";
+    ok( !  defined (
+            auto::pmc::contains_pccmethod($pmc_sans_PCCMETHOD)
+        ), "Internal subroutine contains_pccmethod returns true as expected"
+    );
+
+    my $file = 'foobar';
+    eval { auto::pmc::contains_pccmethod($file); };
+    like($@, qr/Can't read '$file'/, "Got expected 'die' message"); #'
+
+    ok( chdir $cwd, 'changed back to original directory after testing' );
+}
+
+########## get_pmc_order()  ##########
+
+{
+    my $tdir = tempdir( CLEANUP => 1 );
+    ok( chdir $tdir, 'changed to temp directory for testing' );
+
+    my $pmcdir = qq{$tdir/src/pmc};
+    ok(mkpath($pmcdir, { mode => 0755 }), "Able to make directory for testing");
+    my $num = qq{$pmcdir/pmc.num};
+    open my $IN3, ">", $num or croak "Unable to open file for writing: $!";
+    print $IN3 "# comment line\n";
+    print $IN3 "\n";
+    print $IN3 "default.pmc\t0\n";
+    print $IN3 "null.pmc    1\n";
+    print $IN3 "env.pmc 2\n";
+    print $IN3 "notapmc 3\n";
+    close $IN3 or croak "Unable to close file after writing: $!";
+    my $order_ref = auto::pmc::get_pmc_order();
+    is_deeply(
+        $order_ref,
+        {
+            'default.pmc' => 0,
+            'null.pmc' => 1,
+            'env.pmc' => 2,
+        },
+        "Able to read src/pmc/pmc.num correctly"
+    );
+
+    my @pmcs = qw| env.pmc default.pmc null.pmc other.pmc |;
+    my @sorted_pmcs = auto::pmc::sort_pmcs(@pmcs);
+    is_deeply(
+        \@sorted_pmcs,
+        [ qw| default.pmc null.pmc env.pmc other.pmc | ],
+        "PMCs sorted correctly"
+    );
+
+    ok( chdir $cwd, 'changed back to original directory after testing' );
+}
+
+{
+    my $tdir = tempdir( CLEANUP => 1 );
+    ok( chdir $tdir, 'changed to temp directory for testing' );
+
+    my $pmcdir = qq{$tdir/src/pmc};
+    ok(mkpath($pmcdir, { mode => 0755 }), "Able to make directory for testing");
+    eval { my $order_ref = auto::pmc::get_pmc_order(); };
+    like($@,
+        qr/Can't read src\/pmc\/pmc\.num/, "Got expected 'die' message");
+#'
+
+    ok( chdir $cwd, 'changed back to original directory after testing' );
+}
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_pmc-01.t - test auto::pmc
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_pmc-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test auto::pmc.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::auto::pmc, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/pod2man-01.t (from r39902, branches/darwinhints/t/steps/auto_pod2man-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/pod2man-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_pod2man-01.t)
@@ -0,0 +1,87 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# auto_pod2man-01.t
+
+use strict;
+use warnings;
+use Test::More tests => 15;
+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::Test qw(
+    test_step_thru_runstep
+    rerun_defaults_for_testing
+    test_step_constructor_and_description
+);
+use IO::CaptureOutput qw| capture |;
+
+########## regular ##########
+
+my ($args, $step_list_ref) = process_options( {
+    argv            => [],
+    mode            => q{configure},
+} );
+
+my $conf = Parrot::Configure->new();
+
+test_step_thru_runstep($conf, q{init::defaults}, $args);
+
+my $pkg = q{auto::pod2man};
+
+$conf->add_steps($pkg);
+
+my $serialized = $conf->pcfreeze();
+
+$conf->options->set(%{$args});
+my $step = test_step_constructor_and_description($conf);
+ok($step->runstep($conf), "runstep() completed successfully");
+ok(defined($step->result), "Result was defined");
+my $has = $conf->data->get('has_pod2man');
+ok( ( ($has == 1) or ($has == 0) ),
+    "Got an acceptable value for 'has_pod2man'");
+
+$conf->replenish($serialized);
+
+########## _initial_content_check() ##########
+
+my $content = undef;
+my $rv = $step->_initial_content_check($conf, $content);
+ok(! defined $rv, "Got expected return value when content was undefined");
+is($step->result(),
+    q{no}, "Got expected result when content was undefined");
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_pod2man-01.t - test auto::pod2man
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_pod2man-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test auto::pod2man.
+
+=head1 SEE ALSO
+
+config::auto::pod2man, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/readline-01.t (from r39902, branches/darwinhints/t/steps/auto_readline-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/readline-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_readline-01.t)
@@ -0,0 +1,343 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# auto_readline-01.t
+
+use strict;
+use warnings;
+use Test::More tests => 69;
+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::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+use IO::CaptureOutput qw | capture |;
+
+########## _select_lib() ##########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [ ],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new;
+
+test_step_thru_runstep( $conf, q{init::defaults}, $args );
+
+my $pkg = q{auto::readline};
+
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+
+# Mock values for OS and C-compiler
+my ($osname, $cc);
+$osname = 'mswin32';
+$cc = 'gcc';
+is($step->_select_lib( {
+    conf            => $conf,
+    osname          => $osname,
+    cc              => $cc,
+    win32_nongcc    => 'readline.lib',
+    default         => '-lreadline',
+} ),
+   '-lreadline',
+   "_select_lib() returned expected value");
+
+$osname = 'mswin32';
+$cc = 'cc';
+is($step->_select_lib( {
+    conf            => $conf,
+    osname          => $osname,
+    cc              => $cc,
+    win32_nongcc    => 'readline.lib',
+    default         => '-lreadline',
+} ),
+   'readline.lib',
+   "_select_lib() returned expected value");
+
+$osname = 'foobar';
+$cc = undef;
+is($step->_select_lib( {
+    conf            => $conf,
+    osname          => $osname,
+    cc              => $cc,
+    win32_nongcc    => 'readline.lib',
+    default         => '-lreadline',
+} ),
+   '-lreadline',
+   "_select_lib() returned true value");
+
+$osname = 'foobar';
+$cc = undef;
+eval {
+    $step->_select_lib( [
+        conf            => $conf,
+        osname          => $osname,
+        cc              => $cc,
+        win32_nongcc    => 'readline.lib',
+        default         => '-lreadline',
+    ] );
+};
+like($@, qr/_select_lib\(\) takes hashref/,
+    "Bad argument to _select_lib correctly detected");
+
+########## _handle_darwin_for_fink() ##########
+
+my ($flagsbefore, $flagsafter);
+
+$osname = 'foobar';
+$flagsbefore = $conf->data->get( 'linkflags' );
+ok($step->_handle_darwin_for_fink($conf, $osname, 'readline/readline.h'),
+    "handle_darwin_for_fink() returned true value");
+$flagsafter = $conf->data->get( 'linkflags' );
+is($flagsbefore, $flagsafter, "No change in linkflags, as expected");
+
+my $cwd = cwd();
+{
+    my $tdir1 = tempdir( CLEANUP => 1 );
+    ok(chdir $tdir1, "Able to change to temporary directory");
+    ok( (mkdir 'lib'), "Able to make lib directory");
+    ok( (mkdir 'include'), "Able to make include directory");
+    my $libdir = File::Spec->catdir( $tdir1, 'lib' );
+    my $includedir = File::Spec->catdir( $tdir1, 'include' );
+    $conf->data->set('fink_lib_dir' => $libdir);
+    $conf->data->set('fink_include_dir' => $includedir);
+    $osname = 'darwin';
+    $flagsbefore = $conf->data->get( 'linkflags' );
+    ok($step->_handle_darwin_for_fink($conf, $osname, 'readline/readline.h'),
+        "handle_darwin_for_fink() returned true value");
+    $flagsafter = $conf->data->get( 'linkflags' );
+    is($flagsbefore, $flagsafter,
+        "No change in linkflags, as expected, where Fink lib and include directories exist but readline/readline.h does not");
+
+    ok(chdir $cwd, "Able to change back to original directory after testing");
+}
+
+{
+    my $tdir2 = tempdir( CLEANUP => 1 );
+    ok(chdir $tdir2, "Able to change to temporary directory");
+    ok( (mkdir 'lib'), "Able to make lib directory");
+    ok( (mkdir 'include'), "Able to make include directory");
+    ok( (mkdir 'include/readline'), "Able to make include/readline directory");
+    my $libdir = File::Spec->catdir( $tdir2, 'lib' );
+    my $includedir = File::Spec->catdir( $tdir2, 'include' );
+    $conf->data->set('fink_lib_dir' => $libdir);
+    $conf->data->set('fink_include_dir' => $includedir);
+    my $foo = File::Spec->catfile( $includedir, 'readline', 'readline.h' );
+    open my $FH, ">", $foo or croak "Could not open for writing";
+    print $FH "Hello world\n";
+    close $FH or croak "Could not close after writing";
+
+    $osname = 'darwin';
+    $flagsbefore = $conf->data->get( 'linkflags' );
+    ok($step->_handle_darwin_for_fink($conf, $osname, 'readline/readline.h'),
+        "handle_darwin_for_fink() returned true value");
+    $flagsafter = $conf->data->get( 'linkflags' );
+    isnt($flagsbefore, $flagsafter, "Change in linkflags, as expected");
+    like($conf->data->get( 'linkflags' ), qr/-L\Q$libdir\E/,
+        "'linkflags' modified as expected, in case where Fink lib and include dirs exist and readline/readline.h exists");
+    $conf->data->set( linkflags => $flagsbefore ); #reset for next test
+
+    ok(chdir $cwd, "Able to change back to original directory after testing");
+}
+
+{
+    my $tdir3 = tempdir( CLEANUP => 1 );
+    ok(chdir $tdir3, "Able to change to temporary directory");
+    ok( (mkdir 'lib'), "Able to make lib directory");
+    ok( (mkdir 'include'), "Able to make include directory");
+    ok( (mkdir 'include/readline'), "Able to make include/readline directory");
+    my $libdir = File::Spec->catdir( $tdir3, 'lib' );
+    my $includedir = File::Spec->catdir( $tdir3, 'include' );
+    $conf->data->set('fink_lib_dir' => $libdir);
+    $conf->data->set('fink_include_dir' => undef);
+
+    $osname = 'darwin';
+    $flagsbefore = $conf->data->get( 'linkflags' );
+    ok($step->_handle_darwin_for_fink($conf, $osname, 'readline/readline.h'),
+        "handle_darwin_for_fink() returned true value");
+    $flagsafter = $conf->data->get( 'linkflags' );
+    is($flagsbefore, $flagsafter,
+        "No change in linkflags, as expected, where Fink include directory does not exist");
+
+    ok(chdir $cwd, "Able to change back to original directory after testing");
+}
+
+{
+    my $tdir4 = tempdir( CLEANUP => 1 );
+    ok(chdir $tdir4, "Able to change to temporary directory");
+    ok( (mkdir 'lib'), "Able to make lib directory");
+    ok( (mkdir 'include'), "Able to make include directory");
+    ok( (mkdir 'include/readline'), "Able to make include/readline directory");
+    my $libdir = File::Spec->catdir( $tdir4, 'lib' );
+    my $includedir = File::Spec->catdir( $tdir4, 'include' );
+    $conf->data->set('fink_lib_dir' => undef );
+    $conf->data->set('fink_include_dir' => $includedir );
+
+    $osname = 'darwin';
+    $flagsbefore = $conf->data->get( 'linkflags' );
+    ok($step->_handle_darwin_for_fink($conf, $osname, 'readline/readline.h'),
+        "handle_darwin_for_fink() returned true value");
+    $flagsafter = $conf->data->get( 'linkflags' );
+    is($flagsbefore, $flagsafter,
+        "No change in linkflags, as expected, where Fink lib directory does not exist");
+
+    ok(chdir $cwd, "Able to change back to original directory after testing");
+}
+
+########## _handle_darwin_for_macports() ##########
+
+$osname = 'foobar';
+$flagsbefore = $conf->data->get( 'linkflags' );
+ok($step->_handle_darwin_for_macports($conf, $osname, 'readline/readline.h'),
+    "handle_darwin_for_macports() returned true value");
+$flagsafter = $conf->data->get( 'linkflags' );
+is($flagsbefore, $flagsafter, "No change in linkflags, as expected");
+# Get ready for the next test
+$conf->data->set( linkflags => $flagsbefore );
+
+$cwd = cwd();
+{
+    my $xtdir1 = File::Spec->canonpath( tempdir( CLEANUP => 1 ) );
+    ok(chdir $xtdir1, "Able to change to temporary directory");
+    ok( (mkdir 'lib'), "Able to make lib directory");
+    ok( (mkdir 'include'), "Able to make include directory");
+    my $libdir = File::Spec->catdir( $xtdir1, 'lib' );
+    my $includedir = File::Spec->catdir( $xtdir1, 'include' );
+    $conf->data->set( ports_base_dir => $xtdir1 );
+    $conf->data->set( ports_lib_dir => $libdir );
+    $conf->data->set( ports_include_dir => $includedir );
+    ok( (mkdir 'include/readline'), "Able to make include/readline directory");
+    $osname = 'darwin';
+    $flagsbefore = $conf->data->get( 'linkflags' );
+    ok($step->_handle_darwin_for_macports($conf, $osname, 'readline/readline.h'),
+        "handle_darwin_for_macports() returned true value");
+    $flagsafter = $conf->data->get( 'linkflags' );
+    is($flagsbefore, $flagsafter,
+        "No change in linkflags, as expected, where macports lib and include directories exist but readline/readline.h does not");
+
+    chdir $cwd or croak "Unable to change back to original directory";
+}
+
+$cwd = cwd();
+{
+    my $xtdir2 = File::Spec->canonpath( tempdir( CLEANUP => 1 ) );
+    ok(chdir $xtdir2, "Able to change to temporary directory");
+    ok( (mkdir 'lib'), "Able to make lib directory");
+    ok( (mkdir 'include'), "Able to make include directory");
+    my $libdir = File::Spec->catdir( $xtdir2, 'lib' );
+    my $includedir = File::Spec->catdir( $xtdir2, 'include' );
+    $conf->data->set( ports_base_dir => $xtdir2 );
+    $conf->data->set( ports_lib_dir => $libdir );
+    $conf->data->set( ports_include_dir => $includedir );
+    ok( (mkdir 'include/readline'), "Able to make include/readline directory");
+    my $foo = File::Spec->catfile( $includedir, 'readline', 'readline.h' );
+    open my $FH, ">", $foo or croak "Could not open for writing";
+    print $FH "Hello world\n";
+    close $FH or croak "Could not close after writing";
+
+    $osname = 'darwin';
+    $flagsbefore = $conf->data->get( 'linkflags' );
+    ok($step->_handle_darwin_for_macports($conf, $osname, 'readline/readline.h'),
+        "handle_darwin_for_macports() returned true value");
+    $flagsafter = $conf->data->get( 'linkflags' );
+    isnt($flagsbefore, $flagsafter, "Change in linkflags, as expected");
+    like($conf->data->get( 'linkflags' ), qr/-L\Q$libdir\E/,
+        "'linkflags' modified as expected, in case where macports lib and include dirs exist and readline/readline.h exists");
+    $conf->data->set( linkflags => $flagsbefore );
+
+    chdir $cwd or croak "Unable to change back to original directory";
+}
+
+
+$cwd = cwd();
+{
+    my $xtdir3 = File::Spec->canonpath( tempdir( CLEANUP => 1 ) );
+    ok(chdir $xtdir3, "Able to change to temporary directory");
+    ok( (mkdir 'lib'), "Able to make lib directory");
+    ok( (mkdir 'include'), "Able to make include directory");
+    my $libdir = File::Spec->catdir( $xtdir3, 'lib' );
+    my $includedir = File::Spec->catdir( $xtdir3, 'include' );
+    $conf->data->set( ports_base_dir => $xtdir3 );
+    $conf->data->set( ports_lib_dir => $libdir );
+    $conf->data->set( ports_include_dir => undef );
+
+    $osname = 'darwin';
+    $flagsbefore = $conf->data->get( 'linkflags' );
+    ok($step->_handle_darwin_for_macports($conf, $osname, 'readline/readline.h'),
+        "handle_darwin_for_macports() returned true value");
+    $flagsafter = $conf->data->get( 'linkflags' );
+    is($flagsbefore, $flagsafter,
+        "No change in linkflags, as expected, where Macports include directory does not exist");
+
+    chdir $cwd or croak "Unable to change back to original directory";
+}
+
+$cwd = cwd();
+{
+    my $xtdir4 = File::Spec->canonpath( tempdir( CLEANUP => 1 ) );
+    ok(chdir $xtdir4, "Able to change to temporary directory");
+    ok( (mkdir 'lib'), "Able to make lib directory");
+    ok( (mkdir 'include'), "Able to make include directory");
+    my $libdir = File::Spec->catdir( $xtdir4, 'lib' );
+    my $includedir = File::Spec->catdir( $xtdir4, 'include' );
+    $conf->data->set( ports_base_dir => $xtdir4 );
+    $conf->data->set( ports_lib_dir => undef );
+    $conf->data->set( ports_include_dir => $includedir );
+
+    $osname = 'darwin';
+    $flagsbefore = $conf->data->get( 'linkflags' );
+    ok($step->_handle_darwin_for_macports($conf, $osname, 'readline/readline.h'),
+        "handle_darwin_for_macports() returned true value");
+    $flagsafter = $conf->data->get( 'linkflags' );
+    is($flagsbefore, $flagsafter,
+        "No change in linkflags, as expected, where Macports lib directory does not exist");
+
+    chdir $cwd or croak "Unable to change back to original directory";
+}
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_readline-01.t - test auto::readline
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_readline-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test auto::readline.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::auto::readline, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/readline-02.t (from r39902, branches/darwinhints/t/steps/auto_readline-02.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/readline-02.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_readline-02.t)
@@ -0,0 +1,114 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# auto_readline-02.t
+
+use strict;
+use warnings;
+use Test::More tests =>  14;
+use Carp;
+use Cwd;
+use lib qw( lib );
+use_ok('config::auto::readline');
+use Parrot::Configure;
+use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+use IO::CaptureOutput qw| capture |;
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [ ],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new;
+
+my $pkg = q{auto::readline};
+
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+
+########## _evaluate_cc_run() ##########
+
+my ($has_readline, $verbose);
+
+$verbose = undef;
+$has_readline = $step->_evaluate_cc_run($verbose);
+is($has_readline, 1, "Got expected value for has_readline");
+is($step->result(), 'yes', "Expected result was set");
+# Prepare for next test
+$step->set_result(undef);
+
+{
+    my $stdout;
+    $verbose = 1;
+    capture(
+        sub { $has_readline = $step->_evaluate_cc_run($verbose); },
+        \$stdout,
+    );
+    is($has_readline, 1, "Got expected value for has_readline");
+    is($step->result(), 'yes', "Expected result was set");
+    like($stdout, qr/\(yes\)/, "Got expected verbose output");
+    # Prepare for next test
+    $step->set_result(undef);
+}
+
+########## _handle_readline() ##########
+
+$has_readline = 0;
+ok(auto::readline::_handle_readline($conf, 'lib', $has_readline),
+    "_handle_readline() returned true value");
+is($conf->data->get('readline'), 'define',
+    "Got expected value for 'readline'");
+# Prepare for next test
+$conf->data->set( readline => undef );
+$conf->data->set( HAS_READLINE => undef );
+
+$has_readline = 1;
+ok(auto::readline::_handle_readline($conf, 'lib', $has_readline),
+    "_handle_readline() returned true value");
+is($conf->data->get('readline'), 'define',
+    "Got expected value for 'readline'");
+# Prepare for next test
+$conf->data->set( readline => undef );
+$conf->data->set( HAS_READLINE => undef );
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_readline-02.t - test auto::readline
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_readline-02.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test auto::readline.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::auto::readline, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/revision-01.t (from r39902, branches/darwinhints/t/steps/auto_revision-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/revision-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_revision-01.t)
@@ -0,0 +1,108 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# auto_revision-01.t
+
+use strict;
+use warnings;
+use Test::More tests => 15;
+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::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+
+########## regular ##########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [ ],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new;
+
+my $pkg = q{auto::revision};
+
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+
+my ($testrev, $ret);
+{
+    $testrev = 99999;
+    local $Parrot::Revision::current = $testrev;
+    $ret = $step->runstep($conf);
+    ok( $ret, "runstep() returned true value" );
+    is($conf->data->get('revision'), $testrev,
+        "'revision' element was set correctly");
+    is($step->result(), qq{r$testrev}, "Expected result was set");
+}
+
+{
+    $testrev = 0;
+    local $Parrot::Revision::current = $testrev;
+    $ret = $step->runstep($conf);
+    ok( $ret, "runstep() returned true value" );
+    is($conf->data->get('revision'), $testrev,
+        "'revision' element was set correctly");
+    is($step->result(), q{done}, "Expected result was set");
+}
+
+{
+    $testrev = q{foobar};
+    local $Parrot::Revision::current = $testrev;
+    eval { $ret = $step->runstep($conf); };
+    like($@, qr/Cannot use non-numeric revision number/,
+        "Got expected error message");
+}
+
+{
+    $testrev = undef;
+    local $Parrot::Revision::current = $testrev;
+    $ret = $step->runstep($conf);
+    ok( $ret, "runstep() returned true value" );
+    ok(! defined($conf->data->get('revision')),
+        "'revision' element is undefined as expected");
+    is($step->result(), q{done}, "Expected result was set");
+}
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_revision-01.t - test auto::revision
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_revision-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test auto::revision.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::auto::revision, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/signal-01.t (from r39902, branches/darwinhints/t/steps/auto_signal-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/signal-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_signal-01.t)
@@ -0,0 +1,169 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# auto_signal-01.t
+
+use strict;
+use warnings;
+use Test::More tests =>  35;
+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::Test qw(
+    test_step_thru_runstep
+    rerun_defaults_for_testing
+    test_step_constructor_and_description
+);
+use IO::CaptureOutput qw| capture |;
+
+########### _handle__sighandler_t() ###########
+
+my ($args, $step_list_ref) = process_options( {
+    argv => [ ],
+    mode => q{configure},
+} );
+
+my $conf = Parrot::Configure->new;
+
+my $serialized = $conf->pcfreeze();
+
+test_step_thru_runstep( $conf, q{init::defaults}, $args );
+
+my $pkg = q{auto::signal};
+
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+
+ok(auto::signal::_handle__sighandler_t($conf),
+    "_handle__sighandler_t() returned true value");
+is($conf->data->get( 'has___sighandler_t'), 'define',
+    "Got expected value for has__sighandler_t");
+
+########### _handle_sigaction() ###########
+
+ok(auto::signal::_handle_sigaction($conf),
+    "_handle_sigaction() returned true value");
+is($conf->data->get( 'has_sigaction'), 'define',
+    "Got expected value for has_sigaction");
+
+########### _handle_setitimer() ###########
+
+ok(auto::signal::_handle_setitimer($conf),
+    "_handle_setitimer() returned true value");
+is($conf->data->get( 'has_setitimer'), 'define',
+    "Got expected value for has_setitimer");
+is($conf->data->get( 'has_sig_atomic_t'), 'define',
+    "Got expected value for has_sig_atomic_t");
+
+########### _print_signalpasm() ###########
+
+my $cwd = cwd();
+{
+    my $tdir = tempdir( CLEANUP => 1);
+    chdir $tdir or croak "Unable to change to $tdir";
+    my $signalpasm = q{signal.pasm};
+    ok(auto::signal::_print_signalpasm($conf, $signalpasm),
+        "_print_signalpasm returned true value");
+    ok(-s $signalpasm, "File with nonzero size created");
+    unlink $signalpasm or croak "Unable to delete file after testing";
+    chdir $cwd or croak "Unable to change back to $cwd";
+}
+
+$conf->replenish($serialized);
+
+########### --verbose; _handle__sighandler_t() ###########
+
+($args, $step_list_ref) = process_options( {
+    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);
+
+my $verbose = 1;
+{
+    my ($rv, $stdout);
+    capture(
+        sub { $rv = auto::signal::_handle__sighandler_t($conf, $verbose); },
+        \$stdout,
+    );
+    ok($rv, "_handle__sighandler_t() returned true value");
+    is($conf->data->get( 'has___sighandler_t'), 'define',
+        "Got expected value for has__sighandler_t");
+    like($stdout, qr/__sighandler_t/, "Got expected verbose output");
+}
+
+########### --verbose; _handle_sigaction() ###########
+
+{
+    my ($rv, $stdout);
+    capture(
+        sub { $rv = auto::signal::_handle_sigaction($conf, $verbose); },
+        \$stdout,
+    );
+    ok($rv, "_handle_sigaction() returned true value");
+    is($conf->data->get( 'has_sigaction'), 'define',
+        "Got expected value for has_sigaction");
+    like($stdout, qr/sigaction/, "Got expected verbose output");
+}
+
+########### --verbose; _handle_setitimer() ###########
+
+{
+    my ($rv, $stdout);
+    capture(
+        sub { $rv = auto::signal::_handle_setitimer($conf, $verbose); },
+        \$stdout,
+    );
+    ok($rv, "_handle_setitimer() returned true value");
+    is($conf->data->get( 'has_setitimer'), 'define',
+        "Got expected value for has_setitimer");
+    is($conf->data->get( 'has_sig_atomic_t'), 'define',
+        "Got expected value for has_sig_atomic_t");
+    like($stdout, qr/setitimer/s, "Got expected verbose output");
+}
+
+$conf->cc_clean();
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_signal-01.t - test auto::signal
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_signal-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test auto::signal.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::auto::signal, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/sizes-01.t (from r39902, branches/darwinhints/t/steps/auto_sizes-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/sizes-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_sizes-01.t)
@@ -0,0 +1,399 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# auto_sizes-01.t
+
+use strict;
+use warnings;
+use Test::More tests => 58;
+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::Test qw(
+    test_step_thru_runstep
+    rerun_defaults_for_testing
+    test_step_constructor_and_description
+);
+use IO::CaptureOutput qw | capture |;
+
+
+########## _handle_intval_ptrsize_discrepancy() ##########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [ ],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new;
+
+my $serialized = $conf->pcfreeze();
+
+test_step_thru_runstep( $conf, q{init::defaults}, $args );
+
+my $pkg = q{auto::sizes};
+
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+{
+    my $stdout;
+    my %results = (
+        ptrsize         => 1,
+        intvalsize      => 1,
+    );
+    capture(
+        sub { auto::sizes::_handle_intval_ptrsize_discrepancy(\%results); },
+        \$stdout,
+    );
+    ok(! $stdout, "As expected, no warning needed");
+}
+
+{
+    my $stdout;
+    my %results = (
+        ptrsize         => 1,
+        intvalsize      => 2,
+    );
+    capture(
+        sub { auto::sizes::_handle_intval_ptrsize_discrepancy(\%results); },
+        \$stdout,
+    );
+    like($stdout, qr/I see your chosen INTVAL/s,
+        "Got expected warning about discrepancy"
+    );
+}
+
+########## _set_int2() ##########
+
+{
+    my $stdout;
+    my %results = ( shortsize   => 2 );
+    capture(
+        sub { auto::sizes::_set_int2($conf, \%results); },
+        \$stdout,
+    );
+    is($conf->data->get( 'int2_t' ), q{short},
+        "Got expected value for int2_t");
+    ok(! $stdout, "As expected, no warning needed");
+}
+
+{
+    my $stdout;
+    my %results = ( shortsize   => 4 );
+    capture(
+        sub { auto::sizes::_set_int2($conf, \%results); },
+        \$stdout,
+    );
+    is($conf->data->get( 'int2_t' ), q{int},
+        "Got expected value for int2_t");
+    like($stdout, qr/conversion ops might fail/s,
+        "Got expected warning");
+}
+
+########## _set_int4() ##########
+
+{
+    my $stdout;
+    my %results = ( shortsize   => 4 );
+    capture(
+        sub { auto::sizes::_set_int4($conf, \%results); },
+        \$stdout,
+    );
+    is($conf->data->get( 'int4_t' ), q{short},
+        "Got expected value for int4_t");
+    ok(! $stdout, "As expected, no warning needed");
+}
+
+{
+    my $stdout;
+    my %results = ( intsize   => 4 );
+    capture(
+        sub { auto::sizes::_set_int4($conf, \%results); },
+        \$stdout,
+    );
+    is($conf->data->get( 'int4_t' ), q{int},
+        "Got expected value for int4_t");
+    ok(! $stdout, "As expected, no warning needed");
+}
+
+{
+    my $stdout;
+    my %results = ( longsize   => 4 );
+    capture(
+        sub { auto::sizes::_set_int4($conf, \%results); },
+        \$stdout,
+    );
+    is($conf->data->get( 'int4_t' ), q{long},
+        "Got expected value for int4_t");
+    ok(! $stdout, "As expected, no warning needed");
+}
+
+{
+    my $stdout;
+    my %results = ( );
+    capture(
+        sub { auto::sizes::_set_int4($conf, \%results); },
+        \$stdout,
+    );
+    is($conf->data->get( 'int4_t' ), q{int},
+        "Got expected value for int4_t");
+    like($stdout, qr/conversion ops might fail/s,
+        "Got expected warning");
+}
+
+########## _set_float4() ##########
+
+{
+    my $stdout;
+    my %results = ( floatsize => 4 );
+    capture(
+        sub { auto::sizes::_set_float4($conf, \%results); },
+        \$stdout,
+    );
+    is($conf->data->get( 'float4_t' ), q{float},
+        "Got expected value for float4_t");
+    ok(! $stdout, "As expected, no warning needed");
+}
+
+{
+    my $stdout;
+    my %results = ( floatsize => 8 );
+    capture(
+        sub { auto::sizes::_set_float4($conf, \%results); },
+        \$stdout,
+    );
+    is($conf->data->get( 'float4_t' ), q{double},
+        "Got expected value for float4_t");
+    like($stdout, qr/conversion ops might fail/s,
+        "Got expected warning");
+}
+
+########## _set_float8() ##########
+
+{
+    my $stdout;
+    my %results = ( doublesize => 8 );
+    capture(
+        sub { auto::sizes::_set_float8($conf, \%results); },
+        \$stdout,
+    );
+    is($conf->data->get( 'float8_t' ), q{double},
+        "Got expected value for float8_t");
+    ok(! $stdout, "As expected, no warning needed");
+}
+
+{
+    my $stdout;
+    my %results = ( );
+    capture(
+        sub { auto::sizes::_set_float8($conf, \%results); },
+        \$stdout,
+    );
+    is($conf->data->get( 'float8_t' ), q{double},
+        "Got expected value for float8_t");
+    like($stdout, qr/conversion ops might fail/s,
+        "Got expected warning");
+}
+
+########## _handle_hugeintvalsize() ##########
+
+my (%hugeintval, $intval, $intvalsize);
+
+$conf->data->set( intval => undef );
+$conf->data->set( intvalsize => undef );
+$hugeintval{hugeintvalsize} = undef;
+$intval = q{integer};
+$intvalsize = 4;
+auto::sizes::_handle_hugeintvalsize(
+    $conf,
+    {
+        hugeintval      => \%hugeintval,
+        intval          => $intval,
+        intvalsize      => $intvalsize,
+    },
+);
+is( $conf->data->get( 'hugeintval' ), $intval,
+    "Got expected value for hugeintval");
+is( $conf->data->get( 'hugeintvalsize' ), $intvalsize,
+    "Got expected value for hugeintvalsize");
+$conf->data->set( hugeintval => undef );
+$conf->data->set( hugeintvalsize => undef );
+
+$conf->data->set( intval => undef );
+$conf->data->set( intvalsize => undef );
+$hugeintval{hugeintvalsize} = 4;
+$intval = q{integer};
+$intvalsize = 4;
+auto::sizes::_handle_hugeintvalsize(
+    $conf,
+    {
+        hugeintval      => \%hugeintval,
+        intval          => $intval,
+        intvalsize      => $intvalsize,
+    },
+);
+is( $conf->data->get( 'hugeintval' ), $intval,
+    "Got expected value for hugeintval");
+is( $conf->data->get( 'hugeintvalsize' ), $intvalsize,
+    "Got expected value for hugeintvalsize");
+$conf->data->set( hugeintval => undef );
+$conf->data->set( hugeintvalsize => undef );
+
+$conf->data->set( intval => undef );
+$conf->data->set( intvalsize => undef );
+$hugeintval{hugeintvalsize} = 8;
+$intval = q{integer};
+$intvalsize = 4;
+auto::sizes::_handle_hugeintvalsize(
+    $conf,
+    {
+        hugeintval      => \%hugeintval,
+        intval          => $intval,
+        intvalsize      => $intvalsize,
+    },
+);
+ok( ! defined $conf->data->get( 'hugeintval' ),
+    "Got expected value for hugeintval");
+ok( ! defined $conf->data->get( 'hugeintvalsize' ),
+    "Got expected value for hugeintvalsize");
+$conf->data->set( hugeintval => undef );
+$conf->data->set( hugeintvalsize => undef );
+
+$conf->data->set( intval => undef );
+$conf->data->set( intvalsize => undef );
+
+########## _set_hugefloatval() ##########
+
+my $size = 12;
+auto::sizes::_set_hugefloatval( $conf, $size );
+is( $conf->data->get( 'hugefloatval' ), 'long double',
+    "Got expected type for hugefloatval");
+is( $conf->data->get( 'hugefloatvalsize' ), $size,
+    "Got expected size for hugefloatvalsize");
+
+auto::sizes::_set_hugefloatval( $conf, 0 );
+is( $conf->data->get( 'hugefloatval' ), 'double',
+    "Got expected type for hugefloatval");
+is( $conf->data->get( 'hugefloatvalsize' ), $conf->data->get('doublesize'),
+    "Got expected size for hugefloatvalsize");
+
+########## _set_intvalmaxmin() ##########
+
+my @trueintvals = (
+    $conf->data->get( 'iv' ),
+    $conf->data->get( 'intvalmin' ),
+    $conf->data->get( 'intvalmax' ),
+);
+$conf->data->set( iv => 'int' );
+auto::sizes::_set_intvalmaxmin( $conf );
+is( $conf->data->get( 'intvalmin' ), 'INT_MIN',
+    "Got expected value for 'intvalmin' when 'iv' is 'int'" );
+is( $conf->data->get( 'intvalmax' ), 'INT_MAX',
+    "Got expected value for 'intvalmax' when 'iv' is 'int'" );
+
+$conf->data->set( iv => 'long' );
+auto::sizes::_set_intvalmaxmin( $conf );
+is( $conf->data->get( 'intvalmin' ), 'LONG_MIN',
+    "Got expected value for 'intvalmin' when 'iv' is 'long'" );
+is( $conf->data->get( 'intvalmax' ), 'LONG_MAX',
+    "Got expected value for 'intvalmax' when 'iv' is 'long'" );
+
+$conf->data->set( iv => 'long int' );
+auto::sizes::_set_intvalmaxmin( $conf );
+is( $conf->data->get( 'intvalmin' ), 'LONG_MIN',
+    "Got expected value for 'intvalmin' when 'iv' is 'long int'" );
+is( $conf->data->get( 'intvalmax' ), 'LONG_MAX',
+    "Got expected value for 'intvalmax' when 'iv' is 'long int'" );
+
+$conf->data->set( iv => 'long long' );
+auto::sizes::_set_intvalmaxmin( $conf );
+is( $conf->data->get( 'intvalmin' ), 'LLONG_MIN',
+    "Got expected value for 'intvalmin' when 'iv' is 'long long'" );
+is( $conf->data->get( 'intvalmax' ), 'LLONG_MAX',
+    "Got expected value for 'intvalmax' when 'iv' is 'long long'" );
+
+$conf->data->set( iv => 'long long int' );
+auto::sizes::_set_intvalmaxmin( $conf );
+is( $conf->data->get( 'intvalmin' ), 'LLONG_MIN',
+    "Got expected value for 'intvalmin' when 'iv' is 'long long int'" );
+is( $conf->data->get( 'intvalmax' ), 'LLONG_MAX',
+    "Got expected value for 'intvalmax' when 'iv' is 'long long int'" );
+
+my $badtype = 'foobar';
+$conf->data->set( iv => $badtype );
+eval { auto::sizes::_set_intvalmaxmin( $conf ); };
+like($@, qr/Configure.pl:  Cannot find limits for type '$badtype'/,
+    "Got expected 'die' message for unrecognized 'iv'");
+
+# Reset true values prior to subsequent tests.
+$conf->data->set( 'iv' => $trueintvals[0] );
+$conf->data->set( 'intvalmin' => $trueintvals[1] );
+$conf->data->set( 'intvalmax' => $trueintvals[2] );
+
+########## _set_floatvalmaxmin() ##########
+
+my @truefloatvals = (
+    $conf->data->get( 'nv' ),
+    $conf->data->get( 'floatvalmin' ),
+    $conf->data->get( 'floatvalmax' ),
+);
+
+$conf->data->set( nv => 'double' );
+auto::sizes::_set_floatvalmaxmin( $conf );
+is( $conf->data->get( 'floatvalmin' ), 'DBL_MIN',
+    "Got expected value for 'floatvalmin' when 'nv' is 'double'" );
+is( $conf->data->get( 'floatvalmax' ), 'DBL_MAX',
+    "Got expected value for 'floatvalmax' when 'nv' is 'double'" );
+
+$conf->data->set( nv => 'long double' );
+auto::sizes::_set_floatvalmaxmin( $conf );
+is( $conf->data->get( 'floatvalmin' ), 'LDBL_MIN',
+    "Got expected value for 'floatvalmin' when 'nv' is 'long double'" );
+is( $conf->data->get( 'floatvalmax' ), 'LDBL_MAX',
+    "Got expected value for 'floatvalmax' when 'nv' is 'long double'" );
+
+$badtype = 'foobar';
+$conf->data->set( nv => $badtype );
+eval { auto::sizes::_set_floatvalmaxmin( $conf ); };
+like($@, qr/Configure.pl:  Cannot find limits for type '$badtype'/,
+    "Got expected 'die' message for unrecognized 'nv'");
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_sizes-01.t - test auto::sizes
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_sizes-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test auto::sizes.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::auto::sizes, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/snprintf-01.t (from r39902, branches/darwinhints/t/steps/auto_snprintf-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/snprintf-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_snprintf-01.t)
@@ -0,0 +1,148 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# auto_snprintf-01.t
+
+use strict;
+use warnings;
+use Test::More tests => 33;
+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::Test qw(
+    test_step_thru_runstep
+    rerun_defaults_for_testing
+    test_step_constructor_and_description
+);
+use IO::CaptureOutput qw| capture |;
+
+########## regular ##########
+
+my ($args, $step_list_ref) = process_options( {
+    argv            => [],
+    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 $pkg = q{auto::snprintf};
+
+$conf->add_steps($pkg);
+
+my $serialized = $conf->pcfreeze();
+
+$conf->options->set(%{$args});
+my $step = test_step_constructor_and_description($conf);
+
+# The test of runstep() below will need to be TODO-ed until such time as
+# we can test with all the data which the Parrot::Configure object would
+# normally have during regular configuration at the onset of this step.
+# That's because runstep() consists almost solely of calls to C
+# programs.  We can't refactor runstep()'s guts out into internal
+# subroutines and test them explicitly as we've been able to do for
+# other configuration steps.  We won't lose any coverage by commenting
+# out the TODO block for the time being, as the coverage analysis will,
+# at the very least, pick up runstep() while running the step itself.
+#
+#TODO: {
+#    # http://rt.perl.org/rt3/Ticket/Display.html?id=47391
+#    local $TODO =
+#        q<Reported failing where vendor-supplied Perl 5 Config.pm does not match true state of system available for Parrot configuration>;
+#    ok($step->runstep($conf), "runstep() returned true value");
+#} #'
+
+
+$conf->replenish($serialized);
+
+########## _evaluate_snprintf() ##########
+
+($args, $step_list_ref) = process_options( {
+    argv            => [],
+    mode            => q{configure},
+} );
+$conf->options->set(%{$args});
+$step = test_step_constructor_and_description($conf);
+
+my $res;
+$res = q{old snprintf};
+ok($step->_evaluate_snprintf($conf, $res),
+    "_evaluate_snprintf returned true value");
+ok($conf->data->get('HAS_OLD_SNPRINTF'),
+    "Got expected value");
+
+$res = q{C99 snprintf};
+ok($step->_evaluate_snprintf($conf, $res),
+    "_evaluate_snprintf returned true value");
+ok($conf->data->get('HAS_C99_SNPRINTF'),
+    "Got expected value");
+ok($conf->data->get('HAS_SNPRINTF'),
+    "Got expected value");
+
+$conf->replenish($serialized);
+
+########## --verbose; _evaluate_snprintf() ##########
+
+($args, $step_list_ref) = process_options( {
+    argv            => [ q{--verbose} ],
+    mode            => q{configure},
+} );
+$conf->options->set(%{$args});
+$step = test_step_constructor_and_description($conf);
+
+{
+    my $stdout;
+    my $res = q{snprintf};
+    my $ret = capture(
+        sub { $step->_evaluate_snprintf($conf, $res) },
+        \$stdout
+    );
+    ok($ret, "_evaluate_snprintf returned true value");
+    ok($conf->data->get('HAS_SNPRINTF'),
+        "Got expected value");
+}
+
+$conf->cc_clean();
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_snprintf-01.t - test auto::snprintf
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_snprintf-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test auto::snprintf.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::auto::snprintf, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/socklen_t-01.t (from r39902, branches/darwinhints/t/steps/auto_socklen_t-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/socklen_t-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_socklen_t-01.t)
@@ -0,0 +1,106 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# auto_socklen_t-01.t
+
+use strict;
+use warnings;
+use Test::More tests => 16;
+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::Test qw(
+    test_step_thru_runstep
+    rerun_defaults_for_testing
+    test_step_constructor_and_description
+);
+use IO::CaptureOutput qw| capture |;
+
+########### regular ###########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [ ],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new;
+
+my $pkg = q{auto::socklen_t};
+
+$conf->add_steps($pkg);
+
+my $serialized = $conf->pcfreeze();
+
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+my $ret = $step->runstep($conf);
+ok( $ret, "runstep() returned true value" );
+ok(defined($step->result()), "A result has been defiined");
+
+$conf->replenish($serialized);
+
+##### _evaluate_socklen_t() #####
+
+($args, $step_list_ref) = process_options(
+    {
+        argv => [ ],
+        mode => q{configure},
+    }
+);
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+
+my $d_socklen_t;
+
+$d_socklen_t = q{alpha};
+ok($step->_evaluate_socklen_t($conf, $d_socklen_t),
+    "_evaluate_socklen_t() completed satisfactorily");
+is($step->result(), q{yes}, "Got expected result");
+is($conf->data->get('has_socklen_t'), 1,
+    "has_socklen_t set as expected");
+
+$d_socklen_t = undef;
+ok($step->_evaluate_socklen_t($conf, $d_socklen_t),
+    "_evaluate_socklen_t() completed satisfactorily");
+is($step->result(), q{no}, "Got expected result");
+is($conf->data->get('has_socklen_t'), 0,
+    "has_socklen_t set as expected");
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_socklen_t-01.t - test auto::socklen_t
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_socklen_t-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test auto::socklen_t.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::auto::socklen_t, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/va_ptr-01.t (from r39902, branches/darwinhints/t/steps/auto_va_ptr-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/va_ptr-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_va_ptr-01.t)
@@ -0,0 +1,66 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# auto_va_ptr-01.t
+
+use strict;
+use warnings;
+use Test::More tests =>  5;
+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::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [ ],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new;
+
+my $pkg = q{auto::va_ptr};
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_va_ptr-01.t - test auto::va_ptr
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_va_ptr-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test auto::va_ptr.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::auto::va_ptr, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/auto/warnings-01.t (from r39902, branches/darwinhints/t/steps/auto_warnings-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/auto/warnings-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/auto_warnings-01.t)
@@ -0,0 +1,183 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# auto_warnings-01.t
+
+use strict;
+use warnings;
+use Test::More tests =>  56;
+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::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+use IO::CaptureOutput qw | capture |;
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [ ],
+        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{inter::progs}, $args );
+
+my $pkg = q{auto::warnings};
+
+$conf->add_steps($pkg);
+
+my $serialized = $conf->pcfreeze();
+
+$conf->options->set( %{$args} );
+SKIP: {
+    skip 'Tests not yet passing on Sun/Solaris',
+    39
+    if $^O =~ m/sun|solaris/i;
+
+my $step = test_step_constructor_and_description($conf);
+
+my %potential_warnings_seen;
+$conf->options->set(cage => 1);
+$step->_add_cage_warnings($conf);
+%potential_warnings_seen = map { $_, 1 } @{ $step->{potential_warnings} };
+ok($potential_warnings_seen{'-std=c89'}, "Cage warning added");
+
+$conf->replenish($serialized);
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+$conf->options->set(maintainer => 1);
+$step->_add_maintainer_warnings($conf);
+%potential_warnings_seen = map { $_, 1 } @{ $step->{potential_warnings} };
+ok($potential_warnings_seen{'-Wlarger-than-4096'}, "Maintainer warning added");
+
+$conf->replenish($serialized);
+
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+my $warning = q{-Wphony_warning};
+auto::warnings::_set_warning($conf, $warning, 1, undef);
+ok(! $conf->data->get($warning),
+    "Got expected setting for warning");
+
+$conf->replenish($serialized);
+
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+{
+    my $warning = q{-Wphony_warning};
+    my $stdout;
+    capture(
+        sub { auto::warnings::_set_warning($conf, $warning, 1, 1); },
+        \$stdout,
+    );
+    ok(! $conf->data->get($warning),
+        "Got expected setting for warning");
+    like($stdout, qr/exit code:\s+1/, "Got expected verbose output");
+}
+
+$conf->replenish($serialized);
+
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+my $output = q{some string};
+my $tryflags = q{some flag};
+my $rv = auto::warnings::_set_ccflags($conf, $output, $tryflags, undef);
+is($rv, 1, "_set_ccflags() returned 1 as expected");
+is($conf->data->get("ccflags"), $tryflags, "ccflags changed as expected");
+
+$conf->replenish($serialized);
+
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+{
+    my $output = q{some string};
+    my $tryflags = q{some flag};
+    my ($rv, $stdout);
+    capture(
+        sub { $rv = auto::warnings::_set_ccflags($conf, $output, $tryflags, 1); },
+        \$stdout,
+    );
+    is($rv, 1, "_set_ccflags() returned 1 as expected");
+    is($conf->data->get("ccflags"), $tryflags, "ccflags changed as expected");
+    like($stdout, qr/ccflags:\s+$tryflags/, "Got expected verbose output");
+}
+
+$conf->replenish($serialized);
+
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+# Mock case where C compiler is not gcc.
+$conf->data->set( gccversion => undef );
+ok($step->runstep($conf), "runstep() returned true value");
+is($step->result(), q{skipped}, "Got expected result");
+
+$conf->replenish($serialized);
+
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+{
+    my ($stdout, $rv);
+    # Mock case where C compiler is not gcc.
+    $conf->data->set( gccversion => undef );
+    $conf->options->set( verbose => 1 );
+    capture(
+        sub { $rv = $step->runstep($conf); },
+        \$stdout,
+    );
+    ok($rv, "runstep() returned true value");
+    is($step->result(), q{skipped}, "Got expected result");
+    like($stdout,
+        qr/Currently we only set warnings/,
+        "Got expected verbose output"
+    );
+}
+
+} # End SKIP block for Sun/Solaris
+
+$conf->cc_clean();
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_warnings-01.t - test auto::warnings
+
+=head1 SYNOPSIS
+
+    % prove t/steps/auto_warnings-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test aspects of auto::warnings.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::auto::warnings, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_alignptrs-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_alignptrs-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,99 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# auto_alignptrs-01.t
-
-use strict;
-use warnings;
-use Test::More tests => 17;
-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::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-
-
-########## regular; singular ##########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [ ],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new;
-
-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} );
-my $step = test_step_constructor_and_description($conf);
-my $align = 1;
-$conf->data->set('ptr_alignment' => $align);
-my $ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
-is($step->result(), qq{configured:  $align byte}, "Expected result was set");
-
-$conf->replenish($serialized);
-
-########## regular; plural ##########
-
-($args, $step_list_ref) = process_options(
-    {
-        argv => [ ],
-        mode => q{configure},
-    }
-);
-
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-$align = 2;
-$conf->data->set('ptr_alignment' => $align);
-$ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
-is($step->result(), qq{configured:  $align bytes}, "Expected result was set");
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_alignptrs-01.t - test auto::alignptrs
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_alignptrs-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::alignptrs.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::auto::alignptrs, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_alignptrs-02.t
==============================================================================
--- branches/darwinhints/t/steps/auto_alignptrs-02.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,119 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# auto_alignptrs-02.t
-
-use strict;
-use warnings;
-use Test::More tests =>  18;
-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::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-
-########## mock hpux ##########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [ ],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new;
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-
-my $pkg = q{auto::alignptrs};
-
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-
-my $serialized = $conf->pcfreeze();
-
-{
-    $conf->data->set_p5( OSNAME => 'hpux' );
-    my $ret = $step->runstep($conf);
-    ok( $ret, "runstep() returned true value" );
-    if ( $conf->data->get_p5('ccflags') !~ /DD64/ ) {
-        is($conf->data->get('ptr_alignment'), 4,
-            "Got expected pointer alignment for HP Unix");
-        is($step->result(), qq{for hpux:  4 bytes},
-            "Expected result was set");
-    } else {
-        pass("Cannot mock \%Config");
-        pass("Cannot mock \%Config");
-    }
-}
-
-$conf->replenish($serialized);
-
-########## _evaluate_ptr_alignment()  ##########
-
-my $align = 2;
-auto::alignptrs::_evaluate_ptr_alignment($conf, $align);
-is($conf->data->get( 'ptr_alignment' ), 2,
-    "Got expected pointer alignment");
-
-$conf->replenish($serialized);
-
-########## _evaluate_ptr_alignment()  ##########
-
-$align = undef;
-eval { auto::alignptrs::_evaluate_ptr_alignment($conf, $align); };
-like($@, qr/Can't determine alignment!/, #'
-    "Got expected 'die' message");
-
-$conf->replenish($serialized);
-
-########## _evaluate_results()  ##########
-
-my ($results, $try_align);
-is(auto::alignptrs::_evaluate_results(q{OK}, 2), 2,
-    "Got expected alignment");
-is(auto::alignptrs::_evaluate_results(q{OK align}, 2), undef,
-    "Got undef as expected");
-is(auto::alignptrs::_evaluate_results(q{foobar}, 2), undef,
-    "Got undef as expected");
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_alignptrs-02.t - test auto::alignptrs
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_alignptrs-02.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::alignptrs.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::auto::alignptrs, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_arch-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_arch-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,305 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# auto_arch-01.t
-
-use strict;
-use warnings;
-use Test::More tests => 102;
-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::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
-    test_step_constructor_and_description
-);
-use IO::CaptureOutput qw| capture |;
-
-########## Darwin special case ##########
-
-my ($args, $step_list_ref) = process_options( {
-    argv => [ ],
-    mode => q{configure},
-} );
-
-my $conf = Parrot::Configure->new;
-
-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);
-
-########## --verbose ##########
-
-($args, $step_list_ref) = process_options( {
-    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);
-{
-    my ($ret, $stdout);
-    capture(
-        sub { $ret = $step->runstep($conf); },
-        \$stdout,
-    );
-    ok( $ret, "runstep() returned true value" );
-    is($step->result(), q{}, "Result was empty string as expected");
-    like($stdout,
-        qr/determining operating system and cpu architecture/s,
-        "Got expected verbose output"
-    );
-}
-
-$conf->replenish($serialized);
-
-########## mock architecture ##########
-
-($args, $step_list_ref) = process_options( {
-    argv => [ ],
-    mode => q{configure},
-} );
-rerun_defaults_for_testing($conf, $args );
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-my $pseudoarch = q{foobar};
-$conf->data->set('archname' => $pseudoarch);
-my $ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
-is($step->result(), q{}, "Result was empty string as expected");
-is($conf->data->get('cpuarch'), q{},
-    "'cpuarch' was set as expected");
-is($conf->data->get('osname'), $pseudoarch,
-    "'osname' was set as expected");
-
-$conf->replenish($serialized);
-
-########## mock darwin ##########
-
-($args, $step_list_ref) = process_options( {
-    argv => [ ],
-    mode => q{configure},
-} );
-rerun_defaults_for_testing($conf, $args );
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-$pseudoarch = q{darwin-thread-multi-2level};
-$conf->data->set('archname' => $pseudoarch);
-my $pseudobyteorder = 1234;
-$conf->data->set('byteorder' => $pseudobyteorder);
-$ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
-is($step->result(), q{}, "Result was empty string as expected");
-is($conf->data->get('cpuarch'), q{i386},
-    "'cpuarch' was set as expected");
-is($conf->data->get('osname'), q{darwin},
-    "'osname' was set as expected");
-
-$conf->replenish($serialized);
-
-########## mock darwin ##########
-
-($args, $step_list_ref) = process_options( {
-    argv => [ ],
-    mode => q{configure},
-} );
-rerun_defaults_for_testing($conf, $args );
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-$pseudoarch = q{darwin-thread-multi-2level};
-$conf->data->set('archname' => $pseudoarch);
-$pseudobyteorder = 4321;
-$conf->data->set('byteorder' => $pseudobyteorder);
-$ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
-is($step->result(), q{}, "Result was empty string as expected");
-is($conf->data->get('cpuarch'), q{ppc},
-    "'cpuarch' was set as expected");
-is($conf->data->get('osname'), q{darwin},
-    "'osname' was set as expected");
-
-$conf->replenish($serialized);
-
-########## mock win32 ##########
-
-($args, $step_list_ref) = process_options( {
-    argv => [ ],
-    mode => q{configure},
-} );
-rerun_defaults_for_testing($conf, $args );
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-$pseudoarch = q{MSWin32-x64};
-$conf->data->set('archname' => $pseudoarch);
-$ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
-is($step->result(), q{}, "Result was empty string as expected");
-is($conf->data->get('cpuarch'), q{amd64},
-    "'cpuarch' was set as expected");
-is($conf->data->get('osname'), q{MSWin32},
-    "'osname' was set as expected");
-
-$conf->replenish($serialized);
-
-########## mock win32 ##########
-
-($args, $step_list_ref) = process_options( {
-    argv => [ ],
-    mode => q{configure},
-} );
-rerun_defaults_for_testing($conf, $args );
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-$pseudoarch = q{MSWin32-i386};
-$conf->data->set('archname' => $pseudoarch);
-$ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
-is($step->result(), q{}, "Result was empty string as expected");
-is($conf->data->get('cpuarch'), q{i386},
-    "'cpuarch' was set as expected");
-is($conf->data->get('osname'), q{MSWin32},
-    "'osname' was set as expected");
-
-$conf->replenish($serialized);
-
-########## mock cygwin ##########
-
-($args, $step_list_ref) = process_options( {
-    argv => [ ],
-    mode => q{configure},
-} );
-rerun_defaults_for_testing($conf, $args );
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-$pseudoarch = q{cygwin};
-$conf->data->set('archname' => $pseudoarch);
-$ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
-is($step->result(), q{}, "Result was empty string as expected");
-is($conf->data->get('cpuarch'), q{i386},
-    "'cpuarch' was set as expected");
-is($conf->data->get('osname'), q{cygwin},
-    "'osname' was set as expected");
-
-$conf->replenish($serialized);
-
-########## mock powerpc-linux ##########
-
-($args, $step_list_ref) = process_options( {
-    argv => [ ],
-    mode => q{configure},
-} );
-rerun_defaults_for_testing($conf, $args );
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-$pseudoarch = q{powerpc-linux};
-$conf->data->set('archname' => $pseudoarch);
-$ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
-is($step->result(), q{}, "Result was empty string as expected");
-is($conf->data->get('cpuarch'), q{ppc},
-    "'cpuarch' was set as expected");
-is($conf->data->get('osname'), q{linux},
-    "'osname' was set as expected");
-
-$conf->replenish($serialized);
-
-########## mock cygwin-i486 ##########
-
-($args, $step_list_ref) = process_options( {
-    argv => [ ],
-    mode => q{configure},
-} );
-rerun_defaults_for_testing($conf, $args );
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-$pseudoarch = q{cygwin-i486};
-$conf->data->set('archname' => $pseudoarch);
-$ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
-is($step->result(), q{}, "Result was empty string as expected");
-is($conf->data->get('cpuarch'), q{i386},
-    "'cpuarch' was set as expected");
-is($conf->data->get('osname'), q{cygwin},
-    "'osname' was set as expected");
-
-pass("Completed all tests in $0");
-
-sub _capture { $errstr = $_[0]; }
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_arch-01.t - test auto::arch
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_arch-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::arch.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::auto::arch, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_attributes-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_attributes-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,84 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# auto_attributes-01.t
-
-use strict;
-use warnings;
-use Test::More tests => 12;
-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::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-use IO::CaptureOutput qw | capture |;
-
-my ($args, $step_list_ref) = process_options( {
-    argv            => [ ],
-    mode            => q{configure},
-} );
-
-my $conf = Parrot::Configure->new();
-
-test_step_thru_runstep($conf, q{init::defaults}, $args);
-
-my $pkg = q{auto::attributes};
-
-$conf->add_steps($pkg);
-$conf->options->set(%{$args});
-my $step = test_step_constructor_and_description($conf);
-
-{
-    my $rv;
-    my $stdout;
-    capture(
-        sub { $rv = $step->runstep($conf); },
-        \$stdout,
-    );
-    ok( defined $rv, "runstep() returned defined value" );
-    unlike($conf->data->get('ccflags'),
-        qr/HASATTRIBUTE_NEVER_WORKS/,
-        "'ccflags' excludes bogus attribute as expected"
-    );
-}
-$conf->cc_clean();
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_attributes-01.t - test auto::attributes
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_attributes-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::attributes.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::auto::attributes, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_backtrace-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_backtrace-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,94 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# auto_backtrace-01.t
-
-use strict;
-use warnings;
-use Test::More tests => 19;
-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::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-
-########## regular ##########
-
-my ($args, $step_list_ref) = process_options( {
-    argv            => [],
-    mode            => q{configure},
-} );
-
-my $conf = Parrot::Configure->new();
-
-test_step_thru_runstep($conf, q{init::defaults}, $args);
-
-my ($task, $step_name, $step, $ret);
-my $pkg = q{auto::backtrace};
-
-$conf->add_steps($pkg);
-
-my $serialized = $conf->pcfreeze();
-
-$conf->options->set(%{$args});
-$step = test_step_constructor_and_description($conf);
-
-$conf->replenish($serialized);
-
-########## _evaluate_backtrace()  ##########
-
-$conf->options->set(%{$args});
-$step = test_step_constructor_and_description($conf);
-my $error = q{mock_error};
-ok($step->_evaluate_backtrace($conf, $error),
-    "_evaluate_backtrace returned true value");
-is($step->result, 'no', "Got expected result");
-
-$error = q{};
-ok($step->_evaluate_backtrace($conf, $error),
-    "_evaluate_backtrace returned true value");
-is($step->result, 'yes', "Got expected result");
-ok($conf->data->get('backtrace'),
-    "backtrace set as expected");
-
-ok($step->runstep($conf), "runstep() returned true value");
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_backtrace-01.t - test auto::backtrace
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_backtrace-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::backtrace.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::auto::backtrace, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_byteorder-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_byteorder-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,129 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# auto_byteorder-01.t
-
-use strict;
-use warnings;
-use Test::More tests => 24;
-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::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-
-########## _evaluate_byteorder() ##########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [ ],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new;
-
-my $pkg = q{auto::byteorder};
-
-$conf->add_steps($pkg);
-
-my $serialized = $conf->pcfreeze();
-
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-
-my $byteorder = q{1234};
-my $rv = $step->_evaluate_byteorder($conf, $byteorder);
-ok( $rv, "_evaluate_byteorder() returned true value as expected");
-is( $conf->data->get( 'byteorder'), $byteorder, "Got expected byteorder");
-ok( ! $conf->data->get( 'bigendian' ), "Not big-endian");
-is( $step->result, 'little-endian', "Rather, little-endian");
-
-$conf->replenish($serialized);
-
-########## _evaluate_byteorder() ##########
-
-($args, $step_list_ref) = process_options(
-    {
-        argv => [ ],
-        mode => q{configure},
-    }
-);
-
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-
-$byteorder = q{8765};
-$rv = $step->_evaluate_byteorder($conf, $byteorder);
-ok( $rv, "_evaluate_byteorder() returned true value as expected");
-is( $conf->data->get( 'byteorder'), $byteorder, "Got expected byteorder");
-ok( $conf->data->get( 'bigendian' ), "big-endian");
-is( $step->result, 'big-endian', "Indeed, big-endian");
-
-$byteorder = q{4321};
-$rv = $step->_evaluate_byteorder($conf, $byteorder);
-ok( $rv, "_evaluate_byteorder() returned true value as expected");
-is( $conf->data->get( 'byteorder'), $byteorder, "Got expected byteorder");
-ok( $conf->data->get( 'bigendian' ), "big-endian");
-is( $step->result, 'big-endian', "Indeed, big-endian");
-
-$conf->replenish($serialized);
-
-########## _evaluate_byteorder(); phony byte order ##########
-
-($args, $step_list_ref) = process_options(
-    {
-        argv => [ ],
-        mode => q{configure},
-    }
-);
-
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-
-$byteorder = q{foobar};
-eval {
-    $rv = $step->_evaluate_byteorder($conf, $byteorder);
-};
-like($@,
-    qr/Unsupported byte-order \[$byteorder\]!/,
-    "Got error message expected with bad byte-order");
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_byteorder-01.t - test auto::byteorder
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_byteorder-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::byteorder.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::auto::byteorder, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_cgoto-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_cgoto-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,167 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# auto_cgoto-01.t
-
-use strict;
-use warnings;
-use Test::More tests =>  56;
-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::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
-    test_step_constructor_and_description
-);
-use IO::CaptureOutput qw( capture );
-
-
-########### regular ###########
-
-my ($args, $step_list_ref) = process_options( {
-    argv => [ ],
-    mode => q{configure},
-} );
-
-my $conf = Parrot::Configure->new;
-
-my $serialized = $conf->pcfreeze();
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-
-my $pkg = q{auto::cgoto};
-
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-my $ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
-ok(defined($step->result()), "A result was defined");
-ok(defined($conf->data->get('TEMP_cg_h')), "An attribute has been defined");
-ok(defined($conf->data->get('TEMP_cg_c')), "An attribute has been defined");
-ok(defined($conf->data->get('TEMP_cg_o')), "An attribute has been defined");
-ok(defined($conf->data->get('TEMP_cg_r')), "An attribute has been defined");
-ok(defined($conf->data->get('cg_flag')), "An attribute has been defined");
-
-$conf->replenish($serialized);
-
-########### _probe_for_cgoto() ###########
-
-($args, $step_list_ref) = process_options( {
-    argv => [ ],
-    mode => q{configure},
-} );
-rerun_defaults_for_testing($conf, $args );
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-$conf->options->set(cgoto => 1);
-is(auto::cgoto::_probe_for_cgoto($conf), 1,
-    "Got expected return value");
-$conf->options->set(cgoto => 0);
-is(auto::cgoto::_probe_for_cgoto($conf), 0,
-    "Got expected return value");
-$conf->options->set(cgoto => undef);
-ok(defined(auto::cgoto::_probe_for_cgoto($conf)),
-    "Probe returned a defined value");
-
-########### _evaluate_cgoto() ###########
-
-$step->_evaluate_cgoto($conf, 1);
-ok($conf->data->get('TEMP_cg_h'), "An attribute was set to true value");
-ok($conf->data->get('TEMP_cg_c'), "An attribute was set to true value");
-ok($conf->data->get('TEMP_cg_o'), "An attribute was set to true value");
-ok($conf->data->get('TEMP_cg_r'), "An attribute was set to true value");
-ok($conf->data->get('cg_flag'), "An attribute was set to true value");
-is($step->result(), q{yes}, "Expected result was set");
-
-$step->_evaluate_cgoto($conf, 0);
-is($conf->data->get('TEMP_cg_h'), q{}, "An attribute was set to empty string");
-is($conf->data->get('TEMP_cg_c'), q{}, "An attribute was set to empty string");
-is($conf->data->get('TEMP_cg_o'), q{}, "An attribute was set to empty string");
-is($conf->data->get('TEMP_cg_r'), q{}, "An attribute was set to empty string");
-is($conf->data->get('cg_flag'), q{}, "An attribute was set to empty string");
-is($step->result(), q{no}, "Expected result was set");
-
-$conf->replenish($serialized);
-
-($args, $step_list_ref) = process_options( {
-    argv => [ ],
-    mode => q{configure},
-} );
-rerun_defaults_for_testing($conf, $args );
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-{
-    my $stdout;
-    capture(
-        sub { $step->_evaluate_cgoto($conf, 1) },
-        \$stdout
-    );
-    ok($conf->data->get('TEMP_cg_h'), "An attribute was set to true value");
-    ok($conf->data->get('TEMP_cg_c'), "An attribute was set to true value");
-    ok($conf->data->get('TEMP_cg_o'), "An attribute was set to true value");
-    ok($conf->data->get('TEMP_cg_r'), "An attribute was set to true value");
-    ok($conf->data->get('cg_flag'), "An attribute was set to true value");
-    is($step->result(), q{yes}, "Expected result was set");
-}
-
-{
-    my $stdout;
-    capture(
-        sub { $step->_evaluate_cgoto($conf, 0) },
-        \$stdout
-    );
-    is($conf->data->get('TEMP_cg_h'), q{},
-        "An attribute was set to empty string");
-    is($conf->data->get('TEMP_cg_c'), q{},
-        "An attribute was set to empty string");
-    is($conf->data->get('TEMP_cg_o'), q{},
-        "An attribute was set to empty string");
-    is($conf->data->get('TEMP_cg_r'), q{},
-        "An attribute was set to empty string");
-    is($conf->data->get('cg_flag'), q{},
-        "An attribute was set to empty string");
-    is($step->result(), q{no}, "Expected result was set");
-}
-
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_cgoto-01.t - test auto::cgoto
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_cgoto-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::cgoto.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::auto::cgoto, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_cpu-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_cpu-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,104 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# auto_cpu-01.t
-
-use strict;
-use warnings;
-use Test::More tests =>  22;
-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::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
-    test_step_constructor_and_description
-);
-use IO::CaptureOutput qw( capture );
-
-########### --verbose ###########
-
-my ($args, $step_list_ref) = process_options( {
-    argv => [ q{--verbose} ],
-    mode => q{configure},
-} );
-
-my $conf = Parrot::Configure->new;
-
-my $serialized = $conf->pcfreeze();
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-
-my $pkg = q{auto::cpu};
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-{
-    $conf->data->set('cpuarch' => 'foobar');
-    my ($ret, $stdout);
-    capture(
-        sub { $ret = $step->runstep($conf); },
-        \$stdout,
-    );
-    ok($ret, "runstep() returned true value" );
-    ok(! $step->result(), "Got (default) false result as expected");
-    like($stdout, qr/cpu hints = 'auto::cpu::foobar::auto'/s,
-        "Got expected verbose output");
-    like($stdout, qr/no cpu specific hints/s,
-        "Got expected verbose output");
-}
-
-$conf->replenish($serialized);
-
-########### mock cpuarch ###########
-
-($args, $step_list_ref) = process_options( {
-    argv => [ ],
-    mode => q{configure},
-} );
-rerun_defaults_for_testing($conf, $args );
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-$conf->data->set('cpuarch' => 'foobar');
-my $ret = $step->runstep($conf);
-ok($ret, "runstep() returned true value" );
-ok(! $step->result(), "Got (default) false result as expected");
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_cpu-01.t - test auto::cpu
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_cpu-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::cpu.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::auto::cpu, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_crypto-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_crypto-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,177 +0,0 @@
-#! perl
-# Copyright (C) 2008, Parrot Foundation.
-# $Id$
-
-use strict;
-use warnings;
-use Test::More tests =>  24;
-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::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
-    test_step_constructor_and_description
-);
-use IO::CaptureOutput qw( capture );
-
-########## --without-crypto ##########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [ q{--without-crypto} ],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new;
-
-my $pkg = q{auto::crypto};
-
-$conf->add_steps($pkg);
-
-my $serialized = $conf->pcfreeze();
-
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-my $ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
-is($conf->data->get('has_crypto'), 0,
-    "Got expected value for 'has_crypto'");
-is($step->result(), q{no}, "Expected result was set");
-
-$conf->replenish($serialized);
-
-########## _select_lib() ##########
-
-($args, $step_list_ref) = process_options( {
-    argv => [ ],
-    mode => q{configure},
-} );
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-# Mock different OS/compiler combinations.
-my ($osname, $cc, $initial_libs);
-$initial_libs = $conf->data->get('libs');
-$osname = 'mswin32';
-$cc = 'gcc';
-is($step->_select_lib( {
-    conf            => $conf,
-    osname          => $osname,
-    cc              => $cc,
-    win32_nongcc    => 'libcrypto.lib',
-    default         => '-lcrypto',
-} ),
-   '-lcrypto',
-   "_select_lib() returned expected value");
-
-$osname = 'mswin32';
-$cc = 'cc';
-is($step->_select_lib( {
-    conf            => $conf,
-    osname          => $osname,
-    cc              => $cc,
-    win32_nongcc    => 'libcrypto.lib',
-    default         => '-lcrypto',
-} ),
-   'libcrypto.lib',
-   "_select_lib() returned expected value");
-
-$osname = 'foobar';
-$cc = 'cc';
-is($step->_select_lib( {
-    conf            => $conf,
-    osname          => $osname,
-    cc              => $cc,
-    win32_nongcc    => 'libcrypto.lib',
-    default         => '-lcrypto',
-} ),
-   '-lcrypto',
-   "_select_lib() returned expected value");
-
-my $verbose = undef;
-
-$conf->replenish($serialized);
-
-########## --without-crypto; _evaluate_cc_run() ##########
-
-($args, $step_list_ref) = process_options( {
-    argv => [ q{--without-crypto} ],
-    mode => q{configure},
-} );
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-my ($test, $has_crypto);
-$test = qq{OpenSSL 0.9.9z\n};
-$has_crypto = 0;
-$verbose = undef;
-$has_crypto = $step->_evaluate_cc_run($conf, $test, $has_crypto, $verbose);
-is($has_crypto, 1, "'has_crypto' set as expected");
-is($step->result(), 'yes, 0.9.9z', "Expected result was set");
-# Prepare for next test
-$step->set_result(undef);
-
-$test = qq{foobar};
-$has_crypto = 0;
-$verbose = undef;
-$has_crypto = $step->_evaluate_cc_run($conf, $test, $has_crypto, $verbose);
-is($has_crypto, 0, "'has_crypto' set as expected");
-ok(! defined $step->result(), "Result is undefined, as expected");
-
-{
-    my $stdout;
-    $test = qq{OpenSSL 0.9.9z\n};
-    $has_crypto = 0;
-    $verbose = 1;
-    capture(
-        sub { $has_crypto =
-            $step->_evaluate_cc_run($conf, $test, $has_crypto, $verbose); },
-        \$stdout,
-    );
-    is($has_crypto, 1, "'has_crypto' set as expected");
-    is($step->result(), 'yes, 0.9.9z', "Expected result was set");
-    like($stdout, qr/\(yes\)/, "Got expected verbose output");
-    # Prepare for next test
-    $step->set_result(undef);
-}
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_crypto-01.t - test auto::crypto
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_crypto-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::crypto.
-
-=head1 HISTORY
-
-Mostly taken from F<t/steps/auto_gdbm-01.t>.
-
-=head1 AUTHOR
-
-Francois Perrad
-
-=head1 SEE ALSO
-
-config::auto::crypto, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_ctags-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_ctags-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,151 +0,0 @@
-#!perl
-# Copyright (C) 2001-2007, Parrot Foundation.
-# $Id$
-# auto_ctags-01.t
-
-use strict;
-use warnings;
-use Test::More tests =>  28;
-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::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-use IO::CaptureOutput qw( capture );
-
-########## regular ##########
-
-my ($args, $step_list_ref) = process_options( {
-    argv => [ ],
-    mode => q{configure},
-} );
-
-my $conf = Parrot::Configure->new;
-
-my $pkg = q{auto::ctags};
-
-$conf->add_steps($pkg);
-
-my $serialized = $conf->pcfreeze();
-
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-my %possible_ctags = map {$_,1}
-    qw( ctags exuberant-ctags ctags-exuberant exctags );
-my $ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
-ok(defined($step->result()), "Result was defined");
-ok($possible_ctags{$conf->data->get('ctags')},
-    "Acceptable value for 'ctags' attribute was set");
-
-$conf->replenish($serialized);
-
-########## --verbose ##########
-
-($args, $step_list_ref) = process_options( {
-    argv => [ q{--verbose} ],
-    mode => q{configure},
-} );
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-{
-    my $stdout;
-    my $ret = capture(
-        sub { $step->runstep($conf) },
-        \$stdout
-    );
-    ok( $ret, "runstep() returned true value" );
-    ok( defined $step->result(), "Result was defined");
-    ok($possible_ctags{$conf->data->get('ctags')},
-        "Acceptable value for 'ctags' attribute was set");
-}
-
-$conf->replenish($serialized);
-
-########## _evaluate_ctags() ##########
-
-($args, $step_list_ref) = process_options( {
-    argv => [ ],
-    mode => q{configure},
-} );
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-
-$conf->replenish($serialized);
-
-my $pseudo_ctags;
-$pseudo_ctags = q{alpha};
-$step->_evaluate_ctags($conf, $pseudo_ctags, 1);
-is($conf->data->get('ctags'), $pseudo_ctags,
-    "'ctags' attribute was set as expected");
-is($step->result(), q{yes}, "Got expected result");
-
-$pseudo_ctags = q{alpha};
-$step->_evaluate_ctags($conf, $pseudo_ctags, 0);
-is($conf->data->get('ctags'), 'ctags',
-    "'ctags' attribute was set as expected");
-is($step->result(), q{no}, "Got expected result");
-
-$conf->replenish($serialized);
-
-########## _probe_for_ctags_output() ##########
-
-($args, $step_list_ref) = process_options( {
-    argv => [ ],
-    mode => q{configure},
-} );
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-ok(auto::ctags::_probe_for_ctags_output('Exuberant Ctags', 0),
-    "Probe returned true when output matched");
-ok(! auto::ctags::_probe_for_ctags_output('alpha', 0),
-    "Probe returned false when output matched");
-{
-    my $stdout;
-    my $rv = capture(
-        sub { auto::ctags::_probe_for_ctags_output('Exuberant Ctags', 1) },
-        \$stdout
-    );
-    ok($rv, "Probe returned true when output matched");
-}
-{
-    my $stdout;
-    my $rv = capture(
-        sub { auto::ctags::_probe_for_ctags_output('alpha', 1) },
-        \$stdout
-    );
-    ok(! $rv, "Probe returned false when output matched");
-}
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-t/steps/auto_ctags-01.t - tests Parrot::Configure step auto::ctags
-
-=head1 SYNOPSIS
-
-    prove t/steps/auto_ctags-01.t
-
-=head1 DESCRIPTION
-
-This file holds tests for auto::ctags.
-
-=head1 AUTHOR
-
-Paul Cochrane <paultcochrane at gmail dot com>
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_env-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_env-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,159 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# auto_env-01.t
-
-use strict;
-use warnings;
-use Test::More tests =>  29;
-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::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
-    test_step_constructor_and_description
-);
-use IO::CaptureOutput qw( capture );
-
-########### regular ###########
-
-my ($args, $step_list_ref) = process_options( {
-    argv            => [],
-    mode            => q{configure},
-} );
-
-my $conf = Parrot::Configure->new();
-
-test_step_thru_runstep($conf, q{init::defaults}, $args);
-
-my $pkg = q{auto::env};
-
-$conf->add_steps($pkg);
-
-my $serialized = $conf->pcfreeze();
-
-$conf->options->set(%{$args});
-my $step = test_step_constructor_and_description($conf);
-ok($step->runstep($conf), "runstep() returned true value");
-
-$conf->replenish($serialized);
-
-########### _evaluate_env() ###########
-
-($args, $step_list_ref) = process_options( {
-    argv            => [],
-    mode            => q{configure},
-} );
-$conf->options->set(%{$args});
-$step = test_step_constructor_and_description($conf);
-my ($setenv, $unsetenv);
-$setenv = 1;
-$unsetenv = 1;
-$step->_evaluate_env($conf, $setenv, $unsetenv);
-is($step->result(), q{both}, "Got expected result");
-$setenv = 1;
-$unsetenv = 0;
-$step->_evaluate_env($conf, $setenv, $unsetenv);
-is($step->result(), q{setenv}, "Got expected result");
-$setenv = 0;
-$unsetenv = 1;
-$step->_evaluate_env($conf, $setenv, $unsetenv);
-is($step->result(), q{unsetenv}, "Got expected result");
-$setenv = 0;
-$unsetenv = 0;
-$step->_evaluate_env($conf, $setenv, $unsetenv);
-is($step->result(), q{no}, "Got expected result");
-
-$conf->replenish($serialized);
-
-########### --verbose; _evaluate_env() ###########
-
-($args, $step_list_ref) = process_options( {
-    argv            => [ q{--verbose} ],
-    mode            => q{configure},
-} );
-$conf->options->set(%{$args});
-$step = test_step_constructor_and_description($conf);
-{
-    my $stdout;
-    $setenv = 1;
-    $unsetenv = 1;
-    capture(
-        sub { $step->_evaluate_env($conf, $setenv, $unsetenv) },
-        \$stdout
-    );
-    like($stdout, qr/both/, "Got expected verbose output");
-    is($step->result(), q{both}, "Got expected result");
-}
-{
-    my $stdout;
-    $setenv = 1;
-    $unsetenv = 0;
-    capture(
-        sub { $step->_evaluate_env($conf, $setenv, $unsetenv) },
-        \$stdout
-    );
-    like($stdout, qr/setenv/, "Got expected verbose output");
-    is($step->result(), q{setenv}, "Got expected result");
-}
-{
-    my $stdout;
-    $setenv = 0;
-    $unsetenv = 1;
-    capture(
-        sub { $step->_evaluate_env($conf, $setenv, $unsetenv) },
-        \$stdout
-    );
-    like($stdout, qr/unsetenv/, "Got expected verbose output");
-    is($step->result(), q{unsetenv}, "Got expected result");
-}
-{
-    my $stdout;
-    $setenv = 0;
-    $unsetenv = 0;
-    capture(
-        sub { $step->_evaluate_env($conf, $setenv, $unsetenv) },
-        \$stdout
-    );
-    like($stdout, qr/no/, "Got expected verbose output");
-    is($step->result(), q{no}, "Got expected result");
-}
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_env-01.t - test auto::env
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_env-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::env.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::auto::env, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_fink-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_fink-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,289 +0,0 @@
-#! perl
-# Copyright (C) 2007-2009, Parrot Foundation.
-# $Id$
-# auto_fink-01.t
-
-use strict;
-use warnings;
-use Test::More;
-use Carp;
-use File::Temp;
-use lib qw( lib t/configure/testlib );
-
-plan( skip_all => 'fink is Darwin only' ) unless $^O =~ /darwin/i;
-plan( tests => 55 );
-
-use_ok('config::init::defaults');
-use_ok('config::auto::fink');
-
-use Parrot::Configure;
-use Parrot::Configure::Options qw( process_options );
-use Parrot::Configure::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
-    test_step_constructor_and_description
-);
-use IO::CaptureOutput qw( capture );
-
-########## Darwin but no good Fink  ##########
-
-my ($args, $step_list_ref) = process_options( {
-    argv            => [],
-    mode            => q{configure},
-} );
-
-my $conf = Parrot::Configure->new();
-
-test_step_thru_runstep($conf, q{init::defaults}, $args);
-
-my $pkg = q{auto::fink};
-
-$conf->add_steps($pkg);
-
-my $serialized = $conf->pcfreeze();
-
-$conf->options->set(%{$args});
-my $step = test_step_constructor_and_description($conf);
-
-# Success in the following test means:
-# (a) OS is Darwin.
-# (b) Either Fink is not installed or it is installed correctly, i.e., we can
-# locate the Fink subdirectories we need for later Parrot configuration steps.
-ok($step->runstep($conf), "runstep() returned true value");
-
-$conf->replenish($serialized);
-
-########## not Darwin ##########
-
-($args, $step_list_ref) = process_options( {
-    argv            => [],
-    mode            => q{configure},
-} );
-# mock not Darwin
-$conf->options->set(%{$args});
-$step = test_step_constructor_and_description($conf);
-$conf->data->set_p5( 'OSNAME' => 'foobar' );
-ok($step->runstep($conf), "runstep() returned true value");
-is($step->result(), q{skipped}, "Got expected result for non-Darwin OS");
-
-$conf->replenish($serialized);
-
-########## no Fink ##########
-
-($args, $step_list_ref) = process_options( {
-    argv            => [],
-    mode            => q{configure},
-} );
-# mock no Fink
-$conf->options->set(%{$args});
-$step = test_step_constructor_and_description($conf);
-$step->{fink_conf} = q{my_ridiculous_foobar};
-my $msg = q{Fink not installed};
-
-{
-    ok($step->runstep($conf), "runstep() returned true value");
-    is($step->result(), $msg, "Got expected result for $msg");
-}
-
-$conf->replenish($serialized);
-
-########## Darwin but defective Fink ##########
-
-($args, $step_list_ref) = process_options( {
-    argv            => [],
-    mode            => q{configure},
-} );
-$conf->options->set(%{$args});
-$step = test_step_constructor_and_description($conf);
-{
-    # mock Fink config file with no Basepath
-    my $tfile = File::Temp->new();
-    open my $fh, ">", $tfile
-        or croak "Unable to open temporary file for writing";
-    print $fh "Message: Hello world\n";
-    close $fh or croak "Unable to close temporary file after writing";
-    $step->{fink_conf} = $tfile;
-    ok(! defined $step->runstep($conf),
-        "runstep() returned undef due to defective Fink config file");
-    is($step->result(), q{failed},
-        "Got expected result for defective Fink Config file");
-}
-
-$conf->replenish($serialized);
-
-########## Darwin but defective Fink ##########
-
-($args, $step_list_ref) = process_options( {
-    argv            => [],
-    mode            => q{configure},
-} );
-$conf->options->set(%{$args});
-$step = test_step_constructor_and_description($conf);
-{
-    # mock Fink config file with non-existent Basepath
-    my $tfile = File::Temp->new();
-    open my $fh, ">", $tfile
-        or croak "Unable to open temporary file for writing";
-    print $fh "Basepath: /my/phony/directory\n";
-    close $fh or croak "Unable to close temporary file after writing";
-    $step->{fink_conf} = $tfile;
-    ok(! defined $step->runstep($conf),
-        "runstep() returned undef due to unlocateable Fink directories");
-    is($step->result(), q{failed},
-        "Got expected result for unlocateable Fink directories");
-}
-
-$conf->replenish($serialized);
-
-########## not Darwin; --verbose ##########
-
-($args, $step_list_ref) = process_options( {
-    argv            => [ q{--verbose} ],
-    mode            => q{configure},
-} );
-$conf->options->set(%{$args});
-$step = test_step_constructor_and_description($conf);
-{
-    # mock not Darwin
-    my $phony_OS = q{foobar};
-    $conf->data->set_p5( 'OSNAME' => $phony_OS );
-    my ($rv, $stdout);
-    capture(
-        sub { $rv = $step->runstep($conf); },
-        \$stdout,
-    );
-    ok($rv, "runstep() returned true value");
-    is($step->result(), q{skipped}, "Got expected result for non-Darwin OS");
-    like($stdout,
-        qr/Operating system is $phony_OS; Fink is Darwin only/,
-        "Got expected verbose output when OS is not Darwin");
-}
-
-$conf->replenish($serialized);
-
-########## Darwin; --verbose; no Fink ##########
-
-($args, $step_list_ref) = process_options( {
-    argv            => [ q{--verbose} ],
-    mode            => q{configure},
-} );
-$conf->options->set(%{$args});
-$step = test_step_constructor_and_description($conf);
-{
-    # mock no Fink
-    $step->{fink_conf} = q{my_ridiculous_foobar};
-    my $msg = q{Fink not installed};
-    my ($rv, $stdout);
-    capture(
-        sub { $rv = $step->runstep($conf); },
-        \$stdout,
-    );
-    ok($rv, "runstep() returned true value");
-    is($step->result(), $msg,
-        "Got expected result for $msg");
-    like($stdout,
-        qr/Fink configuration file not located/,
-        "Got expected verbose output when OS is not Darwin");
-}
-
-$conf->replenish($serialized);
-
-########## Darwin; --verbose; defective Fink ##########
-
-($args, $step_list_ref) = process_options( {
-    argv            => [ q{--verbose} ],
-    mode            => q{configure},
-} );
-$conf->options->set(%{$args});
-$step = test_step_constructor_and_description($conf);
-{
-    # mock Fink config file with no Basepath
-    my $tfile = File::Temp->new();
-    open my $fh, ">", $tfile
-        or croak "Unable to open temporary file for writing";
-    print $fh "Message: Hello world\n";
-    close $fh or croak "Unable to close temporary file after writing";
-    $step->{fink_conf} = $tfile;
-
-    my ($rv, $stdout);
-    capture(
-        sub { $rv = $step->runstep($conf); },
-        \$stdout,
-    );
-    ok(! defined $rv,
-        "runstep() returned undef due to defective Fink config file");
-    is($step->result(), q{failed},
-        "Got expected result for defective Fink Config file");
-    like($stdout,
-        qr/Fink configuration file defective:  no 'Basepath'/,
-        "Got expected verbose output when Fink config file lacked 'Basepath'");
-}
-
-$conf->replenish($serialized);
-
-########## Darwin; --verbose; defective Fink ##########
-
-($args, $step_list_ref) = process_options( {
-    argv            => [ q{--verbose} ],
-    mode            => q{configure},
-} );
-$conf->options->set(%{$args});
-$step = test_step_constructor_and_description($conf);
-{
-    # mock Fink config file with non-existent Basepath
-    my $tfile = File::Temp->new();
-    open my $fh, ">", $tfile
-        or croak "Unable to open temporary file for writing";
-    print $fh "Basepath: /my/phony/directory\n";
-    close $fh or croak "Unable to close temporary file after writing";
-    $step->{fink_conf} = $tfile;
-
-    my ($rv, $stdout);
-    capture(
-        sub { $rv = $step->runstep($conf); },
-        \$stdout,
-    );
-    ok(! defined $rv,
-        "runstep() returned undef due to unlocateable Fink directories");
-    is($step->result(), q{failed},
-        "Got expected result for unlocateable Fink directories");
-    like($stdout,
-        qr/Could not locate Fink directories/,
-        "Got expected verbose output for unlocateable Fink directories");
-}
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_fink-01.t - test auto::fink
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_fink-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::fink.  Some tests will run only on Darwin.
-Others simulate how auto::fink runs on operating systems other than Darwin.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::auto::fink, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_format-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_format-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,157 +0,0 @@
-#! perl
-# Copyright (C) 2008, Parrot Foundation.
-# $Id$
-# auto_format-01.t
-
-use strict;
-use warnings;
-use Test::More tests => 16;
-use Carp;
-use lib qw( lib t/configure/testlib );
-use_ok('config::auto::format');
-use Parrot::BuildUtil;
-use Parrot::Configure;
-use Parrot::Configure::Options qw( process_options );
-use Parrot::Configure::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-
-########## _set_intvalfmt() ##########
-
-my ($args, $step_list_ref) = process_options( {
-    argv            => [],
-    mode            => q{configure},
-} );
-
-my $conf = Parrot::Configure->new();
-
-my ($task, $step_name, $step, $ret);
-my $pkg = q{auto::format};
-
-$conf->add_steps($pkg);
-$conf->options->set(%{$args});
-$step = test_step_constructor_and_description($conf);
-{
-    $conf->data->set( iv => 'int' );
-    auto::format::_set_intvalfmt($conf);
-    is($conf->data->get( 'intvalfmt' ), '%d',
-        "intvalfmt set as expected");
-    # reset for next test
-    $conf->data->set( iv => undef );
-}
-{
-    $conf->data->set( iv => 'long' );
-    auto::format::_set_intvalfmt($conf);
-    is($conf->data->get( 'intvalfmt' ), '%ld',
-        "intvalfmt set as expected");
-    # reset for next test
-    $conf->data->set( iv => undef );
-}
-{
-    $conf->data->set( iv => 'long int' );
-    auto::format::_set_intvalfmt($conf);
-    is($conf->data->get( 'intvalfmt' ), '%ld',
-        "intvalfmt set as expected");
-    # reset for next test
-    $conf->data->set( iv => undef );
-}
-{
-    $conf->data->set( iv => 'long long' );
-    auto::format::_set_intvalfmt($conf);
-    is($conf->data->get( 'intvalfmt' ), '%lld',
-        "intvalfmt set as expected");
-    # reset for next test
-    $conf->data->set( iv => undef );
-}
-{
-    $conf->data->set( iv => 'long long int' );
-    auto::format::_set_intvalfmt($conf);
-    is($conf->data->get( 'intvalfmt' ), '%lld',
-        "intvalfmt set as expected");
-    # reset for next test
-    $conf->data->set( iv => undef );
-}
-{
-    my $type = 'foobar';
-    $conf->data->set( iv => $type );
-    eval { auto::format::_set_intvalfmt($conf); };
-    like($@,
-        qr/Can't find a printf-style format specifier for type '$type'/, #'
-        "Got expected error message");
-}
-
-########## _set_floatvalfmt_nvsize() ##########
-
-{
-    $conf->data->set( nv => 'double' );
-    auto::format::_set_floatvalfmt_nvsize($conf);
-    is($conf->data->get( 'floatvalfmt' ), '%.15g',
-        "floatvalfmt set as expected");
-    is($conf->data->get( 'nvsize' ), $conf->data->get( 'doublesize' ),
-        "nvsize set as expected");
-    $conf->data->set(
-        nv          => undef,
-        floatvalfmt => undef,
-        nvsize      => undef,
-    );
-}
-{
-    use Config;
-    my $p5format = '%.15' . $Config{sPRIgldbl};
-    $p5format =~ s/"//g;; # Perl 5's Config value has embedded double quotes
-    $conf->data->set( nv => 'long double' );
-    auto::format::_set_floatvalfmt_nvsize($conf);
-    is($conf->data->get( 'floatvalfmt' ), $p5format,
-        "floatvalfmt set as expected");
-    is($conf->data->get( 'nvsize' ), $conf->data->get( 'hugefloatvalsize' ),
-        "nvsize set as expected");
-    $conf->data->set(
-        nv          => undef,
-        floatvalfmt => undef,
-        nvsize      => undef,
-    );
-}
-{
-    my $type = 'foobar';
-    $conf->data->set( nv => 'foobar' );
-    eval { auto::format::_set_floatvalfmt_nvsize($conf); };
-    like($@,
-        qr/Can't find a printf-style format specifier for type '$type'/, #'
-        "Got expected error message");
-}
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_format-01.t - test auto::format
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_format-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::format.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::auto::format, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_funcptr-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_funcptr-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,134 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# auto_funcptr-01.t
-
-use strict;
-use warnings;
-use Test::More tests => 28;
-use Carp;
-use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
-use_ok('config::auto::funcptr');
-use Parrot::BuildUtil;
-use Parrot::Configure;
-use Parrot::Configure::Options qw( process_options );
-use Parrot::Configure::Test qw( test_step_thru_runstep);
-use Parrot::Configure::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
-    test_step_constructor_and_description
-);
-use IO::CaptureOutput qw( capture );
-
-########### --jitcapable=0  ###########
-
-my ($args, $step_list_ref) = process_options( {
-    argv            => [ q{--jitcapable=0} ],
-    mode            => q{configure},
-} );
-
-my $conf = Parrot::Configure->new();
-
-my $serialized = $conf->pcfreeze();
-
-test_step_thru_runstep($conf, q{init::defaults}, $args);
-
-my $pkg = q{auto::funcptr};
-
-$conf->add_steps($pkg);
-$conf->options->set(%{$args});
-my $step = test_step_constructor_and_description($conf);
-my $ret = $step->runstep($conf);
-ok($ret, "runstep() returned defined value" );
-
-$conf->replenish($serialized);
-
-########### _cast_void_pointers_msg() ###########
-
-($args, $step_list_ref) = process_options( {
-    argv            => [ ],
-    mode            => q{configure},
-} );
-rerun_defaults_for_testing($conf, $args );
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-{
-    my $stdout;
-    my $ret = capture(
-        sub { auto::funcptr::_cast_void_pointers_msg(); },
-        \$stdout,
-    );
-    like($stdout, qr/Although it is not required/s,
-        "Got expected advisory message");
-}
-
-########### _set_positive_result() ###########
-
-{
-    my $stdout;
-    my $ret = capture(
-        sub { auto::funcptr::_set_positive_result($step, $conf); },
-        \$stdout,
-    );
-    is($step->result, q{yes}, "Got expected result");
-    ok(! $stdout, "Nothing printed to STDOUT, as expected");
-}
-
-$conf->replenish($serialized);
-
-########### --verbose; _set_positive_result() ###########
-
-($args, $step_list_ref) = process_options( {
-    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);
-{
-    my $stdout;
-    my $ret = capture(
-        sub { auto::funcptr::_set_positive_result($step, $conf); },
-        \$stdout,
-    );
-    is($step->result, q{yes}, "Got expected result");
-    like($stdout, qr/yes/, "Got expected verbose output");
-}
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_funcptr-01.t - test auto::funcptr
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_funcptr-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test aspects of auto::funcptr.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::auto::funcptr, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_gc-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_gc-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,165 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# auto_gc-01.t
-
-use strict;
-use warnings;
-use Test::More tests => 35;
-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::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
-    test_step_constructor_and_description
-);
-use IO::CaptureOutput qw| capture |;
-
-########### --verbose ###########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [ q{--verbose} ],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new;
-
-my $pkg = q{auto::gc};
-
-$conf->add_steps($pkg);
-
-my $serialized = $conf->pcfreeze();
-
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-{
-    my ($ret, $stdout);
-    capture(
-        sub { $ret = $step->runstep($conf); },
-        \$stdout,
-    );
-    ok( $ret, "runstep() returned true value" );
-    like( $stdout, qr/\(gc\)/, "Got expected verbose output");
-    is($conf->data->get('gc_flag'), q{},
-        "Got expected value for 'gc_flag'");
-}
-
-$conf->replenish($serialized);
-
-########### --gc=gc ###########
-
-($args, $step_list_ref) = process_options( {
-    argv => [ q{--gc=gc} ],
-    mode => q{configure},
-} );
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-my $ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
-is($conf->data->get('gc_flag'), q{},
-    "Got expected value for 'gc_flag'");
-
-$conf->replenish($serialized);
-
-########### --gc=libc ###########
-
-($args, $step_list_ref) = process_options( {
-    argv => [ q{--gc=libc} ],
-    mode => q{configure},
-} );
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-$conf->data->set('i_malloc' => 1);
-$ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
-is($conf->data->get('gc_flag'), '-DGC_IS_MALLOC',
-    "Got expected value for 'gc_flag'");
-is($conf->data->get('malloc_header'), 'malloc.h',
-    "Got expected value for 'malloc_header'");
-
-$conf->replenish($serialized);
-
-########### --gc=libc ###########
-
-($args, $step_list_ref) = process_options( {
-    argv => [ q{--gc=libc} ],
-    mode => q{configure},
-} );
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-$conf->data->set('i_malloc' => undef);
-$ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
-is($conf->data->get('gc_flag'), '-DGC_IS_MALLOC',
-    "Got expected value for 'gc_flag'");
-is($conf->data->get('malloc_header'), 'stdlib.h',
-    "Got expected value for 'malloc_header'");
-
-$conf->replenish($serialized);
-
-########### --gc=malloc ###########
-
-($args, $step_list_ref) = process_options( {
-    argv => [ q{--gc=malloc} ],
-    mode => q{configure},
-} );
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-$ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
-is($conf->data->get('gc_flag'), '-DGC_IS_MALLOC',
-    "Got expected value for 'gc_flag'");
-
-$conf->replenish($serialized);
-
-########### --gc=malloc-trace ###########
-
-($args, $step_list_ref) = process_options( {
-    argv => [ q{--gc=malloc-trace} ],
-    mode => q{configure},
-} );
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-$ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
-is($conf->data->get('gc_flag'), '-DGC_IS_MALLOC',
-    "Got expected value for 'gc_flag'");
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_gc-01.t - test auto::gc
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_gc-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::gc.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::auto::gc, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_gcc-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_gcc-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,327 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# auto_gcc-01.t
-
-use strict;
-use warnings;
-use Test::More tests => 122;
-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::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
-    test_step_constructor_and_description
-);
-use IO::CaptureOutput qw | capture |;
-
-########## regular  ##########
-
-my ($args, $step_list_ref) = process_options( {
-    argv            => [],
-    mode            => q{configure},
-} );
-
-my $conf = Parrot::Configure->new();
-
-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);
-$conf->options->set(%{$args});
-my $step = test_step_constructor_and_description($conf);
-
-ok($step->runstep($conf), "runstep returned true value");
-
-$conf->replenish($serialized);
-
-########## _evaluate_gcc() ##########
-
-rerun_defaults_for_testing($conf, $args );
-$conf->add_steps($pkg);
-$conf->options->set(%{$args});
-$step = test_step_constructor_and_description($conf);
-my $gnucref = {};
-ok($step->_evaluate_gcc($conf, $gnucref),
-    "_evaluate_gcc() returned true value");
-ok(! defined $conf->data->get( 'gccversion' ),
-    "gccversion undef as expected");
-
-$conf->replenish($serialized);
-
-########## _evaluate_gcc() ##########
-
-rerun_defaults_for_testing($conf, $args );
-$conf->add_steps($pkg);
-$conf->options->set(%{$args});
-$step = test_step_constructor_and_description($conf);
-$gnucref = {};
-$gnucref->{__GNUC__} = 1;
-$gnucref->{__INTEL_COMPILER} = 1;
-ok($step->_evaluate_gcc($conf, $gnucref),
-    "_evaluate_gcc() returned true value");
-ok(! defined $conf->data->get( 'gccversion' ),
-    "gccversion undef as expected");
-is($step->result(), q{no}, "Got expected result");
-
-$conf->replenish($serialized);
-
-########## _evaluate_gcc(); --verbose ##########
-
-($args, $step_list_ref) = process_options( {
-    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);
-{
-    my $rv;
-    my $stdout;
-    my $gnucref = {};
-    $gnucref->{__GNUC__} = undef;
-    capture ( sub {$rv = $step->_evaluate_gcc($conf, $gnucref) }, \$stdout);
-    ok($rv, "_evaluate_gcc() returned true value");
-    ok( $stdout, "verbose output captured" );
-    ok(! defined $conf->data->get( 'gccversion' ),
-        "gccversion undef as expected");
-    is($step->result(), q{no}, "Got expected result");
-}
-
-$conf->replenish($serialized);
-
-########## _evaluate_gcc() ##########
-
-($args, $step_list_ref) = process_options( {
-    argv            => [],
-    mode            => q{configure},
-} );
-rerun_defaults_for_testing($conf, $args );
-$conf->add_steps($pkg);
-$conf->options->set(%{$args});
-$step = test_step_constructor_and_description($conf);
-$gnucref = {};
-$gnucref->{__GNUC__} = 1;
-$gnucref->{__INTEL_COMPILER} = 1;
-ok($step->_evaluate_gcc($conf, $gnucref),
-    "_evaluate_gcc() returned true value");
-ok(! defined $conf->data->get( 'gccversion' ),
-    "gccversion undef as expected");
-is($step->result(), q{no}, "Got expected result");
-
-$conf->replenish($serialized);
-
-########## _evaluate_gcc(); --verbose ##########
-
-($args, $step_list_ref) = process_options( {
-    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);
-{
-    my $rv;
-    my $stdout;
-    my $gnucref = {};
-    $gnucref->{__GNUC__} = q{abc123};
-    capture ( sub {$rv = $step->_evaluate_gcc($conf, $gnucref) }, \$stdout);
-    ok($rv, "_evaluate_gcc() returned true value");
-    ok( $stdout, "verbose output captured" );
-    ok(! defined $conf->data->get( 'gccversion' ),
-        "gccversion undef as expected");
-    is($step->result(), q{no}, "Got expected result");
-}
-
-$conf->replenish($serialized);
-
-########## _evaluate_gcc() ##########
-
-rerun_defaults_for_testing($conf, $args );
-$conf->add_steps($pkg);
-$conf->options->set(%{$args});
-$step = test_step_constructor_and_description($conf);
-{
-    my $rv;
-    my $stdout;
-    my $gnucref = {};
-    $gnucref->{__GNUC__} = q{123};
-    $gnucref->{__GNUC_MINOR__} = q{abc};
-    capture ( sub {$rv = $step->_evaluate_gcc($conf, $gnucref) }, \$stdout);
-    ok($rv, "_evaluate_gcc() returned true value");
-    ok( !$stdout, "verbose output captured" );
-    ok(defined $conf->data->get( 'gccversion' ),
-        "gccversion defined as expected");
-    is($conf->data->get( 'gccversion' ), 123,
-        "Got expected value for gccversion");
-    like($step->result(), qr/^yes/, "Got expected result");
-}
-
-$conf->replenish($serialized);
-
-########## _evaluate_gcc() ##########
-
-($args, $step_list_ref) = process_options( {
-    argv            => [],
-    mode            => q{configure},
-} );
-rerun_defaults_for_testing($conf, $args );
-$conf->add_steps($pkg);
-$conf->options->set(%{$args});
-$step = test_step_constructor_and_description($conf);
-{
-    my $rv;
-    my $stdout;
-    my $gnucref = {};
-    $gnucref->{__GNUC__} = q{123};
-    $gnucref->{__GNUC_MINOR__} = q{456};
-    capture ( sub {$rv = $step->_evaluate_gcc($conf, $gnucref) }, \$stdout);
-    ok($rv, "_evaluate_gcc() returned true value");
-    ok(defined $conf->data->get( 'gccversion' ),
-        "gccversion defined as expected");
-    is($conf->data->get( 'gccversion' ), q{123.456},
-        "Got expected value for gccversion");
-    like($step->result(), qr/^yes/, "Got expected result");
-}
-
-$conf->replenish($serialized);
-
-########## _evaluate_gcc(); --verbose ##########
-
-($args, $step_list_ref) = process_options( {
-    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);
-{
-    my $rv;
-    my $stdout;
-    my $gnucref = {};
-    $gnucref->{__GNUC__} = q{123};
-    $gnucref->{__GNUC_MINOR__} = q{456};
-    capture ( sub {$rv = $step->_evaluate_gcc($conf, $gnucref) }, \$stdout);
-    ok($rv, "_evaluate_gcc() returned true value");
-    ok( !$stdout, "verbose output captured" );
-    ok(defined $conf->data->get( 'gccversion' ),
-        "gccversion defined as expected");
-    is($conf->data->get( 'gccversion' ), q{123.456},
-        "Got expected value for gccversion");
-    like($step->result(), qr/^yes/, "Got expected result");
-}
-
-$conf->replenish($serialized);
-
-########## _evaluate_gcc() ##########
-
-($args, $step_list_ref) = process_options( {
-    argv            => [ ],
-    mode            => q{configure},
-} );
-rerun_defaults_for_testing($conf, $args );
-$conf->add_steps($pkg);
-$conf->options->set(%{$args});
-$step = test_step_constructor_and_description($conf);
-$gnucref = {};
-$gnucref->{__GNUC__} = q{abc123};
-ok($step->_evaluate_gcc($conf, $gnucref),
-    "_evaluate_gcc() returned true value");
-ok(! defined $conf->data->get( 'gccversion' ),
-    "gccversion undef as expected");
-is($step->result(), q{no}, "Got expected result");
-
-$conf->replenish($serialized);
-
-########## _evaluate_gcc(); maintaiiner; cage ##########
-
-($args, $step_list_ref) = process_options( {
-    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);
-$gnucref = {};
-$gnucref->{__GNUC__} = q{3};
-$gnucref->{__GNUC_MINOR__} = q{1};
-$conf->data->set( ccwarn => q{-Wfoobar -Wnofoobaz} );
-ok($step->_evaluate_gcc($conf, $gnucref),
-    "_evaluate_gcc() returned true value");
-ok(defined $conf->data->get( 'gccversion' ),
-    "gccversion defined as expected");
-like($step->result(), qr/^yes/, "Got expected result");
-
-$conf->replenish($serialized);
-
-########## _evaluate_gcc() ##########
-
-($args, $step_list_ref) = process_options( {
-    argv            => [ ],
-    mode            => q{configure},
-} );
-rerun_defaults_for_testing($conf, $args );
-$conf->add_steps($pkg);
-$conf->options->set(%{$args});
-$step = test_step_constructor_and_description($conf);
-$gnucref = {};
-$gnucref->{__GNUC__} = q{3};
-$gnucref->{__GNUC_MINOR__} = q{1};
-{
-    $conf->data->set_p5( OSNAME => 'hpux' );
-    ok($step->_evaluate_gcc($conf, $gnucref),
-        "_evaluate_gcc() returned true value");
-    ok(defined $conf->data->get( 'gccversion' ),
-        "gccversion defined as expected");
-    is($conf->data->get( 'gccversion' ), q{3.1},
-        "Got expected value for gccversion");
-    like($step->result(), qr/^yes/, "Got expected result");
-}
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_gcc-01.t - test auto::gcc
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_gcc-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::gcc.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::auto::gcc, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_gdbm-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_gdbm-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,201 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# auto_gdbm-01.t
-
-use strict;
-use warnings;
-use Test::More tests =>  47;
-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::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
-    test_step_constructor_and_description
-);
-use IO::CaptureOutput qw| capture |;
-
-=for hints_for_testing The documentation for this package is skimpy;
-please try to improve it, e.g., by providing a short description of what
-the 'gdbm' is.  Some branches are compiler- or OS-specific.  As noted in
-a comment in the module, please consider the issues raised in
-http://rt.perl.org/rt3/Ticket/Display.html?id=43134.
-
-=cut
-
-########## --without-gdbm  ##########
-
-my ($args, $step_list_ref) = process_options( {
-    argv => [ q{--without-gdbm} ],
-    mode => q{configure},
-} );
-
-my $conf = Parrot::Configure->new;
-
-my $serialized = $conf->pcfreeze();
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-
-my $pkg = q{auto::gdbm};
-
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-my $ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
-is($conf->data->get('has_gdbm'), 0,
-    "Got expected value for 'has_gdbm'");
-is($step->result(), q{no}, "Expected result was set");
-
-$conf->replenish($serialized);
-
-########## --without-gdbm; _handle_darwin_for_fink() ##########
-
-($args, $step_list_ref) = process_options( {
-    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);
-my $osname;
-my ($flagsbefore, $flagsafter);
-$osname = 'foobar';
-$flagsbefore = $conf->data->get( 'linkflags' );
-ok($step->_handle_darwin_for_fink($conf, $osname, 'gdbm.h'),
-    "handle_darwin_for_fink() returned true value");
-$flagsafter = $conf->data->get( 'linkflags' );
-is($flagsbefore, $flagsafter, "No change in linkflags, as expected");
-my $cwd = cwd();
-{
-    my $tdir = tempdir( CLEANUP => 1 );
-    ok(chdir $tdir, "Able to change to temporary directory");
-    ok( (mkdir 'lib'), "Able to make lib directory");
-    ok( (mkdir 'include'), "Able to make include directory");
-    my $libdir = File::Spec->catdir( $tdir, 'lib' );
-    my $includedir = File::Spec->catdir( $tdir, 'include' );
-    $conf->data->set('fink_lib_dir' => $libdir);
-    $conf->data->set('fink_include_dir' => $includedir);
-    $osname = 'darwin';
-    $flagsbefore = $conf->data->get( 'linkflags' );
-    ok($step->_handle_darwin_for_fink($conf, $osname, 'gdbm.h'),
-        "handle_darwin_for_fink() returned true value");
-    $flagsafter = $conf->data->get( 'linkflags' );
-    is($flagsbefore, $flagsafter, "No change in linkflags, as expected");
-
-    ok(chdir $cwd, "Able to change back to original directory after testing");
-}
-{
-    my $tdir2 = tempdir( CLEANUP => 1 );
-    ok(chdir $tdir2, "Able to change to temporary directory");
-    ok( (mkdir 'lib'), "Able to make lib directory");
-    ok( (mkdir 'include'), "Able to make include directory");
-    my $libdir = File::Spec->catdir( $tdir2, 'lib' );
-    my $includedir = File::Spec->catdir( $tdir2, 'include' );
-    $conf->data->set('fink_lib_dir' => $libdir);
-    $conf->data->set('fink_include_dir' => $includedir);
-    my $foo = File::Spec->catfile( $includedir, 'gdbm.h' );
-    open my $FH, ">", $foo or croak "Could not open for writing";
-    print $FH "Hello world\n";
-    close $FH or croak "Could not close after writing";
-
-    $osname = 'darwin';
-    $flagsbefore = $conf->data->get( 'linkflags' );
-    ok($step->_handle_darwin_for_fink($conf, $osname, 'gdbm.h'),
-        "handle_darwin_for_fink() returned true value");
-    $flagsafter = $conf->data->get( 'linkflags' );
-    isnt($flagsbefore, $flagsafter, "Change in linkflags, as expected");
-    like($conf->data->get( 'linkflags' ), qr/-L\Q$libdir\E/,
-        "'linkflags' modified as expected");
-
-    ok(chdir $cwd, "Able to change back to original directory after testing");
-}
-
-$conf->replenish($serialized);
-
-########## --without-gdbm; _evaluate_cc_run() ##########
-
-($args, $step_list_ref) = process_options( {
-    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);
-my ($test, $has_gdbm, $verbose);
-$test = qq{gdbm is working.\n};
-$has_gdbm = 0;
-$verbose = undef;
-$has_gdbm = $step->_evaluate_cc_run($test, $has_gdbm, $verbose);
-is($has_gdbm, 1, "'has_gdbm' set as expected");
-is($step->result(), 'yes', "Expected result was set");
-# Prepare for next test
-$step->set_result(undef);
-$test = qq{foobar};
-$has_gdbm = 0;
-$verbose = undef;
-$has_gdbm = $step->_evaluate_cc_run($test, $has_gdbm, $verbose);
-is($has_gdbm, 0, "'has_gdbm' set as expected");
-ok(! defined $step->result(), "Result is undefined, as expected");
-{
-    my $stdout;
-    $test = qq{gdbm is working.\n};
-    $has_gdbm = 0;
-    $verbose = 1;
-    capture(
-        sub { $has_gdbm =
-            $step->_evaluate_cc_run($test, $has_gdbm, $verbose); },
-        \$stdout,
-    );
-    is($has_gdbm, 1, "'has_gdbm' set as expected");
-    is($step->result(), 'yes', "Expected result was set");
-    like($stdout, qr/\(yes\)/, "Got expected verbose output");
-    # Prepare for next test
-    $step->set_result(undef);
-}
-
-$conf->replenish($serialized);
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_gdbm-01.t - test auto::gdbm
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_gdbm-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::gdbm.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::auto::gdbm, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_gettext-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_gettext-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,217 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# auto_gettext-01.t
-
-use strict;
-use warnings;
-use Test::More tests =>  30;
-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::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
-    test_step_constructor_and_description
-);
-use IO::CaptureOutput qw( capture );
-
-########## --without-gettext ##########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [ q{--without-gettext} ],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new;
-
-my $pkg = q{auto::gettext};
-
-$conf->add_steps($pkg);
-
-my $serialized = $conf->pcfreeze();
-
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-my $ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
-is($conf->data->get('has_gettext'), 0,
-    "Got expected value for 'has_gettext'");
-is($step->result(), q{no}, "Expected result was set");
-
-$conf->replenish($serialized);
-
-########## _select_lib() ##########
-
-($args, $step_list_ref) = process_options( {
-    argv => [ ],
-    mode => q{configure},
-} );
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-
-# Mock values for OS and C-compiler
-my ($osname, $cc, $initial_value);
-$osname = 'mswin32';
-$cc = 'gcc';
-$initial_value = $conf->data->get( 'libs' );
-is($step->_select_lib( {
-    conf            => $conf,
-    osname          => $osname,
-    cc              => $cc,
-    win32_gcc       => '-lintl',
-    win32_nongcc    => 'intl.lib',
-    default         => defined $conf->data->get('glibc') ? '' : '-lintl',
-} ),
-   '-lintl',
-   "_select_lib() returned expected value");
-
-$osname = 'mswin32';
-$cc = 'cc';
-is($step->_select_lib( {
-    conf            => $conf,
-    osname          => $osname,
-    cc              => $cc,
-    win32_gcc       => '-lintl',
-    win32_nongcc    => 'intl.lib',
-    default         => defined $conf->data->get('glibc') ? '' : '-lintl',
-} ),
-   'intl.lib',
-   "_select_lib() returned expected value");
-
-$osname = 'foobar';
-$cc = 'cc';
-$conf->data->set( glibc => 1 );
-isnt($step->_select_lib( {
-    conf            => $conf,
-    osname          => $osname,
-    cc              => $cc,
-    win32_gcc       => '-lintl',
-    win32_nongcc    => 'intl.lib',
-    default         => defined $conf->data->get('glibc') ? '' : '-lintl',
-} ),
-   '-lintl',
-   "_select_lib() returned expected value");
-
-$osname = 'foobar';
-$cc = 'cc';
-$conf->data->set( glibc => undef );
-is($step->_select_lib( {
-    conf            => $conf,
-    osname          => $osname,
-    cc              => $cc,
-    win32_gcc       => '-lintl',
-    win32_nongcc    => 'intl.lib',
-    default         => defined $conf->data->get('glibc') ? '' : '-lintl',
-} ),
-   '-lintl',
-   "_select_lib() returned expected value");
-
-########## _evaluate_cc_run() ##########
-
-my ($test, $verbose);
-my $has_gettext;
-
-$test = "Hello, world!\n";
-$verbose = undef;
-$has_gettext = $step->_evaluate_cc_run($test, $verbose);
-is($has_gettext, 1, "Got expected value for has_gettext");
-is($step->result(), 'yes', "Expected result was set");
-# Prepare for next test
-$step->set_result(undef);
-
-{
-    my $stdout;
-    $test = "Hello, world!\n";
-    $verbose = 1;
-    capture(
-        sub {
-            $has_gettext = $step->_evaluate_cc_run($test, $verbose);
-        },
-        \$stdout,
-    );
-    is($has_gettext, 1, "Got expected value for has_gettext");
-    is($step->result(), 'yes', "Expected result was set");
-    like($stdout, qr/\(yes\)/, "Got expected verbose output");
-    # Prepare for next test
-    $step->set_result(undef);
-}
-
-$test = "Foobar\n";
-$verbose = undef;
-$has_gettext = $step->_evaluate_cc_run($test, $verbose);
-is($has_gettext, 0, "Got expected value for has_gettext");
-ok(! defined $step->result(), "As expected, result is not yet defined");
-
-$conf->replenish($serialized);
-
-########## --without-gettext; _handle_gettext() ##########
-
-($args, $step_list_ref) = process_options( {
-    argv => [ q{--without-gettext} ],
-    mode => q{configure},
-} );
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-
-$verbose = undef;
-$conf->data->set( ccflags => q{} );
-ok(auto::gettext::_handle_gettext($conf, $verbose),
-    "_handle_gettext() returned true value");
-like($conf->data->get( 'ccflags' ), qr/-DHAS_GETTEXT/,
-    "HAS_GETTEXT was added to 'ccflags'");
-
-{
-    my ($stdout, $rv);
-    $verbose = 1;
-    capture(
-        sub { $rv = auto::gettext::_handle_gettext($conf, $verbose); },
-        \$stdout,
-    );
-    ok($rv, "_handle_gettext() returned true value");
-    like($conf->data->get( 'ccflags' ), qr/-DHAS_GETTEXT/,
-        "HAS_GETTEXT was added to 'ccflags'");
-    like($stdout,
-        qr/ccflags:\s.*-DHAS_GETTEXT/,
-        "Got expected verbose output"
-    );
-}
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_gettext-01.t - test auto::gettext
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_gettext-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::gettext.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::auto::gettext, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_glibc-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_glibc-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,94 +0,0 @@
-#! perl
-# Copyright (C) 2008, Parrot Foundation.
-# $Id$
-# auto_glibc-01.t
-
-use strict;
-use warnings;
-use Test::More tests => 18;
-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::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-
-########## regular ##########
-
-my ($args, $step_list_ref) = process_options( {
-    argv            => [],
-    mode            => q{configure},
-} );
-
-my $conf = Parrot::Configure->new();
-
-test_step_thru_runstep($conf, q{init::defaults}, $args);
-
-my ($task, $step_name, $step, $ret);
-my $pkg = q{auto::glibc};
-
-$conf->add_steps($pkg);
-
-my $serialized = $conf->pcfreeze();
-
-$conf->options->set(%{$args});
-$step = test_step_constructor_and_description($conf);
-ok($step->runstep($conf), "runstep() returned true value");
-
-$conf->replenish($serialized);
-
-########## _evaluate_glibc() ##########
-
-$conf->options->set(%{$args});
-$step = test_step_constructor_and_description($conf);
-
-my $test = {};
-$test->{glibc} = 1;
-$step->_evaluate_glibc($conf, $test);
-is( $step->result(), q{yes}, "Got expected result" );
-is( $conf->data->get( 'glibc' ), 1, "Got expected value for 'glibc'" );
-
-$test->{glibc} = undef;
-$step->_evaluate_glibc($conf, $test);
-is( $step->result(), q{no}, "Got expected result" );
-ok( ! defined $conf->data->get( 'glibc' ),
-    "'glibc' undefined as expected" );
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_glibc-01.t - test auto::glibc
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_glibc-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::glibc.
-
-=head1 AUTHOR
-
-Jerry Gay
-
-=head1 SEE ALSO
-
-config::auto::glibc, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_gmp-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_gmp-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,306 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# auto_gmp-01.t
-
-use strict;
-use warnings;
-use Test::More tests =>  61;
-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::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
-    test_step_constructor_and_description
-);
-use IO::CaptureOutput qw( capture );
-
-=for hints_for_testing The documentation for this package is skimpy;
-please try to improve it, e.g., by providing a link to an introduction
-to the GNU MP library.
-
-=cut
-
-########### --without-gmp ###########
-
-my ($args, $step_list_ref) = process_options( {
-    argv => [ q{--without-gmp} ],
-    mode => q{configure},
-} );
-
-my $conf = Parrot::Configure->new;
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-
-my $pkg = q{auto::gmp};
-
-$conf->add_steps($pkg);
-
-my $serialized = $conf->pcfreeze();
-
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-my $ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
-is($conf->data->get('has_gmp'), 0,
-    "Got expected value for 'has_gmp'");
-is($step->result(), q{no}, "Expected result was set");
-
-$conf->replenish($serialized);
-
-########### _select_lib() ###########
-
-($args, $step_list_ref) = process_options( {
-    argv => [ ],
-    mode => q{configure},
-} );
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-# Mock values for OS and C-compiler
-my ($osname, $cc, $initial_value);
-$osname = 'mswin32';
-$cc = 'gcc';
-$initial_value = $conf->data->get( 'libs' );
-is($step->_select_lib( {
-    conf            => $conf,
-    osname          => $osname,
-    cc              => $cc,
-    win32_nongcc    => 'gmp.lib',
-    default         => '-lgmp',
-} ),
-   '-lgmp',
-   "_select_lib() returned expected value");
-
-$osname = 'mswin32';
-$cc = 'cc';
-is($step->_select_lib( {
-    conf            => $conf,
-    osname          => $osname,
-    cc              => $cc,
-    win32_nongcc    => 'gmp.lib',
-    default         => '-lgmp',
-} ),
-   'gmp.lib',
-   "_select_lib() returned expected value");
-
-$osname = 'foobar';
-$cc = undef;
-is($step->_select_lib( {
-    conf            => $conf,
-    osname          => $osname,
-    cc              => $cc,
-    win32_nongcc    => 'gmp.lib',
-    default         => '-lgmp',
-} ),
-   '-lgmp',
-   "_select_lib() returned expected value");
-
-########### _handle_darwin_for_fink() ###########
-
-my ($flagsbefore, $flagsafter);
-$osname = 'foobar';
-$flagsbefore = $conf->data->get( 'linkflags' );
-ok($step->_handle_darwin_for_fink($conf, $osname, 'gmp.h'),
-    "handle_darwin_for_fink() returned true value");
-$flagsafter = $conf->data->get( 'linkflags' );
-is($flagsbefore, $flagsafter, "No change in linkflags, as expected");
-
-my $cwd = cwd();
-{
-    my $tdir = tempdir( CLEANUP => 1 );
-    ok(chdir $tdir, "Able to change to temporary directory");
-    ok( (mkdir 'lib'), "Able to make lib directory");
-    ok( (mkdir 'include'), "Able to make include directory");
-    my $libdir = File::Spec->catdir( $tdir, 'lib' );
-    my $includedir = File::Spec->catdir( $tdir, 'include' );
-    $conf->data->set('fink_lib_dir' => $libdir);
-    $conf->data->set('fink_include_dir' => $includedir);
-    $osname = 'darwin';
-    $flagsbefore = $conf->data->get( 'linkflags' );
-    ok($step->_handle_darwin_for_fink($conf, $osname, 'gmp.h'),
-        "handle_darwin_for_fink() returned true value");
-    $flagsafter = $conf->data->get( 'linkflags' );
-    is($flagsbefore, $flagsafter, "No change in linkflags, as expected");
-
-    ok(chdir $cwd, "Able to change back to original directory after testing");
-}
-
-{
-    my $tdir2 = tempdir( CLEANUP => 1 );
-    ok(chdir $tdir2, "Able to change to temporary directory");
-    ok( (mkdir 'lib'), "Able to make lib directory");
-    ok( (mkdir 'include'), "Able to make include directory");
-    my $libdir = File::Spec->catdir( $tdir2, 'lib' );
-    my $includedir = File::Spec->catdir( $tdir2, 'include' );
-    $conf->data->set('fink_lib_dir' => $libdir);
-    $conf->data->set('fink_include_dir' => $includedir);
-    my $foo = File::Spec->catfile( $includedir, 'gmp.h' );
-    open my $FH, ">", $foo or croak "Could not open for writing";
-    print $FH "Hello world\n";
-    close $FH or croak "Could not close after writing";
-
-    $osname = 'darwin';
-    $flagsbefore = $conf->data->get( 'linkflags' );
-    ok($step->_handle_darwin_for_fink($conf, $osname, 'gmp.h'),
-        "handle_darwin_for_fink() returned true value");
-    $flagsafter = $conf->data->get( 'linkflags' );
-    isnt($flagsbefore, $flagsafter, "Change in linkflags, as expected");
-    like($conf->data->get( 'linkflags' ), qr/-L\Q$libdir\E/,
-        "'linkflags' modified as expected");
-
-    ok(chdir $cwd, "Able to change back to original directory after testing");
-}
-
-$conf->replenish($serialized);
-
-########### _evaluate_cc_run() ###########
-
-($args, $step_list_ref) = process_options( {
-    argv => [ ],
-    mode => q{configure},
-} );
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-
-my ($test, $has_gmp, $verbose);
-
-$test = $step->{cc_run_expected};
-$has_gmp = 0;
-$verbose = undef;
-$has_gmp = $step->_evaluate_cc_run($conf, $test, $has_gmp, $verbose);
-is($step->result, 'yes', "Got expected result");
-is($conf->data->get('gmp'), 'define', "Expected value set for 'gmp'");
-is($conf->data->get('HAS_GMP'), 1, "Expected value set for 'HAS_GMP'");
-# prepare for next test
-$conf->data->set('gmp' => undef);
-$conf->data->set('HAS_GMP' => undef);
-$step->set_result(undef);
-
-$test = '12345';
-$has_gmp = 0;
-$verbose = undef;
-$has_gmp = $step->_evaluate_cc_run($conf, $test, $has_gmp, $verbose);
-ok(! defined($step->result), "Result undefined as expected");
-is($has_gmp, 0, "gmp status unchanged");
-
-{
-    my $stdout;
-    $test = $step->{cc_run_expected};
-    $has_gmp = 0;
-    $verbose = 1;
-    capture(
-        sub { $has_gmp =
-            $step->_evaluate_cc_run($conf, $test, $has_gmp, $verbose); },
-        \$stdout,
-    );
-    is($step->result, 'yes', "Got expected result");
-    is($conf->data->get('gmp'), 'define', "Expected value set for 'gmp'");
-    is($conf->data->get('HAS_GMP'), 1, "Expected value set for 'HAS_GMP'");
-    like($stdout, qr/\(yes\)/, "Got expected verbose output");
-    # prepare for next test
-    $conf->data->set('gmp' => undef);
-    $conf->data->set('HAS_GMP' => undef);
-    $step->set_result(undef);
-}
-
-########### _handle_darwin_for_fink() ###########
-
-($args, $step_list_ref) = process_options( {
-    argv => [ ],
-    mode => q{configure},
-} );
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-# Mock values for OS
-$osname = 'darwin';
-$conf->data->set( 'linkflags'  => 'foobar' );
-$flagsbefore = $conf->data->get( 'linkflags' );
-$conf->data->set( fink_lib_dir  => undef );
-$conf->data->set( fink_include_dir  => undef );
-ok($step->_handle_darwin_for_fink($conf, $osname, 'gmp.h'),
-    "handle_darwin_for_fink() returned true value");
-$flagsafter = $conf->data->get( 'linkflags' );
-is($flagsbefore, $flagsafter, "No change in linkflags, as expected");
-
-$cwd = cwd();
-{
-    my $tdir = tempdir( CLEANUP => 1 );
-    ok(chdir $tdir, "Able to change to temporary directory");
-    ok( (mkdir 'lib'), "Able to make lib directory");
-#    ok( (mkdir 'include'), "Able to make include directory");
-    my $libdir = File::Spec->catdir( $tdir, 'lib' );
-    my $includedir = File::Spec->catdir( $tdir, 'include' );
-    $conf->data->set('fink_lib_dir' => $libdir);
-    $conf->data->set('fink_include_dir' => $includedir);
-    $osname = 'darwin';
-    $conf->data->set( 'linkflags'  => 'foobar' );
-    $flagsbefore = $conf->data->get( 'linkflags' );
-    ok($step->_handle_darwin_for_fink($conf, $osname, 'gmp.h'),
-        "handle_darwin_for_fink() returned true value");
-    $flagsafter = $conf->data->get( 'linkflags' );
-    is($flagsbefore, $flagsafter, "No change in linkflags, as expected");
-
-    ok(chdir $cwd, "Able to change back to original directory after testing");
-}
-
-{
-    my $tdir1 = tempdir( CLEANUP => 1 );
-    ok(chdir $tdir1, "Able to change to temporary directory");
-#    ok( (mkdir 'lib'), "Able to make lib directory");
-    ok( (mkdir 'include'), "Able to make include directory");
-    my $libdir = File::Spec->catdir( $tdir1, 'lib' );
-    my $includedir = File::Spec->catdir( $tdir1, 'include' );
-    $conf->data->set('fink_lib_dir' => $libdir);
-    $conf->data->set('fink_include_dir' => $includedir);
-    $osname = 'darwin';
-    $conf->data->set( 'linkflags'  => 'foobar' );
-    $flagsbefore = $conf->data->get( 'linkflags' );
-    ok($step->_handle_darwin_for_fink($conf, $osname, 'gmp.h'),
-        "handle_darwin_for_fink() returned true value");
-    $flagsafter = $conf->data->get( 'linkflags' );
-    is($flagsbefore, $flagsafter, "No change in linkflags, as expected");
-
-    ok(chdir $cwd, "Able to change back to original directory after testing");
-}
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_gmp-01.t - test auto::gmp
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_gmp-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::gmp.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::auto::gmp, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_headers-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_headers-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,132 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# auto_headers-01.t
-
-use strict;
-use warnings;
-use Test::More tests =>  30;
-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::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
-    test_step_constructor_and_description
-);
-use IO::CaptureOutput qw | capture |;
-
-########## regular ##########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [ ],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new;
-
-my $serialized = $conf->pcfreeze();
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-my $pkg = q{auto::headers};
-
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-
-my $ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
-is($step->result(), q{}, "Result is empty string as expected");
-
-$conf->replenish($serialized);
-
-########## --verbose ##########
-
-($args, $step_list_ref) = process_options(
-    {
-        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);
-{
-    my $rv;
-    my $stdout;
-    capture ( sub {$rv = $step->runstep($conf) }, \$stdout);
-    ok( $stdout, "verbose output captured" );
-    ok( $rv, "runstep() returned true value" );
-    is($step->result(), q{}, "Result is empty string as expected");
-}
-
-$conf->replenish($serialized);
-
-########## _set_from_Config(); _list_extra_headers() ##########
-
-($args, $step_list_ref) = process_options(
-    {
-        argv => [ ],
-        mode => q{configure},
-    }
-);
-
-rerun_defaults_for_testing($conf, $args );
-
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-
-auto::headers::_set_from_Config($conf);
-ok(! $conf->data->get('i_niin'), "Mapping made correctly");
-
-{
-    $conf->data->set_p5( OSNAME => "msys" );
-    my %extra_headers =
-        map {$_, 1} auto::headers::_list_extra_headers($conf);
-    ok($extra_headers{'sysmman.h'}, "Special header set for msys");
-    ok($extra_headers{'netdb.h'}, "Special header set for msys");
-}
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_headers-01.t - test auto::headers
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_headers-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::headers.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::auto::headers, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_icu-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_icu-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,723 +0,0 @@
-#! perl
-# Copyright (C) 2007-2008, Parrot Foundation.
-# $Id$
-# auto_icu-01.t
-
-use strict;
-use warnings;
-use Test::More tests => 136;
-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::icu');
-use Parrot::Configure;
-use Parrot::Configure::Options qw( process_options );
-use Parrot::Configure::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
-    test_step_constructor_and_description
-);
-use Parrot::Configure::Utils qw( capture_output );
-use IO::CaptureOutput qw( capture );
-
-########## --without-icu ##########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [ q{--without-icu}  ],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new;
-
-my $serialized = $conf->pcfreeze();
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-
-my $pkg = q{auto::icu};
-
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-my $ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
-
-is( $conf->data->get('has_icu'), 0,
-    "Got expected value for 'has_icu'" );
-is( $conf->data->get('icu_shared'), q{},
-    "Got expected value for 'icu_shared'" );
-is( $conf->data->get('icu_dir'), q{},
-    "Got expected value for 'icu_dir'" );
-is( $step->result(), 'not requested', "Got expected result" );
-$step->set_result(q{});  # prepare for subsequent tests
-
-########## _handle_icuconfig_opt() ##########
-
-# Test some internal routines
-my $icuconfig;
-my $phony = q{/path/to/icu-config};
-
-is($step->_handle_icuconfig_opt(undef), q{},
-    "Got expected value for icu-config");
-is($step->_handle_icuconfig_opt('none'), q{},
-    "Got expected value for icu-config");
-is($step->_handle_icuconfig_opt($phony), $phony,
-    "Got expected value for icu-config");
-
-########## _handle_search_for_icuconfig() ##########
-
-my ($autodetect, $without);
-
-($icuconfig, $autodetect, $without) =
-    $step->_handle_search_for_icu_config( {
-        icuconfig   => q{},
-        autodetect  => 1,
-        without     => 0,
-        verbose     => 0,
-        ret         => -1,
-} );
-ok(! defined $icuconfig, "icu-config not found, as expected");
-is($autodetect, 0, "Autodetection cancelled, as expected");
-is($without, 1, "Continuing to configure without ICU");
-
-($icuconfig, $autodetect, $without) =
-    $step->_handle_search_for_icu_config( {
-        icuconfig   => q{},
-        autodetect  => 1,
-        without     => 0,
-        verbose     => 0,
-        ret         => 256,
-} );
-ok(! defined $icuconfig, "icu-config not found, as expected");
-is($autodetect, 0, "Autodetection cancelled, as expected");
-is($without, 1, "Continuing to configure without ICU");
-
-($icuconfig, $autodetect, $without) =
-    $step->_handle_search_for_icu_config( {
-        icuconfig   => q{},
-        autodetect  => 1,
-        without     => 0,
-        verbose     => 0,
-        ret         => 0,
-} );
-is($icuconfig, q{icu-config}, "icu-config found, as expected");
-is($autodetect, 1, "Autodetection continues, as expected");
-is($without, 0, "Continuing to try to configure with ICU");
-
-{
-    my ($stdout, $stderr);
-    capture( sub {
-            ($icuconfig, $autodetect, $without) =
-                $step->_handle_search_for_icu_config( {
-                    icuconfig   => q{},
-                    autodetect  => 1,
-                    without     => 0,
-                    verbose     => 1,
-                    ret         => 0,
-            } );
-        },
-        \$stdout,
-        \$stderr,
-    );
-    is($icuconfig, q{icu-config}, "icu-config found, as expected");
-    is($autodetect, 1, "Autodetection continues, as expected");
-    is($without, 0, "Continuing to try to configure with ICU");
-    like($stdout, qr/icu-config found/,
-        "Got expected verbose output");
-}
-
-########## _handle_autodetect() ##########
-
-($icuconfig, $autodetect, $without) =
-    $step->_handle_autodetect( {
-        icuconfig   => $phony,
-        autodetect  => 1,
-        without     => 0,
-        verbose     => 0,
-} );
-is($icuconfig, $phony, "icu-config unchanged, as expected");
-is($autodetect, 1, "Autodetection still active, as expected");
-is($without, 0, "Continuing to try to configure with ICU");
-
-{
-    my ($stdout, $stderr);
-    capture( sub {
-        ($icuconfig, $autodetect, $without) =
-            $step->_handle_autodetect( {
-                icuconfig   => $phony,
-                autodetect  => 0,
-                without     => 0,
-                verbose     => 1,
-            } );
-        },
-        \$stdout,
-        \$stderr,
-    );
-    is($icuconfig, $phony, "icu-config unchanged, as expected");
-    is($autodetect, 0, "Autodetection still inactive, as expected");
-    is($without, 0, "Continuing to try to configure with ICU");
-    like($stdout, qr/ICU autodetection disabled/s,
-        "Got expected verbose output");
-}
-
-########## _handle_icushared() ##########
-
-my $icushared;
-
-$icushared = qq{-licui18n -lalpha\n};
-($icushared, $without) = $step->_handle_icushared($icushared, 0);
-like($icushared, qr/-lalpha/, "Got expected ld flags");
-is($without, 0, "Continuing to try to configure with ICU");
-
-$icushared = qq{-licui18n\n};
-($icushared, $without) = $step->_handle_icushared($icushared, 0);
-ok(! $icushared, "No icushared, as expected");
-is($without, 1, "No longer trying to configure with ICU");
-
-$icushared = undef;
-($icushared, $without) = $step->_handle_icushared($icushared, 0);
-ok(! defined $icushared, "icushared remains undefined, as expected");
-is($without, 0, "Continuing to try to configure with ICU");
-
-########## _handle_icuheaders() ##########
-
-my $icuheaders;
-($icuheaders, $without) =
-    $step->_handle_icuheaders($conf, undef, 0);
-ok(! defined $icuheaders, "icuheaders path undefined, as expected");
-is($without, 0, "Continuing to try to configure with ICU");
-
-my $cwd = cwd();
-{
-    my $tdir = tempdir( CLEANUP => 1 );
-    chdir $tdir or croak "Unable to change to temporary directory";
-    my $expected_dir = q{alpha};
-    my $expected_include_dir =
-        $expected_dir . $conf->data->get('slash') .  q{include};
-    ($icuheaders, $without) =
-        $step->_handle_icuheaders($conf, qq{$expected_dir\n}, 0);
-    is($icuheaders, $expected_include_dir,
-        "Got expected icuheaders path value");
-    is($without, 1, "No longer trying to configure with ICU");
-    chdir $cwd or croak "Unable to change back to starting directory";
-}
-
-{
-    my $tdir = tempdir( CLEANUP => 1 );
-    chdir $tdir or croak "Unable to change to temporary directory";
-    my $expected_dir = q{alpha};
-    my $expected_include_dir =
-        $expected_dir . $conf->data->get('slash') .  q{include};
-    mkdir $expected_dir or croak "Unable to make testing directory";
-    ($icuheaders, $without) =
-        $step->_handle_icuheaders($conf, qq{$expected_dir\n}, 0);
-    is($icuheaders, $expected_include_dir,
-        "Got expected icuheaders path value");
-    is($without, 1, "No longer trying to configure with ICU");
-    chdir $cwd or croak "Unable to change back to starting directory";
-}
-
-{
-    my $tdir = tempdir( CLEANUP => 1);
-    chdir $tdir or croak "Unable to change to temporary directory";
-    my $expected_dir = q{alpha};
-    my $expected_include_dir =
-        $expected_dir . $conf->data->get('slash') .  q{include};
-    mkdir $expected_dir or croak "Unable to make testing directory";
-    mkpath($expected_include_dir, { mode => 0755 })
-        or croak "Unable to make second-level testing directory";
-    ($icuheaders, $without) =
-        $step->_handle_icuheaders($conf, qq{$expected_dir\n}, 0);
-    is($icuheaders, $expected_include_dir,
-        "Got expected icuheaders path value");
-    is($without, 0, "Continuing to try to configure with ICU");
-    chdir $cwd or croak "Unable to change back to starting directory";
-}
-
-########## _try_icuconfig() ##########
-
-($without, $icushared, $icuheaders) =
-    $step->_try_icuconfig(
-        $conf,
-        {
-            without         => 1,
-            autodetect      => 1,
-            icuconfig       => 1,
-            verbose         => 0,
-        }
-    );
-is($without, 1, "Not trying to configure with ICU");
-ok(! defined $icushared, "icushared undefined, as expected");
-ok(! defined $icuheaders, "icuheaders undefined, as expected");
-is($step->result(), q{}, "result is still empty string, as expected");
-
-($without, $icushared, $icuheaders) =
-    $step->_try_icuconfig(
-        $conf,
-        {
-            without         => 0,
-            autodetect      => 0,
-            icuconfig       => 1,
-            verbose         => 0,
-        }
-    );
-is($without, 0, "Still trying to configure with ICU");
-ok(! defined $icushared, "icushared undefined, as expected");
-ok(! defined $icuheaders, "icuheaders undefined, as expected");
-is($step->result(), q{}, "result is still empty string, as expected");
-
-($without, $icushared, $icuheaders) =
-    $step->_try_icuconfig(
-        $conf,
-        {
-            without         => 0,
-            autodetect      => 1,
-            icuconfig       => q{},
-            verbose         => 0,
-        }
-    );
-is($without, 0, "Still trying to configure with ICU");
-ok(! defined $icushared, "icushared undefined, as expected");
-ok(! defined $icuheaders, "icuheaders undefined, as expected");
-is($step->result(), q{}, "result is still empty string, as expected");
-
-########## _verbose_report() ##########
-
-my $die = auto::icu::_die_message();
-like($die, qr/Something is wrong with your ICU installation/s,
-    "Got expected die message");
-
-{
-    my $phony = q{/path/to/icu-config};
-    my ($stdout, $stderr);
-    capture(
-        sub { auto::icu::_verbose_report(1, $phony, undef, undef); },
-        \$stdout,
-        \$stderr,
-    );
-    like( $stdout, qr/icuconfig:\s+$phony/s,
-        "Got expected verbose output"
-    );
-}
-
-{
-    my $phony = q{-lalpha};
-    my ($stdout, $stderr);
-    capture(
-        sub { auto::icu::_verbose_report(1, undef, $phony, undef); },
-        \$stdout,
-        \$stderr,
-    );
-    like( $stdout, qr/icushared='$phony'/s,
-        "Got expected verbose output"
-    );
-}
-
-{
-    my $phony = q{alpha/include};
-    my ($stdout, $stderr);
-    capture(
-        sub { auto::icu::_verbose_report(1, undef, undef, $phony); },
-        \$stdout,
-        \$stderr,
-    );
-    like( $stdout, qr/headers='$phony'/s,
-        "Got expected verbose output"
-    );
-}
-
-{
-    my ($stdout, $stderr);
-    capture(
-        sub { auto::icu::_verbose_report(0, 'alpha', 'beta', 'gamma'); },
-        \$stdout,
-        \$stderr,
-    );
-    ok(! $stdout, "No verbose output, as expected");
-}
-
-########## _handle_icuconfig_errors() ##########
-
-{
-    my ($stdout, $stderr);
-    capture(
-        sub {
-            $icuheaders = $step->_handle_icuconfig_errors( {
-                icushared   => undef,
-                icuheaders  => undef,
-            } );
-        },
-        \$stdout,
-        \$stderr,
-    );
-    like($stderr, qr/error: icushared not defined/s,
-        "Got expected warnings");
-    like($stderr, qr/error: icuheaders not defined or invalid/s,
-        "Got expected warnings");
-    like($stderr, qr/Something is wrong with your ICU installation/s,
-        "Got expected warnings");
-}
-
-########## _handle_ccflags_status() ##########
-
-$icuheaders = q{alpha};
-my $status = $conf->data->get( 'ccflags' );
-
-{
-    my ($stdout, $stderr);
-    capture(
-        sub {
-           auto::icu::_handle_ccflags_status($conf,
-               {
-                   ccflags_status  => 1,
-                   verbose         => 1,
-                   icuheaders      => $icuheaders,
-               },
-           );
-       },
-       \$stdout,
-       \$stderr,
-   );
-   like($stdout, qr/Your compiler found the icu headers/,
-       "Got expected verbose output");
-}
-$conf->data->set( ccflags => $status ); # re-set for next test
-
-{
-    my ($stdout, $stderr);
-    capture(
-        sub {
-           auto::icu::_handle_ccflags_status($conf,
-               {
-                   ccflags_status  => 0,
-                   verbose         => 1,
-                   icuheaders      => $icuheaders,
-               },
-           );
-       },
-       \$stdout,
-       \$stderr,
-   );
-
-   if ($icuheaders =~ /\s/) {
-       like($stdout, qr/Adding -I \"\Q$icuheaders\E\" to ccflags for icu headers/,
-           "Got expected verbose output");
-   }
-   else {
-       like($stdout, qr/Adding -I \Q$icuheaders\E to ccflags for icu headers/,
-           "Got expected verbose output");
-   }
-}
-if ($icuheaders =~ /\s/) {
-    like($conf->data->get( 'ccflags' ),
-        qr/-I \"\Q$icuheaders\E\"/,
-        "ccflags augmented as expected"
-    );
-}
-else {
-    like($conf->data->get( 'ccflags' ),
-        qr/-I \Q$icuheaders\E/,
-        "ccflags augmented as expected"
-    );
-}
-$conf->data->set( ccflags => $status ); # re-set for next test
-
-{
-    my ($stdout, $stderr);
-    capture(
-        sub {
-           auto::icu::_handle_ccflags_status($conf,
-               {
-                   ccflags_status  => 0,
-                   verbose         => 0,
-                   icuheaders      => $icuheaders,
-               },
-           );
-       },
-       \$stdout,
-       \$stderr,
-   );
-
-   ok(! $stdout, "No verbose output, as expected");
-}
-
-if ($icuheaders =~ /\s/) {
-    like($conf->data->get( 'ccflags'),
-        qr/-I \"\Q$icuheaders\E\"/,
-        "ccflags augmented as expected"
-    );
-}
-else {
-    like($conf->data->get( 'ccflags'),
-        qr/-I \Q$icuheaders\E/,
-        "ccflags augmented as expected"
-    );
-}
-$conf->data->set( ccflags => $status ); # re-set for next test
-
-########## _set_no_configure_with_icu() ##########
-
-$conf->data->set( 'has_icu', undef );
-$conf->data->set( 'icu_shared', undef );
-$conf->data->set( 'icu_dir', undef );
-my $result = q{hooray!};
-$step->_set_no_configure_with_icu($conf, $result);
-is($conf->data->get( 'has_icu' ), 0,
-    "Got expected value for 'has_icu'");
-is($conf->data->get( 'icu_shared' ), q{},
-    "Got expected value for 'icu_shared'");
-is($conf->data->get( 'icu_dir' ), q{},
-    "Got expected value for 'icu_dir'");
-is($step->{result}, $result, "Got expected result");
-# reset for next test
-$conf->data->set( 'has_icu', undef );
-$conf->data->set( 'icu_shared', undef );
-$conf->data->set( 'icu_dir', undef );
-
-$conf->replenish($serialized);
-
-########## --without-icu; --icu-config=none ##########
-
-($args, $step_list_ref) = process_options( {
-    argv => [ q{--without-icu}, q{--icu-config=none}  ],
-    mode => q{configure},
-} );
-rerun_defaults_for_testing($conf, $args );
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-$ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
-
-is( $conf->data->get('has_icu'), 0,
-    "Got expected value for 'has_icu'" );
-is( $conf->data->get('icu_shared'), q{},
-    "Got expected value for 'icu_shared'" );
-is( $conf->data->get('icu_dir'), q{},
-    "Got expected value for 'icu_dir'" );
-is( $step->result(), 'not requested', "Got expected result" );
-
-$conf->replenish($serialized);
-
-########## --icu-config=1; --icuheaders; --icushared ##########
-
-{
-    my ($stdout, $stderr, $ret);
-    eval { ($stdout, $stderr, $ret) =
-        capture_output( qw| icu-config --exists | ); };
-    SKIP: {
-        skip "icu-config not available", 9 if $stderr;
-        ($args, $step_list_ref) = process_options( {
-            argv => [
-                q{--icu-config=1},
-                q{--icuheaders=alpha},
-                q{--icushared=beta}
-            ],
-            mode => q{configure},
-        } );
-        rerun_defaults_for_testing($conf, $args );
-        $conf->add_steps($pkg);
-        $conf->options->set( %{$args} );
-        $step = test_step_constructor_and_description($conf);
-        {
-            my ($stdout, $stderr, $ret);
-            capture(
-                sub { $ret = $step->runstep($conf); },
-                \$stdout,
-                \$stderr,
-            );
-            ok(! defined $ret, "runstep() returned undefined value as expected");
-            like($stderr, qr/error: icuheaders not defined or invalid/s,
-                "Got expected warnings");
-            like($stderr, qr/Something is wrong with your ICU installation/s,
-                "Got expected warnings");
-        }
-    }
-}
-
-$conf->replenish($serialized);
-
-########## --verbose ##########
-
-($args, $step_list_ref) = process_options( {
-    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);
-$phony = q{phony};
-$step->{icuconfig_default} = $phony;
-
-{
-    my ($stdout, $stderr);
-    my $ret;
-    capture(
-        sub { $ret = $step->runstep($conf); },
-        \$stdout,
-        \$stderr,
-    );
-    ok( $ret, "runstep() returned true value" );
-    my $expected = q{no icu-config};
-    is($step->result(), $expected,
-        "Got expected return value: $expected");
-    like($stdout,
-        qr/Discovered $step->{icuconfig_default} --exists returns/s,
-        "Got expected verbose output re return value",
-    );
-    like($stdout,
-        qr/Could not locate an icu-config program/s,
-        "Got expected verbose output re inability to locate icu-config program",
-    );
-}
-$step->set_result( q{} );
-
-$conf->options->set( verbose => undef );
-{
-    my ($stdout, $stderr);
-    my $ret;
-    capture(
-        sub { $ret = $step->runstep($conf); },
-        \$stdout,
-        \$stderr,
-    );
-    ok( $ret, "runstep() returned true value" );
-    my $expected = q{no icu-config};
-    is($step->result(), $expected,
-        "Got expected return value: $expected");
-    ok(! $stdout, "No verbose output captured, as expected");
-}
-
-$conf->replenish($serialized);
-
-########## --icuheaders ##########
-
-{
-    my ($stdout, $stderr, $ret);
-    eval { ($stdout, $stderr, $ret) =
-        capture_output( qw| icu-config --exists | ); };
-    SKIP: {
-        skip "icu-config not available", 10 if $stderr;
-        ($args, $step_list_ref) = process_options(
-            {
-                argv => [ q{--icuheaders=alpha}, ],
-                mode => q{configure},
-            }
-        );
-
-        rerun_defaults_for_testing($conf, $args );
-        $conf->add_steps($pkg);
-        $conf->options->set( %{$args} );
-        $step = test_step_constructor_and_description($conf);
-
-        {
-            my ($stdout, $stderr, $ret);
-            capture(
-                sub { $ret = $step->runstep($conf); },
-                \$stdout,
-                \$stderr,
-            );
-            ok(! defined $ret, "runstep() returned undefined value as expected");
-            like($stderr, qr/error: icushared not defined/s,
-                "Got expected warnings");
-            like($stderr, qr/error: icuheaders not defined or invalid/s,
-                "Got expected warnings");
-            like($stderr, qr/Something is wrong with your ICU installation/s,
-                "Got expected warnings");
-        }
-    }
-}
-
-$conf->replenish($serialized);
-
-########## --verbose; _try_icuconfig() ##########
-
-{
-    my ($stdout, $stderr, $ret);
-    eval { ($stdout, $stderr, $ret) =
-        capture_output( qw| icu-config --exists | ); };
-    SKIP: {
-        skip "icu-config not available", 12 if $stderr;
-        ($args, $step_list_ref) = process_options( {
-            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);
-        {
-            my ($stdout, $stderr, $ret);
-            my $icuconfig;
-            my ($without, $icushared, $icuheaders);
-            capture(
-                sub {
-                    $icuconfig = $step->_handle_icuconfig_opt(1);
-                    ($without, $icushared, $icuheaders) = $step->_try_icuconfig(
-                        $conf,
-                        {
-                            without         => 0,
-                            autodetect      => 1,
-                            icuconfig       => $icuconfig,
-                            verbose         => 1,
-                        }
-                    );
-                },
-                \$stdout,
-                \$stderr,
-            );
-            like($stdout, qr/Trying $icuconfig with '--ldflags'/s,
-                "Got expected verbose output re --ldflags");
-            like($stdout, qr/icushared:  captured/s,
-                "Got expected verbose output re icushared");
-            like($stdout, qr/For icushared, found \Q$icushared\E and $without/s,
-                "Got expected verbose output re icushared");
-            like($stdout, qr/Trying $icuconfig with '--prefix'/s,
-                "Got expected verbose output re --prefix");
-            like($stdout, qr/icuheaders:  captured/s,
-                "Got expected verbose output re icuheaders");
-            like($stdout, qr/For icuheaders, found \Q$icuheaders\E and $without/s,
-                "Got expected verbose output re icuheaders");
-        }
-    }
-}
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_icu-01.t - test auto::icu
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_icu-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::icu.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::auto::icu, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_inline-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_inline-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,165 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# auto_inline-01.t
-
-use strict;
-use warnings;
-use Test::More tests =>  37;
-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::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
-    test_step_constructor_and_description
-);
-use IO::CaptureOutput qw( capture );
-
-########### regular  ###########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [ ],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new;
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-
-my $pkg = q{auto::inline};
-
-$conf->add_steps($pkg);
-
-my $serialized = $conf->pcfreeze();
-
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-
-my $ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
-
-$conf->replenish($serialized);
-
-########### --inline ###########
-
-($args, $step_list_ref) = process_options( {
-    argv => [ q{--inline} ],
-    mode => q{configure},
-} );
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-$ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
-
-$conf->replenish($serialized);
-
-########### _evaluate_inline() ###########
-
-($args, $step_list_ref) = process_options( {
-    argv => [ ],
-    mode => q{configure},
-} );
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-my $test = 1;
-ok($step->_evaluate_inline($conf, $test),
-    "_evaluate_inline() returned true value");
-is($step->result, q{yes}, "Got expected result");
-is($conf->data->get( 'inline' ), 1,
-    "'inline' attribute has expected value");;
-
-$conf->replenish($serialized);
-
-########### _evaluate_inline() ###########
-
-($args, $step_list_ref) = process_options( {
-    argv => [ ],
-    mode => q{configure},
-} );
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-$test = 0;
-ok($step->_evaluate_inline($conf, $test),
-    "_evaluate_inline() returned true value");
-is($step->result, q{no}, "Got expected result");
-is($conf->data->get( 'inline' ), q{},
-    "'inline' attribute has expected value");;
-
-$conf->replenish($serialized);
-
-########### _evaluate_inline(); --verbose ###########
-
-($args, $step_list_ref) = process_options( {
-    argv => [ q{--verbose} ],
-    mode => q{configure},
-} );
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-{
-    my $test = 1;
-    my $stdout;
-    my $ret = capture(
-        sub { $step->_evaluate_inline($conf, $test) },
-        \$stdout
-    );
-    ok($ret, "_evaluate_inline() returned true value");
-    is($step->result, q{yes}, "Got expected result");;
-    is($conf->data->get( 'inline' ), 1,
-        "'inline' attribute has expected value");
-}
-
-$conf->replenish($serialized);
-
-########### _second_probe_for_inline(); _evaluate_inline() ###########
-
-($args, $step_list_ref) = process_options( {
-    argv => [ ],
-    mode => q{configure},
-} );
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-$test = 0;
-$test = $step->_second_probe_for_inline($conf, $test);
-ok($step->_evaluate_inline($conf, $test),
-    "_evaluate_inline() returned true value");
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_inline-01.t - test auto::inline
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_inline-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::inline.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::auto::inline, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_isreg-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_isreg-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,116 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# auto_isreg-01.t
-
-use strict;
-use warnings;
-use Test::More tests => 23;
-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::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
-    test_step_constructor_and_description
-);
-use IO::CaptureOutput qw| capture |;
-
-########## regular ##########
-
-my ($args, $step_list_ref) = process_options( {
-    argv            => [],
-    mode            => q{configure},
-} );
-
-my $conf = Parrot::Configure->new();
-
-test_step_thru_runstep($conf, q{init::defaults}, $args);
-
-my $pkg = q{auto::isreg};
-
-$conf->add_steps($pkg);
-
-my $serialized = $conf->pcfreeze();
-
-$conf->options->set(%{$args});
-my $step = test_step_constructor_and_description($conf);
-ok($step->runstep($conf), "runstep() returned true value");
-
-$conf->replenish($serialized);
-
-########## _evaluate_isreg() ##########
-
-$conf->options->set(%{$args});
-$step = test_step_constructor_and_description($conf);
-{
-    my $anyerror;
-    my $stdout;
-    my $ret = capture(
-        sub { $step->_evaluate_isreg($conf, $anyerror) },
-        \$stdout
-    );
-    ok($ret, "_evaluate_isreg returned true value");
-    is($conf->data->get('isreg'), 1, "'isreg' set to true value as expected");
-    is($step->result, 'yes', "Got expected result");
-}
-
-$conf->replenish($serialized);
-
-########## _evaluate_isreg(); --verbose ##########
-
-($args, $step_list_ref) = process_options( {
-    argv            => [ q{--verbose} ],
-    mode            => q{configure},
-} );
-$conf->options->set(%{$args});
-$step = test_step_constructor_and_description($conf);
-{
-    my $anyerror = 1;
-    my $stdout;
-    my $ret = capture(
-        sub { $step->_evaluate_isreg($conf, $anyerror) },
-        \$stdout
-    );
-    ok($ret, "_evaluate_isreg returned true value");
-    is($conf->data->get('isreg'), 0, "'isreg' set to false value as expected");
-    is($step->result, 'no', "Got expected result");
-}
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_isreg-01.t - test auto::isreg
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_isreg-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::isreg.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::auto::isreg, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_jit-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_jit-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,396 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# auto_jit-01.t
-
-use strict;
-use warnings;
-use Test::More tests =>  51;
-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 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( {
-    argv => [ ],
-    mode => q{configure},
-} );
-
-my $conf = Parrot::Configure->new;
-
-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} );
-my $step = test_step_constructor_and_description($conf);
-
-########### _check_jitcapability() ###########
-
-my $cwd = cwd();
-{
-    my $tdir = tempdir( CLEANUP => 1 );
-    chdir $tdir or croak "Unable to change to temporary directory";
-    my $jitbase = 'foo';
-    my $cpuarch = 'bar';
-    my $osname = 'baz';
-    my $corejitdir = File::Spec->catdir ( $jitbase, $cpuarch );
-    mkpath( $corejitdir, { mode => 0755 } ) or croak "Unable to make testing directory";
-    my $corejit = File::Spec->catfile( $jitbase, $cpuarch, q{core.jit} );
-    is( $step->_check_jitcapability($corejit, $cpuarch, $osname, 8), 0,
-        "Got expected value for _check_jitcapability(): no core.jit case");
-
-    chdir $cwd or croak "Unable to change back to starting directory";
-}
-
-{
-    my $tdir = tempdir( CLEANUP => 1 );
-    chdir $tdir or croak "Unable to change to temporary directory";
-    my $jitbase = 'foo';
-    my $cpuarch = 'bar';
-    my $osname = 'baz';
-    my $corejitdir = File::Spec->catdir ( $jitbase, $cpuarch );
-    mkpath( $corejitdir, { mode => 0755 } ) or croak "Unable to make testing directory";
-    my $corejit = File::Spec->catfile( $jitbase, $cpuarch, q{core.jit} );
-    open my $FH, '>', $corejit
-        or croak "Unable to open handle to file for testing";
-    print $FH qq{Hello, JIT\n};
-    close $FH or croak "Unable to close handle to file for testing";
-    is( $step->_check_jitcapability($corejit, $cpuarch, $osname, 8), 0,
-        "Got expected value for _check_jitcapability(): no JIT on this architecture case");
-
-    chdir $cwd or croak "Unable to change back to starting directory";
-}
-
-{
-    my $tdir = tempdir( CLEANUP => 1 );
-    chdir $tdir or croak "Unable to change to temporary directory";
-    my $jitbase = 'foo';
-    my $cpuarch = 'bar';
-    my $osname = 'baz';
-    my $corejitdir = File::Spec->catdir ( $jitbase, $cpuarch );
-    mkpath( $corejitdir, { mode => 0755 } ) or croak "Unable to make testing directory";
-    my $corejit = File::Spec->catfile( $jitbase, $cpuarch, q{core.jit} );
-    open my $FH, '>', $corejit
-        or croak "Unable to open handle to file for testing";
-    print $FH qq{Hello, JIT\n};
-    close $FH or croak "Unable to close handle to file for testing";
-    my $orig = $step->{jit_is_working};
-    $step->{jit_is_working} = { $cpuarch => 1 };
-    is( $step->_check_jitcapability($corejit, $cpuarch, $osname, 8), 1,
-        "Got expected value for _check_jitcapability(): mock JIT case");
-    $step->{jit_is_working} = $orig;
-
-    chdir $cwd or croak "Unable to change back to starting directory";
-}
-
-{
-    my $tdir = tempdir( CLEANUP => 1 );
-    chdir $tdir or croak "Unable to change to temporary directory";
-    my $jitbase = 'foo';
-    my $cpuarch = 'i386';
-    my $osname = 'darwin';
-    my $corejitdir = File::Spec->catdir ( $jitbase, $cpuarch );
-    mkpath( $corejitdir, { mode => 0755 } ) or croak "Unable to make testing directory";
-    my $corejit = File::Spec->catfile( $jitbase, $cpuarch, q{core.jit} );
-    open my $FH, '>', $corejit
-        or croak "Unable to open handle to file for testing";
-    print $FH qq{Hello, JIT\n};
-    close $FH or croak "Unable to close handle to file for testing";
-    my $orig = $step->{jit_is_working};
-    $step->{jit_is_working} = { $cpuarch => 1 };
-    is( $step->_check_jitcapability($corejit, $cpuarch, $osname, 8), 0,
-        "Got expected value for _check_jitcapability(): mock darwin-i386 case");
-    $step->{jit_is_working} = $orig;
-
-    chdir $cwd or croak "Unable to change back to starting directory";
-}
-
-{
-    my $tdir = tempdir( CLEANUP => 1 );
-    chdir $tdir or croak "Unable to change to temporary directory";
-    my $jitbase = 'foo';
-    my $cpuarch = 'i386';
-    my $osname = 'MSWin32';
-    my $corejitdir = File::Spec->catdir ( $jitbase, $cpuarch );
-    mkpath( $corejitdir, { mode => 0755 } ) or croak "Unable to make testing directory";
-    my $corejit = File::Spec->catfile( $jitbase, $cpuarch, q{core.jit} );
-    open my $FH, '>', $corejit
-        or croak "Unable to open handle to file for testing";
-    print $FH qq{Hello, JIT\n};
-    close $FH or croak "Unable to close handle to file for testing";
-    my $orig = $step->{jit_is_working};
-    $step->{jit_is_working} = { $cpuarch => 1 };
-    is( $step->_check_jitcapability($corejit, $cpuarch, $osname, 4), 0,
-        "Got expected value for _check_jitcapability(): mock single-float");
-    $step->{jit_is_working} = $orig;
-
-    chdir $cwd or croak "Unable to change back to starting directory";
-}
-
-########### _handle_asm() ###########
-
-{
-    my $tdir = tempdir( CLEANUP => 1 );
-    chdir $tdir or croak "Unable to change to temporary directory";
-    my $jitbase = 'foo';
-    my $cpuarch = 'bar';
-    my $jitarchname = "${cpuarch}-baz";
-    my $asmdir = File::Spec->catdir( $jitbase, $cpuarch );
-    mkpath( $asmdir, { mode => 0755 } ) or croak "Unable to make testing directory";
-    mkpath( q{src}, { mode => 0755 } ) or croak "Unable to make testing directory";
-
-    ok(auto::jit::_handle_asm( {
-        conf        => $conf,
-        jitbase     => $jitbase,
-        cpuarch     => $cpuarch,
-        jitarchname => $jitarchname,
-    } ), "_handle_asm() returned successfully");
-    is( $conf->data->get( 'asmfun_o' ), q{},
-        "Got expected value for asmfun_o: no asm case");
-    $conf->data->set( asmfun_o => undef ); # reset for next test
-
-    chdir $cwd or croak "Unable to change back to starting directory";
-}
-
-{
-    my $tdir = tempdir( CLEANUP => 1 );
-    chdir $tdir or croak "Unable to change to temporary directory";
-    my $jitbase = 'foo';
-    my $cpuarch = 'bar';
-    my $jitarchname = "${cpuarch}-baz";
-    my $asmdir = File::Spec->catdir( $jitbase, $cpuarch );
-    mkpath( $asmdir, { mode => 0755 } ) or croak "Unable to make testing directory";
-    mkpath( q{src}, { mode => 0755 } ) or croak "Unable to make testing directory";
-
-    my $sjit =
-        File::Spec->catfile( $jitbase, $cpuarch, qq{${jitarchname}.s} );
-    open my $FH, '>', $sjit
-        or croak "Unable to open handle to file for testing";
-    print $FH qq{Hello, JIT\n};
-    close $FH or croak "Unable to close handle to file for testing";
-
-    ok(auto::jit::_handle_asm( {
-        conf        => $conf,
-        jitbase     => $jitbase,
-        cpuarch     => $cpuarch,
-        jitarchname => $jitarchname,
-    } ), "_handle_asm() returned successfully");
-    is( $conf->data->get( 'asmfun_o' ), q{src/asmfun$(O)},
-        "Got expected value for asmfun_o: sjit case");
-    $conf->data->set( asmfun_o => undef ); # reset for next test
-
-    chdir $cwd or croak "Unable to change back to starting directory";
-}
-
-{
-    my $tdir = tempdir( CLEANUP => 1 );
-    chdir $tdir or croak "Unable to change to temporary directory";
-    my $jitbase = 'foo';
-    my $cpuarch = 'bar';
-    my $jitarchname = "${cpuarch}-baz";
-    my $asmdir = File::Spec->catdir( $jitbase, $cpuarch );
-    mkpath( $asmdir, { mode => 0755 } ) or croak "Unable to make testing directory";
-    mkpath( q{src}, { mode => 0755 } ) or croak "Unable to make testing directory";
-    my $asm = File::Spec->catfile( $jitbase, $cpuarch, q{asm.s} );
-    open my $FH, '>', $asm
-        or croak "Unable to open handle to file for testing";
-    print $FH qq{Hello, JIT\n};
-    close $FH or croak "Unable to close handle to file for testing";
-
-    ok(auto::jit::_handle_asm( {
-        conf        => $conf,
-        jitbase     => $jitbase,
-        cpuarch     => $cpuarch,
-        jitarchname => $jitarchname,
-    } ), "_handle_asm() returned successfully");
-    is( $conf->data->get( 'asmfun_o' ), q{src/asmfun$(O)},
-        "Got expected value for asmfun_o: asm case");
-    $conf->data->set( asmfun_o => undef ); # reset for next test
-
-    chdir $cwd or croak "Unable to change back to starting directory";
-}
-
-########### _first_probe_for_exec() ###########
-
-is(  $step->_first_probe_for_exec( 'i386', 'foobar' ), 0,
-    "Got expected value for _first_probe_for_exec");
-is(  $step->_first_probe_for_exec( 'i386', 'openbsd' ), 1,
-    "Got expected value for _first_probe_for_exec");
-is(  $step->_first_probe_for_exec( 'foobar', 'openbsd' ), 0,
-    "Got expected value for _first_probe_for_exec");
-
-########### _handle_execcapable() ###########
-
-if (! defined $conf->data->get('cpuarch') ) {
-    $conf->data->set('cpuarch' => 1)
-}
-
-ok(auto::jit::_handle_execcapable($conf, 1),
-    "_handle_execcapable() returned true value");
-is($conf->data->get('execcapable'), 1,
-    "Got expected value for execcapable");
-# prepare for next test
-$conf->data->set('execcapable' => undef);
-
-ok(auto::jit::_handle_execcapable($conf, 0),
-    "_handle_execcapable() returned true value");
-is($conf->data->get('execcapable'), 0,
-    "Got expected value for execcapable");
-$conf->data->set('execcapable' => undef);
-
-########### _handle_exec_protect() ###########
-
-$conf->data->set( has_exec_protect => undef );
-auto::jit::_handle_exec_protect($conf, 0, 0);
-ok( ! defined $conf->data->get( 'has_exec_protect'),
-    "'has_exec_protect' undefined, as expected");
-
-auto::jit::_handle_exec_protect($conf, 1, 0);
-is( $conf->data->get( 'has_exec_protect'), 1,
-    "Got expected value for 'has_exec_protect'");
-$conf->data->set( has_exec_protect => undef );
-
-{
-    my ($stdout, $stderr);
-    capture(
-        sub { auto::jit::_handle_exec_protect($conf, 0, 1); },
-        \$stdout,
-        \$stderr,
-    );
-    ok( ! defined $conf->data->get( 'has_exec_protect'),
-        "'has_exec_protect' undefined, as expected");
-    like($stdout, qr/no\)/, "Got expected verbose output");
-    $conf->data->set( has_exec_protect => undef );
-}
-
-{
-    my ($stdout, $stderr);
-    capture(
-        sub { auto::jit::_handle_exec_protect($conf, 1, 1); },
-        \$stdout,
-        \$stderr,
-    );
-    is( $conf->data->get( 'has_exec_protect'), 1,
-        "Got expected value for 'has_exec_protect'");
-    like($stdout, qr/yes\)/, "Got expected verbose output");
-    $conf->data->set( has_exec_protect => undef );
-}
-
-$conf->replenish($serialized);
-
-($args, $step_list_ref) = process_options( {
-    argv => [ q{--jitcapable=0}, 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);
-
-# Mock some values so that we can get to the point inside runstep() where the
-# command-line option for jitcapable is relevant.
-
-$cwd = cwd();
-{
-    my $tdir = tempdir( CLEANUP => 1 );
-    chdir $tdir or croak "Unable to change to temporary directory";
-    my $jitbase = 'foo';
-    my $cpuarch = 'i386';
-    my $osname = 'darwin';
-    my $corejitdir = File::Spec->catdir ( $jitbase, $cpuarch );
-    mkpath( $corejitdir, { mode => 0755 } ) or croak "Unable to make testing directory";
-    my $corejit = File::Spec->catfile( $jitbase, $cpuarch, q{core.jit} );
-    open my $FH, '>', $corejit
-        or croak "Unable to open handle to file for testing";
-    print $FH qq{Hello, JIT\n};
-    close $FH or croak "Unable to close handle to file for testing";
-    my $orig = $step->{jit_is_working};
-    $step->{jit_is_working} = { $cpuarch => 1 };
-    $conf->data->set( cpuarch => $cpuarch );
-    $conf->data->set( osname => $osname );
-    {
-        my ($stdout, $stderr, $ret);
-        capture(
-            sub { $ret = $step->runstep($conf); },
-            \$stdout,
-            \$stderr,
-        );
-        ok( $ret, "runstep() returned true value" );
-        like($stdout, qr/yes|no/s, "Got expected verbose output");
-    }
-    $step->{jit_is_working} = $orig;
-    $conf->data->set( cpuarch => undef );
-    $conf->data->set( osname => undef );
-
-    is( $conf->data->get( 'jitarchname' ), 'nojit',
-        "Got expected value for jitarchname");
-    is( $conf->data->get( 'jitcapable' ), 0,
-        "Got expected value for jitcapable");
-    is( $conf->data->get( 'execcapable' ), 0,
-        "Got expected value for execcapable");
-    is( $conf->data->get( 'cc_hasjit' ), '',
-        "Got expected value for cc_hasjit");
-    is( $conf->data->get( 'TEMP_jit_o' ), '',
-        "Got expected value for TEMP_jit_o");
-    is( $conf->data->get( 'TEMP_exec_h' ), '',
-        "Got expected value for TEMP_exec_h");
-    is( $conf->data->get( 'TEMP_exec_o' ), '',
-        "Got expected value for TEMP_exec_o");
-    is( $conf->data->get( 'TEMP_exec_dep' ), '',
-        "Got expected value for TEMP_exec_dep");
-    is( $step->result(), 'no',
-        "Got expected result for no JIT");
-
-    chdir $cwd or croak "Unable to change back to starting directory";
-}
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_jit-01.t - test auto::jit
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_jit-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::jit.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::auto::jit, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_macports-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_macports-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,226 +0,0 @@
-#! perl
-# Copyright (C) 2007-2009, Parrot Foundation.
-# $Id$
-# auto_macports-01.t
-
-use strict;
-use warnings;
-use Test::More;
-use Carp;
-use Cwd;
-use File::Spec;
-use File::Temp qw( tempdir );
-use lib qw( lib t/configure/testlib );
-
-plan( skip_all => 'Macports is Darwin only' ) unless $^O =~ /darwin/;
-plan( tests    => 52 );
-
-use_ok('config::init::defaults');
-use_ok('config::auto::macports');
-use Parrot::Configure;
-use Parrot::Configure::Options qw( process_options );
-use Parrot::Configure::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-use IO::CaptureOutput qw( capture );
-
-########## not Darwin ##########
-
-my ($args, $step_list_ref) = process_options( {
-    argv            => [],
-    mode            => q{configure},
-} );
-
-my $conf = Parrot::Configure->new();
-
-test_step_thru_runstep($conf, q{init::defaults}, $args);
-
-my $pkg = q{auto::macports};
-
-$conf->add_steps($pkg);
-
-my $serialized = $conf->pcfreeze();
-
-$conf->options->set(%{$args});
-my $step = test_step_constructor_and_description($conf);
-
-# mock not Darwin
-$conf->data->set_p5( 'OSNAME' => 'foobar' );
-ok($step->runstep($conf), "runstep() returned true value");
-is($step->result(), q{skipped}, "Got expected result for non-Darwin OS");
-
-$conf->replenish($serialized);
-
-########## Darwin but no Macports ##########
-
-($args, $step_list_ref) = process_options( {
-    argv            => [],
-    mode            => q{configure},
-} );
-$conf->options->set(%{$args});
-$step = test_step_constructor_and_description($conf);
-
-# mock no Macports-default directories
-$step->{ports_root} = File::Spec->catdir( qw( / my ridiculous foobar ) );
-ok($step->runstep($conf), "runstep() returned true value");
-is($step->result(), 'no', "Got expected result");
-
-$conf->replenish($serialized);
-
-########## Darwin with Macports ##########
-
-($args, $step_list_ref) = process_options( {
-    argv            => [],
-    mode            => q{configure},
-} );
-$conf->options->set(%{$args});
-$step = test_step_constructor_and_description($conf);
-my $cwd = cwd();
-
-my $tdir = tempdir( CLEANUP => 1 );
-$step->{ports_root} = $tdir;
-ok(chdir $tdir, "Able to change to temporary directory");
-ok( (mkdir 'lib'), "Able to make lib directory");
-ok( (mkdir 'include'), "Able to make include directory");
-
-ok($step->runstep($conf), "runstep() returned true value");
-is($step->result(), q{yes}, "Got expected result");
-
-is($conf->data->get('ports_base_dir'), $tdir,
-    "ports base directory set as expected");
-is($conf->data->get('ports_lib_dir'), qq{$tdir/lib},
-    "ports 'lib' directory set as expected");
-is($conf->data->get('ports_include_dir'), qq{$tdir/include},
-    "ports 'include' directory set as expected");
-
-ok(chdir $cwd, "Able to change back to original directory after testing");
-
-$conf->replenish($serialized);
-
-########## not Darwin; --verbose ##########
-
-($args, $step_list_ref) = process_options( {
-    argv            => [ q{--verbose} ],
-    mode            => q{configure},
-} );
-$conf->options->set(%{$args});
-$step = test_step_constructor_and_description($conf);
-# mock not Darwin
-my $osname = 'foobar';
-$conf->data->set_p5( 'OSNAME' => $osname );
-{
-    my ($stdout, $stderr);
-    my $ret = capture sub { $step->runstep($conf) }, \$stdout, \$stderr;
-    ok($ret, "runstep() returned true value");
-    is($step->result(), q{skipped}, "Got expected result for non-Darwin OS");
-    like(
-        $stdout,
-        qr/^Operating system is $osname; Macports is Darwin only/,
-        "Got expected verbose output"
-    );
-}
-
-$conf->replenish($serialized);
-
-########## Darwin; --verbose; no Macports ##########
-
-($args, $step_list_ref) = process_options( {
-    argv            => [ q{--verbose} ],
-    mode            => q{configure},
-} );
-$conf->options->set(%{$args});
-$step = test_step_constructor_and_description($conf);
-# mock no Macports-default directories
-$step->{ports_root} = File::Spec->catdir( qw( / my ridiculous foobar ) );
-SKIP: {
-    skip 'Macports is Darwin only', 3 unless $^O =~ /darwin/;
-    my ($stdout, $stderr);
-    my $ret = capture sub { $step->runstep($conf) }, \$stdout, \$stderr;
-    ok($ret, "runstep() returned true value");
-    is($step->result(), 'no', "Got expected result");
-    like(
-        $stdout,
-        qr/^Could not locate Macports directories/,
-        "Got expected verbose output"
-    );
-}
-$step->{ports_root} = undef; # prepare for next test
-
-$conf->replenish($serialized);
-
-########## Darwin; defective Macports ##########
-
-($args, $step_list_ref) = process_options( {
-    argv            => [ ],
-    mode            => q{configure},
-} );
-$conf->options->set(%{$args});
-$step = test_step_constructor_and_description($conf);
-# mock no Macports root directory
-SKIP: {
-    skip 'Macports is Darwin only', 2 unless $^O =~ /darwin/;
-    $step->{ports_root} = undef;
-    ok($step->runstep($conf), "runstep() returned true value");
-    is($step->result(), 'no', "Got expected result");
-}
-
-$conf->replenish($serialized);
-
-########## Darwin; --verbose; defective Macports ##########
-
-($args, $step_list_ref) = process_options( {
-    argv            => [ q{--verbose} ],
-    mode            => q{configure},
-} );
-$conf->options->set(%{$args});
-$step = test_step_constructor_and_description($conf);
-# mock no Macports root directory
-$step->{ports_root} = undef;
-
-my ($stdout, $stderr);
-my $ret = capture sub { $step->runstep($conf) }, \$stdout, \$stderr;
-ok($ret, "runstep() returned true value");
-is($step->result(), 'no', "Got expected result");
-like(
-    $stdout,
-    qr/^Could not locate Macports root directory/,
-    "Got expected verbose output"
-);
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_macports-01.t - test auto::macports
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_macports-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::macports.  Some tests run only on Darwin.
-Others simulate what happens on operating systems other than Darwin.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::auto::macports, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:
-

Deleted: branches/darwinhints/t/steps/auto_macports-02.t
==============================================================================
--- branches/darwinhints/t/steps/auto_macports-02.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,77 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# auto_macports-02.t
-
-use strict;
-use warnings;
-use Test::More;
-plan( skip_all => 'Macports is Darwin only' ) unless $^O =~ /darwin/;
-plan( tests => 12 );
-use Carp;
-use lib qw( lib t/configure/testlib );
-use_ok('config::init::defaults');
-$ENV{TEST_MACPORTS} = 'foobar';
-use_ok('config::auto::macports');
-
-use Parrot::Configure;
-use Parrot::Configure::Options qw( process_options );
-use Parrot::Configure::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-
-my ($args, $step_list_ref) = process_options( {
-    argv            => [],
-    mode            => q{configure},
-} );
-
-my $conf = Parrot::Configure->new();
-
-test_step_thru_runstep($conf, q{init::defaults}, $args);
-
-my $pkg = q{auto::macports};
-
-$conf->add_steps($pkg);
-$conf->options->set(%{$args});
-my $step = test_step_constructor_and_description($conf);
-
-# mock no Macports-default directories
-ok($step->runstep($conf), "runstep() returned true value");
-is($step->result(), 'no', "Got expected result");
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_macports-02.t - test auto::macports
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_macports-02.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::macports.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::auto::macports, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:
-

Deleted: branches/darwinhints/t/steps/auto_memalign-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_memalign-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,275 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# auto_memalign-01.t
-
-use strict;
-use warnings;
-use Test::More tests => 69;
-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::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
-    test_step_constructor_and_description
-);
-use IO::CaptureOutput qw| capture |;
-
-########### regular ###########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [ ],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new;
-
-my $serialized = $conf->pcfreeze();
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-
-my $pkg = q{auto::memalign};
-
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-$conf->data->set( memalign => 'memalign');
-my $ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
-is($step->result(), q{already set}, "Expected result was set");
-is($conf->data->get('memalign'),
-    q{memalign},
-    "memalign set as expected"
-);
-
-$conf->replenish($serialized);
-
-########### _set_malloc_header()  ###########
-
-($args, $step_list_ref) = process_options(
-    {
-        argv => [ ],
-        mode => q{configure},
-    }
-);
-rerun_defaults_for_testing($conf, $args );
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-{
-    $conf->data->set('i_malloc' => 1);
-    ok(auto::memalign::_set_malloc_header($conf),
-        "_set_malloc_header() returned true value");
-    is($conf->data->get( 'malloc_header' ), 'malloc.h',
-        "malloc_header has expected value");
-    $conf->data->set('i_malloc' => undef); # reset for next test
-}
-
-{
-    $conf->data->set('i_malloc' => 0);
-    ok(auto::memalign::_set_malloc_header($conf),
-        "_set_malloc_header() returned true value");
-    is($conf->data->get( 'malloc_header' ), 'stdlib.h',
-        "malloc_header has expected value");
-    $conf->data->set('i_malloc' => undef); # reset for next test
-}
-
-########### _set_ptrcast()  ###########
-
-{
-    $conf->data->set('ptrsize' => 2);
-    $conf->data->set('intsize' => 2);
-    ok(auto::memalign::_set_ptrcast($conf),
-        "_set_ptrcast() returned true value");
-    is($conf->data->get( 'ptrcast' ), 'int',
-        "ptrcast has expected value");
-    # reset for next test
-    $conf->data->set('ptrsize' => undef);
-    $conf->data->set('intsize' => undef);
-}
-
-{
-    $conf->data->set('ptrsize' => 2);
-    $conf->data->set('intsize' => 4);
-    ok(auto::memalign::_set_ptrcast($conf),
-        "_set_ptrcast() returned true value");
-    is($conf->data->get( 'ptrcast' ), 'long',
-        "ptrcast has expected value");
-    # reset for next test
-    $conf->data->set('ptrsize' => undef);
-    $conf->data->set('intsize' => undef);
-}
-
-########### _set_memalign()  ###########
-
-{
-    $conf->data->set( malloc_header => 'malloc.h' );
-    ok($step->_set_memalign($conf, 1, 1),
-        "_set_memalign() returned true value");
-    ok(! defined $conf->data->get( 'malloc_header' ),
-        "malloc_header now undef as expected");
-    is($conf->data->get( 'memalign' ), 'posix_memalign',
-        "Got expected value for memalign");
-    is($step->result(), q{yes}, "Got expected result");
-}
-
-{
-    $conf->data->set( malloc_header => 'malloc.h' );
-    ok($step->_set_memalign($conf, 1, 0),
-        "_set_memalign() returned true value");
-    ok(! defined $conf->data->get( 'malloc_header' ),
-        "malloc_header now undef as expected");
-    is($conf->data->get( 'memalign' ), 'memalign',
-        "Got expected value for memalign");
-    is($step->result(), q{yes}, "Got expected result");
-}
-
-{
-    $conf->data->set( malloc_header => 'malloc.h' );
-    ok($step->_set_memalign($conf, 0, 1),
-        "_set_memalign() returned true value");
-    ok(! defined $conf->data->get( 'malloc_header' ),
-        "malloc_header now undef as expected");
-    is($conf->data->get( 'memalign' ), 'posix_memalign',
-        "Got expected value for memalign");
-    is($step->result(), q{no}, "Got expected result");
-}
-
-{
-    $conf->data->set( malloc_header => 'malloc.h' );
-    ok($step->_set_memalign($conf, 0, 0),
-        "_set_memalign() returned true value");
-    ok(! defined $conf->data->get( 'malloc_header' ),
-        "malloc_header now undef as expected");
-    is($conf->data->get( 'memalign' ), '',
-        "Got expected value (empty string) for memalign");
-    is($step->result(), q{no}, "Got expected result");
-}
-
-$conf->replenish($serialized);
-
-########### --verbose; _set_memalign() ###########
-
-($args, $step_list_ref) = process_options(
-    {
-        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);
-{
-    $conf->data->set( malloc_header => 'malloc.h' );
-    my ($rv, $stdout, $expected);
-    $expected = 'posix_memalign';
-    capture(
-        sub { $rv = $step->_set_memalign($conf, 1, 1); },
-        \$stdout,
-    );
-    ok($rv, "_set_memalign() returned true value");
-    ok(! defined $conf->data->get( 'malloc_header' ),
-        "malloc_header now undef as expected");
-    is($conf->data->get( 'memalign' ), $expected,
-        "Got expected value for memalign");
-    is($step->result(), q{yes}, "Got expected result");
-    like($stdout, qr/Yep:$expected/,
-        "Got expected verbose output");
-}
-
-{
-    $conf->data->set( malloc_header => 'malloc.h' );
-    my ($rv, $stdout, $expected);
-    $expected = 'memalign';
-    capture(
-        sub { $rv = $step->_set_memalign($conf, 1, 0); },
-        \$stdout,
-    );
-    ok($rv, "_set_memalign() returned true value");
-    ok(! defined $conf->data->get( 'malloc_header' ),
-        "malloc_header now undef as expected");
-    is($conf->data->get( 'memalign' ), $expected,
-        "Got expected value for memalign");
-    is($step->result(), q{yes}, "Got expected result");
-    like($stdout, qr/Yep:$expected/,
-        "Got expected verbose output");
-}
-
-{
-    $conf->data->set( malloc_header => 'malloc.h' );
-    my ($rv, $stdout, $expected);
-    $expected = 'posix_memalign';
-    capture(
-        sub { $rv = $step->_set_memalign($conf, 0, 1); },
-        \$stdout,
-    );
-    ok($rv, "_set_memalign() returned true value");
-    ok(! defined $conf->data->get( 'malloc_header' ),
-        "malloc_header now undef as expected");
-    is($conf->data->get( 'memalign' ), $expected,
-        "Got expected value for memalign");
-    is($step->result(), q{no}, "Got expected result");
-    like($stdout, qr/no/,
-        "Got expected verbose output");
-}
-
-{
-    $conf->data->set( malloc_header => 'malloc.h' );
-    my ($rv, $stdout, $expected);
-    $expected = '';
-    capture(
-        sub { $rv = $step->_set_memalign($conf, 0, 0); },
-        \$stdout,
-    );
-    ok($rv, "_set_memalign() returned true value");
-    ok(! defined $conf->data->get( 'malloc_header' ),
-        "malloc_header now undef as expected");
-    is($conf->data->get( 'memalign' ), $expected,
-        "Got expected value (empty string) for memalign");
-    is($step->result(), q{no}, "Got expected result");
-    like($stdout, qr/no/,
-        "Got expected verbose output");
-}
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_memalign-01.t - test auto::memalign
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_memalign-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test subroutines exported by
-config::auto::memalign.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::auto::memalign, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_msvc-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_msvc-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,202 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# auto_msvc-01.t
-
-use strict;
-use warnings;
-use Test::More tests => 43;
-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::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-use IO::CaptureOutput qw| capture |;
-
-########## Win32 ##########
-
-my ($args, $step_list_ref) = process_options( {
-    argv            => [],
-    mode            => q{configure},
-} );
-
-my $conf = Parrot::Configure->new();
-
-test_step_thru_runstep($conf, q{init::defaults}, $args);
-
-my $pkg = q{auto::msvc};
-
-$conf->add_steps($pkg);
-
-my $serialized = $conf->pcfreeze();
-
-$conf->options->set(%{$args});
-my $step = test_step_constructor_and_description($conf);
-SKIP: {
-    skip 'MSVC is Windows only', 1 unless $^O =~ /Win32/i;
-    ok($step->runstep($conf), "runstep() returned true value");
-}
-
-$conf->replenish($serialized);
-
-########## _evaluate_msvc() ##########
-
-($args, $step_list_ref) = process_options( {
-    argv            => [],
-    mode            => q{configure},
-} );
-$conf->options->set(%{$args});
-$step = test_step_constructor_and_description($conf);
-my $msvcref = { _MSC_VER => 1399 };
-ok($step->_evaluate_msvc($conf, $msvcref),
-    "_evaluate_msvc returned true value");
-is($step->result, 'yes, 13.99', "Got expected result");
-is($conf->data->get('msvcversion'), '13.99',
-    "Got expected msvc version string");
-
-$conf->replenish($serialized);
-
-########## _evaluate_msvc() ##########
-
-($args, $step_list_ref) = process_options( {
-    argv            => [],
-    mode            => q{configure},
-} );
-$conf->options->set(%{$args});
-$step = test_step_constructor_and_description($conf);
-$msvcref = { _MSC_VER => 1400 };
-ok($step->_evaluate_msvc($conf, $msvcref),
-    "_evaluate_msvc returned true value");
-is($step->result, 'yes, 14.0', "Got expected result");
-is($conf->data->get('msvcversion'), '14.0',
-    "Got expected msvc version string");
-like(
-    $conf->data->get('ccflags'),
-    qr/\-D_CRT_SECURE_NO_DEPRECATE/,
-    "ccflags appropriately adjusted given MSVC version"
-);
-
-$conf->replenish($serialized);
-
-########## _handle_not_msvc() ##########
-
-($args, $step_list_ref) = process_options( {
-    argv            => [],
-    mode            => q{configure},
-} );
-$conf->options->set(%{$args});
-$step = test_step_constructor_and_description($conf);
-
-my ($status, $major, $minor, $verbose);
-
-$major = 13;
-$minor = 99;
-$verbose = undef;
-$status = $step->_handle_not_msvc($conf, $major, $minor, $verbose);
-ok(! defined $status, 'sub return value, as expected, not yet set');
-ok(! $step->result(), 'result, as expected, not yet set');
-
-$major = 13;
-$minor = undef;
-$verbose = undef;
-$status = $step->_handle_not_msvc($conf, $major, $minor, $verbose);
-ok($status, 'sub return value, as expected, set to true value');
-is($step->result(), q{no}, 'Got expected result');
-ok(! defined ($conf->data->get( 'msvcversion' )),
-    'msvcversion is undef, as expected');
-
-$major = undef;
-$minor = 99;
-$verbose = undef;
-$status = $step->_handle_not_msvc($conf, $major, $minor, $verbose);
-ok($status, 'sub return value, as expected, set to true value');
-is($step->result(), q{no}, 'Got expected result');
-ok(! defined ($conf->data->get( 'msvcversion' )),
-    'msvcversion is undef, as expected');
-
-{
-    my $stdout;
-    $major = undef;
-    $minor = undef;
-    $verbose = 1;
-    capture(
-        sub { $status =
-            $step->_handle_not_msvc($conf, $major, $minor, $verbose); },
-        \$stdout,
-    );
-    ok($status, 'sub return value, as expected, set to true value');
-    is($step->result(), q{no}, 'Got expected result');
-    ok(! defined ($conf->data->get( 'msvcversion' )),
-        'msvcversion is undef, as expected');
-    like($stdout, qr/\(no\)/, "Got expected verbose output");
-    # Prepare for the next test.
-    $step->set_result(undef);
-}
-
-########## _compose_msvcversion() ##########
-
-my $msvcversion;
-
-$major = 13;
-$minor = 99;
-$verbose = undef;
-$msvcversion = $step->_compose_msvcversion($major, $minor, $verbose);
-is($msvcversion, '13.99', "Got expected MSVC version");
-is($step->result(), 'yes, 13.99', "Got expected result");
-$step->set_result(undef);
-
-{
-    my $stdout;
-    $major = 13;
-    $minor = 99;
-    $verbose = 1;
-    capture(
-        sub { $msvcversion =
-            $step->_compose_msvcversion($major, $minor, $verbose); },
-        \$stdout,
-    );
-    is($msvcversion, '13.99', "Got expected MSVC version");
-    is($step->result(), 'yes, 13.99', "Got expected result");
-    $step->set_result(undef);
-}
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_msvc-01.t - test auto::msvc
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_msvc-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::msvc.  Some tests run only if the system is
-Win32.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::auto::msvc, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_neg_0-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_neg_0-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,165 +0,0 @@
-#! perl
-# Copyright (C) 2009, Parrot Foundation.
-# $Id$
-# auto_neg_0-01.t
-
-use strict;
-use warnings;
-
-use Test::More tests => 31;
-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::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
-    test_step_constructor_and_description
-);
-use IO::CaptureOutput 'capture';
-
-########### regular ###########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [ ],
-        mode => 'configure',
-    }
-);
-
-my $conf = Parrot::Configure->new;
-
-test_step_thru_runstep( $conf, 'init::defaults', $args );
-my $pkg = 'auto::neg_0';
-
-$conf->add_steps($pkg);
-
-my $serialized = $conf->pcfreeze();
-
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-my $ret = $step->runstep($conf);
-ok( $ret, 'runstep() returned true value' );
-ok( defined $step->result(), 'A result has been defined');
-
-$conf->replenish($serialized);
-
-##### _evaluate_cc_run() #####
-
-($args, $step_list_ref) = process_options(
-    {
-        argv => [ ],
-        mode => 'configure',
-    }
-);
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-
-my $d_neg_0;
-my $orig_has_neg_0 = 0;
-my $verbose = $conf->data->get('verbose');
-
-$d_neg_0 = '-0';
-
-is( $step->_evaluate_cc_run($conf, $d_neg_0, $orig_has_neg_0, $verbose),
-    1,
-    '_evaluate_cc_run() completed satisfactorily' );
-
-is( $step->result(), 'yes', 'Got expected result');
-
-$d_neg_0 = '0';
-
-is( $step->_evaluate_cc_run($conf, $d_neg_0, $orig_has_neg_0, $verbose),
-    0,
-    '_evaluate_cc_run() completed satisfactorily' );
-is( $step->result(), 'no', 'Got expected result' );
-
-$conf->replenish($serialized);
-
-########## --verbose; _evaluate_cc_run() ##########
-
-($args, $step_list_ref) = process_options( {
-    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);
-
-$verbose = $conf->options->get('verbose');
-my $has_neg_0;
-
-$d_neg_0 = '-0';
-{
-    my ($stdout, $stderr);
-    capture(
-        sub {
-            $has_neg_0 = $step->_evaluate_cc_run(
-                $conf, $d_neg_0, $orig_has_neg_0, $verbose
-            ),
-        },
-        \$stdout,
-    );
-    is( $has_neg_0, 1,
-        'Got expected return value from _evaluate_cc_run()' );
-    is( $step->result(), 'yes', 'Got expected result: yes' );
-    like( $stdout, qr/\(yes\)/, 'Got expected verbose output' );
-}
-
-$d_neg_0 = '0';
-{
-    my ($stdout, $stderr);
-    capture(
-        sub {
-            $has_neg_0 = $step->_evaluate_cc_run(
-                $conf, $d_neg_0, $orig_has_neg_0, $verbose
-            ),
-        },
-        \$stdout,
-    );
-    is( $has_neg_0, 0,
-        'Got expected return value from _evaluate_cc_run()' );
-    is( $step->result(), 'no', 'Got expected result: no' );
-    like( $stdout, qr/\(no\)/, 'Got expected verbose output' );
-}
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_neg_0-01.t - test auto::neg_0
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_neg_0-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::neg_0.
-
-=head1 AUTHOR
-
-Reini Urban
-
-=head1 SEE ALSO
-
-config::auto::neg_0, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_opengl-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_opengl-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,238 +0,0 @@
-#! perl
-# Copyright (C) 2007-2008, Parrot Foundation.
-# $Id$
-# auto_opengl-01.t
-
-use strict;
-use warnings;
-use Test::More tests => 43;
-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::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
-    test_step_constructor_and_description
-);
-use IO::CaptureOutput qw| capture |;
-
-########## --without-opengl ##########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [ q{--without-opengl} ],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new;
-
-my $serialized = $conf->pcfreeze();
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-
-my $pkg = q{auto::opengl};
-
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-ok( $step->runstep($conf), "runstep() returned true value");
-is( $step->result(), 'no', "Got expected result" );
-is( $conf->data->get( 'has_opengl' ), 0,
-    "Got expected value for 'has_opengl'");
-
-$conf->replenish($serialized);
-
-########## _select_lib() ##########
-
-($args, $step_list_ref) = process_options(
-    {
-        argv => [ ],
-        mode => q{configure},
-    }
-);
-rerun_defaults_for_testing($conf, $args );
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-
-# Mock OS/C-compiler combinations
-my ($osname, $cc, $initial_libs);
-$initial_libs = $conf->data->get('libs');
-$osname = 'mswin32';
-$cc = 'gcc';
-is($step->_select_lib( {
-    conf            => $conf,
-    osname          => $osname,
-    cc              => $cc,
-    win32_gcc       => '-lglut32 -lglu32 -lopengl32',
-    win32_nongcc    => 'glut.lib glu.lib gl.lib',
-    darwin          => '-framework OpenGL -framework GLUT',
-    default         => '-lglut -lGLU -lGL',
-} ),
-    '-lglut32 -lglu32 -lopengl32',
-   "_select_lib() returned expected value");
-
-$osname = 'mswin32';
-$cc = 'cc';
-$initial_libs = $conf->data->get('libs');
-is($step->_select_lib( {
-    conf            => $conf,
-    osname          => $osname,
-    cc              => $cc,
-    win32_gcc       => '-lglut32 -lglu32 -lopengl32',
-    win32_nongcc    => 'glut.lib glu.lib gl.lib',
-    darwin          => '-framework OpenGL -framework GLUT',
-    default         => '-lglut -lGLU -lGL',
-} ),
-   'glut.lib glu.lib gl.lib',
-   "_select_lib() returned expected value");
-
-$osname = 'darwin';
-$cc = 'cc';
-$initial_libs = $conf->data->get('libs');
-is($step->_select_lib( {
-    conf            => $conf,
-    osname          => $osname,
-    cc              => $cc,
-    win32_gcc       => '-lglut32 -lglu32 -lopengl32',
-    win32_nongcc    => 'glut.lib glu.lib gl.lib',
-    darwin          => '-framework OpenGL -framework GLUT',
-    default         => '-lglut -lGLU -lGL',
-} ),
-   '-framework OpenGL -framework GLUT',
-   "_select_lib() returned expected value");
-
-$osname = 'foobar';
-$cc = 'cc';
-$initial_libs = $conf->data->get('libs');
-is($step->_select_lib( {
-    conf            => $conf,
-    osname          => $osname,
-    cc              => $cc,
-    win32_gcc       => '-lglut32 -lglu32 -lopengl32',
-    win32_nongcc    => 'glut.lib glu.lib gl.lib',
-    darwin          => '-framework OpenGL -framework GLUT',
-    default         => '-lglut -lGLU -lGL',
-} ),
-   '-lglut -lGLU -lGL',
-   "_select_lib() returned expected value");
-
-$conf->replenish($serialized);
-
-########## --verbose; _evaluate_cc_run() ##########
-
-($args, $step_list_ref) = process_options(
-    {
-        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);
-
-my @try = qw( 4 freeglut );
-my $test = qq{$try[0] $try[1]\n};
-
-{
-    my ($stdout, $stderr);
-    my ($glut_api_version, $glut_brand);
-    capture(
-        sub { ($glut_api_version, $glut_brand) = $step->_evaluate_cc_run(
-            $test,
-            0,
-        ); },
-        \$stdout,
-        \$stderr,
-    );
-    is( $glut_api_version, $try[0],
-        "Got first expected return value for _evaluate_cc_run()." );
-    is( $glut_brand, $try[1],
-        "Got first expected return value for _evaluate_cc_run()." );
-    ok(! $stdout, "Nothing captured on STDOUT, as expected");
-}
-
-{
-    my ($stdout, $stderr);
-    my ($glut_api_version, $glut_brand);
-    capture(
-        sub { ($glut_api_version, $glut_brand) = $step->_evaluate_cc_run(
-            $test,
-            $conf->options->get( 'verbose' )
-        ); },
-        \$stdout,
-        \$stderr,
-    );
-    is( $glut_api_version, $try[0],
-        "Got first expected return value for _evaluate_cc_run()." );
-    is( $glut_brand, $try[1],
-        "Got first expected return value for _evaluate_cc_run()." );
-    like(
-        $stdout,
-        qr/yes, $glut_brand API version $glut_api_version/,
-        "Got expected verbose output for _evaluate_cc_run()"
-    );
-}
-
-########## _handle_glut() ##########
-
-{
-    my $glut_api_version = '4';
-    my $glut_brand = 'freeglut';
-    ok(auto::opengl::_handle_glut( $conf, 'lib', $glut_api_version, $glut_brand ),
-        "_handle_glut() returned true value");
-    is( $conf->data->get( 'opengl' ),  'define',
-        "Got expected value for opengl");
-    is( $conf->data->get( 'has_opengl' ),  1,
-        "Got expected value for has_opengl");
-    is( $conf->data->get( 'HAS_OPENGL' ),  1,
-        "Got expected value for HAS_OPENGL");
-    is( $conf->data->get( 'glut' ),  'define',
-        "Got expected value for glut");
-    is( $conf->data->get( 'glut_brand' ),  $glut_brand,
-        "Got expected value for glut_brand");
-    is( $conf->data->get( 'has_glut' ),  $glut_api_version,
-        "Got expected value for has_glut");
-    is( $conf->data->get( 'HAS_GLUT' ),  $glut_api_version,
-        "Got expected value for HAS_GLUT");
-}
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-  auto_opengl-01.t - test auto::opengl
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_opengl-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test configuration step class auto::opengl.
-
-=head1 AUTHOR
-
-Geoffrey Broadwell; modified from a similar file by James E Keenan
-
-=head1 SEE ALSO
-
-config::auto::opengl, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_ops-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_ops-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,77 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# auto_ops-01.t
-
-use strict;
-use warnings;
-use Test::More tests =>  6;
-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::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-
-########## ops ##########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [ q{--ops=alpha} ],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new;
-
-my $pkg = q{auto::ops};
-
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-
-$conf->options->set('ops' => 'alpha');
-{
-    open STDOUT, '>', "/dev/null" or croak "Unable to open to myout";
-    my $ret = $step->runstep($conf);
-    close STDOUT or croak "Unable to close after myout";
-    ok( $ret, "runstep() returned true value" );
-}
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_ops-01.t - test auto::ops
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_ops-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::ops.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::auto::ops, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_pcre-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_pcre-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,180 +0,0 @@
-#! perl
-# Copyright (C) 2007-2008, Parrot Foundation.
-# $Id$
-# auto_pcre-01.t
-
-use strict;
-use warnings;
-use Test::More tests => 34;
-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::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
-    test_step_constructor_and_description
-);
-use IO::CaptureOutput qw| capture |;
-
-########## --without-pcre ##########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [ q{--without-pcre} ],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new;
-
-my $serialized = $conf->pcfreeze();
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-
-my $pkg = q{auto::pcre};
-
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-ok( $step->runstep($conf), "runstep() returned true value");
-is( $step->result(), 'no', "Got expected result" );
-is( $conf->data->get( 'HAS_PCRE' ), 0,
-    "Got expected value for 'HAS_PCRE'");
-
-$conf->replenish($serialized);
-
-########## _select_lib() ##########
-
-($args, $step_list_ref) = process_options( {
-    argv => [ ],
-    mode => q{configure},
-} );
-rerun_defaults_for_testing($conf, $args );
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-
-# Mock values for OS and C-compiler
-my ($osname, $cc, $initial_value);
-
-$osname = 'mswin32';
-$cc = 'gcc';
-$initial_value = $conf->data->get( 'libs' );
-is($step->_select_lib( {
-    conf            => $conf,
-    osname          => $osname,
-    cc              => $cc,
-    win32_nongcc    => 'pcre.lib',
-    default         => '-lpcre',
-} ),
-   '-lpcre',
-   "_select_lib() returned expected value");
-
-$osname = 'mswin32';
-$cc = 'cc';
-$initial_value = $conf->data->get( 'libs' );
-is($step->_select_lib( {
-    conf            => $conf,
-    osname          => $osname,
-    cc              => $cc,
-    win32_nongcc    => 'pcre.lib',
-    default         => '-lpcre',
-} ),
-   'pcre.lib',
-   "_select_lib() returned expected value");
-
-$osname = 'foobar';
-$cc = 'gcc';
-$initial_value = $conf->data->get( 'libs' );
-is($step->_select_lib( {
-    conf            => $conf,
-    osname          => $osname,
-    cc              => $cc,
-    win32_nongcc    => 'pcre.lib',
-    default         => '-lpcre',
-} ),
-   '-lpcre',
-   "_select_lib() returned expected value");
-
-########## _evaluate_cc_run() ##########
-
-# Mock different outcomes of _evaluate_cc_run
-my ($test, $has_pcre);
-my $verbose = $conf->options->get('verbose');
-
-$test = q{pcre foobar};
-ok(! $step->_evaluate_cc_run($test, $verbose),
-    "Got expected setting for HAS_PCRE");
-
-$test = q{pcre 4.1};
-ok($step->_evaluate_cc_run($test, $verbose),
-    "_evaluate_cc_run returned true value as expected");
-is($step->result(), q{yes, 4.1}, "Got expected PCRE version");
-
-$conf->replenish($serialized);
-
-########## --verbose; _evaluate_cc_run() ##########
-
-($args, $step_list_ref) = process_options( {
-    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);
-
-# Mock different outcomes of _evaluate_cc_run
-$verbose = $conf->options->get('verbose');
-
-$test = q{pcre 4.0};
-{
-    my ($stdout, $stderr);
-    capture(
-        sub {
-            $has_pcre = $step->_evaluate_cc_run($test, $verbose);
-        },
-        \$stdout,
-    );
-    ok($has_pcre, "_evaluate_cc_run returned true value as expected");
-    is($step->result(), q{yes, 4.0}, "Got expected PCRE version");
-    like($stdout, qr/\(yes, 4\.0\)/, "Got expected verbose output");
-}
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-  auto_pcre-01.t - test auto::pcre
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_pcre-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test configuration step class auto::pcre.
-
-=head1 AUTHOR
-
-Alberto SimÃes.
-
-=head1 SEE ALSO
-
-config::auto::pcre, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_perldoc-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_perldoc-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,140 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# auto_perldoc-01.t
-
-use strict;
-use warnings;
-use Test::More tests => 32;
-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::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
-    test_step_constructor_and_description
-);
-use IO::CaptureOutput qw| capture |;
-
-########## regular ##########
-
-my ($args, $step_list_ref) = process_options( {
-    argv            => [],
-    mode            => q{configure},
-} );
-
-my $conf = Parrot::Configure->new();
-
-test_step_thru_runstep($conf, q{init::defaults}, $args);
-
-my $pkg = q{auto::perldoc};
-
-$conf->add_steps($pkg);
-
-my $serialized = $conf->pcfreeze();
-
-$conf->options->set(%{$args});
-my $step = test_step_constructor_and_description($conf);
-ok($step->runstep($conf), "runstep() completed successfully");
-ok(defined($step->result), "Result was defined");
-my $has = $conf->data->get('has_perldoc');
-ok( ( ($has == 1) or ($has == 0) ),
-    "Got an acceptable value for 'has_perldoc'");
-my $new = $conf->data->get('new_perldoc');
-ok( ( ($new == 1) or ($new == 0) ),
-    "Got an acceptable value for 'new_perldoc'");
-
-$conf->replenish($serialized);
-
-########## _initial_content_check() ##########
-
-my $content = undef;
-my $rv = $step->_initial_content_check($conf, $content);
-ok(! defined $rv, "Got expected return value when content was undefined");
-is($step->result(),
-    q{no}, "Got expected result when content was undefined");
-
-########## _handle_version() ##########
-
-my $version;
-$version = 0;
-ok(auto::perldoc::_handle_version($conf, $version, 'not_a_path'),
-    "_handle_version() returned true value");
-is($conf->data->get('has_perldoc'), 0,
-    "Got expected value for 'has_perldoc'");
-is($conf->data->get('new_perldoc'), 0,
-    "Got expected value for 'new_perldoc'");
-is($conf->data->get('perldoc'), 'echo',
-    "... and expected 'perldoc' path");
-
-$version = 1;
-ok(auto::perldoc::_handle_version($conf, $version, 'path_to_pd'),
-    "_handle_version() returned true value");
-is($conf->data->get('has_perldoc'), 1,
-    "Got expected value for 'has_perldoc'");
-is($conf->data->get('new_perldoc'), 0,
-    "Got expected value for 'new_perldoc'");
-is($conf->data->get('perldoc'), 'path_to_pd',
-    "... and expected 'perldoc' path");
-
-$version = 2;
-ok(auto::perldoc::_handle_version($conf, $version, 'another_path_to_pd'),
-    "_handle_version() returned true value");
-is($conf->data->get('has_perldoc'), 1,
-    "Got expected value for 'has_perldoc'");
-is($conf->data->get('new_perldoc'), 1,
-    "Got expected value for 'new_perldoc'");
-is($conf->data->get('perldoc'), 'another_path_to_pd',
-    "... and expected 'perldoc' path");
-
-########## _handle_old_perldoc() ##########
-
-$version = $step->_handle_old_perldoc();
-is($version, 1, "Got expected version setting for old perldoc");
-is($step->result(), q{yes, old version},
-    "Got expected result when old perldoc");
-
-########## _handle_no_perldoc() ##########
-
-$version = $step->_handle_no_perldoc();
-is($version, 0, "Got expected version setting for no perldoc");
-is($step->result(), q{failed}, "Got expected result when no perldoc");
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_perldoc-01.t - test auto::perldoc
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_perldoc-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::perldoc.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::auto::perldoc, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_pmc-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_pmc-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,177 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# auto_pmc-01.t
-
-use strict;
-use warnings;
-use Test::More tests =>  28;
-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::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-
-########## regular ##########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [ ],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new;
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-
-my $pkg = q{auto::pmc};
-
-$conf->add_steps($pkg);
-
-my $serialized = $conf->pcfreeze();
-
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-
-my $ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
-
-$conf->replenish($serialized);
-
-########## contains_pccmethod()  ##########
-
-($args, $step_list_ref) = process_options(
-    {
-        argv => [ ],
-        mode => q{configure},
-    }
-);
-
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-my $cwd = cwd();
-{
-    my $tdir = tempdir( CLEANUP => 1 );
-    ok( chdir $tdir, 'changed to temp directory for testing' );
-
-    my $pmc_with_PCCMETHOD = q{yes.pmc};
-    open my $IN1, ">", $pmc_with_PCCMETHOD
-        or croak "Unable to open file for writing: $!";
-    print $IN1 "PCCMETHOD\n";
-    close $IN1 or croak "Unable to close file after writing: $!";
-    ok(auto::pmc::contains_pccmethod($pmc_with_PCCMETHOD),
-        "Internal subroutine contains_pccmethod returns true as expected");
-
-    my $pmc_sans_PCCMETHOD = q{no.pmc};
-    open my $IN2, ">", $pmc_sans_PCCMETHOD
-        or croak "Unable to open file for writing: $!";
-    print $IN2 "Hello world\n";
-    close $IN2 or croak "Unable to close file after writing: $!";
-    ok( !  defined (
-            auto::pmc::contains_pccmethod($pmc_sans_PCCMETHOD)
-        ), "Internal subroutine contains_pccmethod returns true as expected"
-    );
-
-    my $file = 'foobar';
-    eval { auto::pmc::contains_pccmethod($file); };
-    like($@, qr/Can't read '$file'/, "Got expected 'die' message"); #'
-
-    ok( chdir $cwd, 'changed back to original directory after testing' );
-}
-
-########## get_pmc_order()  ##########
-
-{
-    my $tdir = tempdir( CLEANUP => 1 );
-    ok( chdir $tdir, 'changed to temp directory for testing' );
-
-    my $pmcdir = qq{$tdir/src/pmc};
-    ok(mkpath($pmcdir, { mode => 0755 }), "Able to make directory for testing");
-    my $num = qq{$pmcdir/pmc.num};
-    open my $IN3, ">", $num or croak "Unable to open file for writing: $!";
-    print $IN3 "# comment line\n";
-    print $IN3 "\n";
-    print $IN3 "default.pmc\t0\n";
-    print $IN3 "null.pmc    1\n";
-    print $IN3 "env.pmc 2\n";
-    print $IN3 "notapmc 3\n";
-    close $IN3 or croak "Unable to close file after writing: $!";
-    my $order_ref = auto::pmc::get_pmc_order();
-    is_deeply(
-        $order_ref,
-        {
-            'default.pmc' => 0,
-            'null.pmc' => 1,
-            'env.pmc' => 2,
-        },
-        "Able to read src/pmc/pmc.num correctly"
-    );
-
-    my @pmcs = qw| env.pmc default.pmc null.pmc other.pmc |;
-    my @sorted_pmcs = auto::pmc::sort_pmcs(@pmcs);
-    is_deeply(
-        \@sorted_pmcs,
-        [ qw| default.pmc null.pmc env.pmc other.pmc | ],
-        "PMCs sorted correctly"
-    );
-
-    ok( chdir $cwd, 'changed back to original directory after testing' );
-}
-
-{
-    my $tdir = tempdir( CLEANUP => 1 );
-    ok( chdir $tdir, 'changed to temp directory for testing' );
-
-    my $pmcdir = qq{$tdir/src/pmc};
-    ok(mkpath($pmcdir, { mode => 0755 }), "Able to make directory for testing");
-    eval { my $order_ref = auto::pmc::get_pmc_order(); };
-    like($@,
-        qr/Can't read src\/pmc\/pmc\.num/, "Got expected 'die' message");
-#'
-
-    ok( chdir $cwd, 'changed back to original directory after testing' );
-}
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_pmc-01.t - test auto::pmc
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_pmc-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::pmc.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::auto::pmc, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_pod2man-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_pod2man-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,87 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# auto_pod2man-01.t
-
-use strict;
-use warnings;
-use Test::More tests => 15;
-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::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
-    test_step_constructor_and_description
-);
-use IO::CaptureOutput qw| capture |;
-
-########## regular ##########
-
-my ($args, $step_list_ref) = process_options( {
-    argv            => [],
-    mode            => q{configure},
-} );
-
-my $conf = Parrot::Configure->new();
-
-test_step_thru_runstep($conf, q{init::defaults}, $args);
-
-my $pkg = q{auto::pod2man};
-
-$conf->add_steps($pkg);
-
-my $serialized = $conf->pcfreeze();
-
-$conf->options->set(%{$args});
-my $step = test_step_constructor_and_description($conf);
-ok($step->runstep($conf), "runstep() completed successfully");
-ok(defined($step->result), "Result was defined");
-my $has = $conf->data->get('has_pod2man');
-ok( ( ($has == 1) or ($has == 0) ),
-    "Got an acceptable value for 'has_pod2man'");
-
-$conf->replenish($serialized);
-
-########## _initial_content_check() ##########
-
-my $content = undef;
-my $rv = $step->_initial_content_check($conf, $content);
-ok(! defined $rv, "Got expected return value when content was undefined");
-is($step->result(),
-    q{no}, "Got expected result when content was undefined");
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_pod2man-01.t - test auto::pod2man
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_pod2man-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::pod2man.
-
-=head1 SEE ALSO
-
-config::auto::pod2man, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_readline-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_readline-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,343 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# auto_readline-01.t
-
-use strict;
-use warnings;
-use Test::More tests => 69;
-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::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-use IO::CaptureOutput qw | capture |;
-
-########## _select_lib() ##########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [ ],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new;
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-
-my $pkg = q{auto::readline};
-
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-
-# Mock values for OS and C-compiler
-my ($osname, $cc);
-$osname = 'mswin32';
-$cc = 'gcc';
-is($step->_select_lib( {
-    conf            => $conf,
-    osname          => $osname,
-    cc              => $cc,
-    win32_nongcc    => 'readline.lib',
-    default         => '-lreadline',
-} ),
-   '-lreadline',
-   "_select_lib() returned expected value");
-
-$osname = 'mswin32';
-$cc = 'cc';
-is($step->_select_lib( {
-    conf            => $conf,
-    osname          => $osname,
-    cc              => $cc,
-    win32_nongcc    => 'readline.lib',
-    default         => '-lreadline',
-} ),
-   'readline.lib',
-   "_select_lib() returned expected value");
-
-$osname = 'foobar';
-$cc = undef;
-is($step->_select_lib( {
-    conf            => $conf,
-    osname          => $osname,
-    cc              => $cc,
-    win32_nongcc    => 'readline.lib',
-    default         => '-lreadline',
-} ),
-   '-lreadline',
-   "_select_lib() returned true value");
-
-$osname = 'foobar';
-$cc = undef;
-eval {
-    $step->_select_lib( [
-        conf            => $conf,
-        osname          => $osname,
-        cc              => $cc,
-        win32_nongcc    => 'readline.lib',
-        default         => '-lreadline',
-    ] );
-};
-like($@, qr/_select_lib\(\) takes hashref/,
-    "Bad argument to _select_lib correctly detected");
-
-########## _handle_darwin_for_fink() ##########
-
-my ($flagsbefore, $flagsafter);
-
-$osname = 'foobar';
-$flagsbefore = $conf->data->get( 'linkflags' );
-ok($step->_handle_darwin_for_fink($conf, $osname, 'readline/readline.h'),
-    "handle_darwin_for_fink() returned true value");
-$flagsafter = $conf->data->get( 'linkflags' );
-is($flagsbefore, $flagsafter, "No change in linkflags, as expected");
-
-my $cwd = cwd();
-{
-    my $tdir1 = tempdir( CLEANUP => 1 );
-    ok(chdir $tdir1, "Able to change to temporary directory");
-    ok( (mkdir 'lib'), "Able to make lib directory");
-    ok( (mkdir 'include'), "Able to make include directory");
-    my $libdir = File::Spec->catdir( $tdir1, 'lib' );
-    my $includedir = File::Spec->catdir( $tdir1, 'include' );
-    $conf->data->set('fink_lib_dir' => $libdir);
-    $conf->data->set('fink_include_dir' => $includedir);
-    $osname = 'darwin';
-    $flagsbefore = $conf->data->get( 'linkflags' );
-    ok($step->_handle_darwin_for_fink($conf, $osname, 'readline/readline.h'),
-        "handle_darwin_for_fink() returned true value");
-    $flagsafter = $conf->data->get( 'linkflags' );
-    is($flagsbefore, $flagsafter,
-        "No change in linkflags, as expected, where Fink lib and include directories exist but readline/readline.h does not");
-
-    ok(chdir $cwd, "Able to change back to original directory after testing");
-}
-
-{
-    my $tdir2 = tempdir( CLEANUP => 1 );
-    ok(chdir $tdir2, "Able to change to temporary directory");
-    ok( (mkdir 'lib'), "Able to make lib directory");
-    ok( (mkdir 'include'), "Able to make include directory");
-    ok( (mkdir 'include/readline'), "Able to make include/readline directory");
-    my $libdir = File::Spec->catdir( $tdir2, 'lib' );
-    my $includedir = File::Spec->catdir( $tdir2, 'include' );
-    $conf->data->set('fink_lib_dir' => $libdir);
-    $conf->data->set('fink_include_dir' => $includedir);
-    my $foo = File::Spec->catfile( $includedir, 'readline', 'readline.h' );
-    open my $FH, ">", $foo or croak "Could not open for writing";
-    print $FH "Hello world\n";
-    close $FH or croak "Could not close after writing";
-
-    $osname = 'darwin';
-    $flagsbefore = $conf->data->get( 'linkflags' );
-    ok($step->_handle_darwin_for_fink($conf, $osname, 'readline/readline.h'),
-        "handle_darwin_for_fink() returned true value");
-    $flagsafter = $conf->data->get( 'linkflags' );
-    isnt($flagsbefore, $flagsafter, "Change in linkflags, as expected");
-    like($conf->data->get( 'linkflags' ), qr/-L\Q$libdir\E/,
-        "'linkflags' modified as expected, in case where Fink lib and include dirs exist and readline/readline.h exists");
-    $conf->data->set( linkflags => $flagsbefore ); #reset for next test
-
-    ok(chdir $cwd, "Able to change back to original directory after testing");
-}
-
-{
-    my $tdir3 = tempdir( CLEANUP => 1 );
-    ok(chdir $tdir3, "Able to change to temporary directory");
-    ok( (mkdir 'lib'), "Able to make lib directory");
-    ok( (mkdir 'include'), "Able to make include directory");
-    ok( (mkdir 'include/readline'), "Able to make include/readline directory");
-    my $libdir = File::Spec->catdir( $tdir3, 'lib' );
-    my $includedir = File::Spec->catdir( $tdir3, 'include' );
-    $conf->data->set('fink_lib_dir' => $libdir);
-    $conf->data->set('fink_include_dir' => undef);
-
-    $osname = 'darwin';
-    $flagsbefore = $conf->data->get( 'linkflags' );
-    ok($step->_handle_darwin_for_fink($conf, $osname, 'readline/readline.h'),
-        "handle_darwin_for_fink() returned true value");
-    $flagsafter = $conf->data->get( 'linkflags' );
-    is($flagsbefore, $flagsafter,
-        "No change in linkflags, as expected, where Fink include directory does not exist");
-
-    ok(chdir $cwd, "Able to change back to original directory after testing");
-}
-
-{
-    my $tdir4 = tempdir( CLEANUP => 1 );
-    ok(chdir $tdir4, "Able to change to temporary directory");
-    ok( (mkdir 'lib'), "Able to make lib directory");
-    ok( (mkdir 'include'), "Able to make include directory");
-    ok( (mkdir 'include/readline'), "Able to make include/readline directory");
-    my $libdir = File::Spec->catdir( $tdir4, 'lib' );
-    my $includedir = File::Spec->catdir( $tdir4, 'include' );
-    $conf->data->set('fink_lib_dir' => undef );
-    $conf->data->set('fink_include_dir' => $includedir );
-
-    $osname = 'darwin';
-    $flagsbefore = $conf->data->get( 'linkflags' );
-    ok($step->_handle_darwin_for_fink($conf, $osname, 'readline/readline.h'),
-        "handle_darwin_for_fink() returned true value");
-    $flagsafter = $conf->data->get( 'linkflags' );
-    is($flagsbefore, $flagsafter,
-        "No change in linkflags, as expected, where Fink lib directory does not exist");
-
-    ok(chdir $cwd, "Able to change back to original directory after testing");
-}
-
-########## _handle_darwin_for_macports() ##########
-
-$osname = 'foobar';
-$flagsbefore = $conf->data->get( 'linkflags' );
-ok($step->_handle_darwin_for_macports($conf, $osname, 'readline/readline.h'),
-    "handle_darwin_for_macports() returned true value");
-$flagsafter = $conf->data->get( 'linkflags' );
-is($flagsbefore, $flagsafter, "No change in linkflags, as expected");
-# Get ready for the next test
-$conf->data->set( linkflags => $flagsbefore );
-
-$cwd = cwd();
-{
-    my $xtdir1 = File::Spec->canonpath( tempdir( CLEANUP => 1 ) );
-    ok(chdir $xtdir1, "Able to change to temporary directory");
-    ok( (mkdir 'lib'), "Able to make lib directory");
-    ok( (mkdir 'include'), "Able to make include directory");
-    my $libdir = File::Spec->catdir( $xtdir1, 'lib' );
-    my $includedir = File::Spec->catdir( $xtdir1, 'include' );
-    $conf->data->set( ports_base_dir => $xtdir1 );
-    $conf->data->set( ports_lib_dir => $libdir );
-    $conf->data->set( ports_include_dir => $includedir );
-    ok( (mkdir 'include/readline'), "Able to make include/readline directory");
-    $osname = 'darwin';
-    $flagsbefore = $conf->data->get( 'linkflags' );
-    ok($step->_handle_darwin_for_macports($conf, $osname, 'readline/readline.h'),
-        "handle_darwin_for_macports() returned true value");
-    $flagsafter = $conf->data->get( 'linkflags' );
-    is($flagsbefore, $flagsafter,
-        "No change in linkflags, as expected, where macports lib and include directories exist but readline/readline.h does not");
-
-    chdir $cwd or croak "Unable to change back to original directory";
-}
-
-$cwd = cwd();
-{
-    my $xtdir2 = File::Spec->canonpath( tempdir( CLEANUP => 1 ) );
-    ok(chdir $xtdir2, "Able to change to temporary directory");
-    ok( (mkdir 'lib'), "Able to make lib directory");
-    ok( (mkdir 'include'), "Able to make include directory");
-    my $libdir = File::Spec->catdir( $xtdir2, 'lib' );
-    my $includedir = File::Spec->catdir( $xtdir2, 'include' );
-    $conf->data->set( ports_base_dir => $xtdir2 );
-    $conf->data->set( ports_lib_dir => $libdir );
-    $conf->data->set( ports_include_dir => $includedir );
-    ok( (mkdir 'include/readline'), "Able to make include/readline directory");
-    my $foo = File::Spec->catfile( $includedir, 'readline', 'readline.h' );
-    open my $FH, ">", $foo or croak "Could not open for writing";
-    print $FH "Hello world\n";
-    close $FH or croak "Could not close after writing";
-
-    $osname = 'darwin';
-    $flagsbefore = $conf->data->get( 'linkflags' );
-    ok($step->_handle_darwin_for_macports($conf, $osname, 'readline/readline.h'),
-        "handle_darwin_for_macports() returned true value");
-    $flagsafter = $conf->data->get( 'linkflags' );
-    isnt($flagsbefore, $flagsafter, "Change in linkflags, as expected");
-    like($conf->data->get( 'linkflags' ), qr/-L\Q$libdir\E/,
-        "'linkflags' modified as expected, in case where macports lib and include dirs exist and readline/readline.h exists");
-    $conf->data->set( linkflags => $flagsbefore );
-
-    chdir $cwd or croak "Unable to change back to original directory";
-}
-
-
-$cwd = cwd();
-{
-    my $xtdir3 = File::Spec->canonpath( tempdir( CLEANUP => 1 ) );
-    ok(chdir $xtdir3, "Able to change to temporary directory");
-    ok( (mkdir 'lib'), "Able to make lib directory");
-    ok( (mkdir 'include'), "Able to make include directory");
-    my $libdir = File::Spec->catdir( $xtdir3, 'lib' );
-    my $includedir = File::Spec->catdir( $xtdir3, 'include' );
-    $conf->data->set( ports_base_dir => $xtdir3 );
-    $conf->data->set( ports_lib_dir => $libdir );
-    $conf->data->set( ports_include_dir => undef );
-
-    $osname = 'darwin';
-    $flagsbefore = $conf->data->get( 'linkflags' );
-    ok($step->_handle_darwin_for_macports($conf, $osname, 'readline/readline.h'),
-        "handle_darwin_for_macports() returned true value");
-    $flagsafter = $conf->data->get( 'linkflags' );
-    is($flagsbefore, $flagsafter,
-        "No change in linkflags, as expected, where Macports include directory does not exist");
-
-    chdir $cwd or croak "Unable to change back to original directory";
-}
-
-$cwd = cwd();
-{
-    my $xtdir4 = File::Spec->canonpath( tempdir( CLEANUP => 1 ) );
-    ok(chdir $xtdir4, "Able to change to temporary directory");
-    ok( (mkdir 'lib'), "Able to make lib directory");
-    ok( (mkdir 'include'), "Able to make include directory");
-    my $libdir = File::Spec->catdir( $xtdir4, 'lib' );
-    my $includedir = File::Spec->catdir( $xtdir4, 'include' );
-    $conf->data->set( ports_base_dir => $xtdir4 );
-    $conf->data->set( ports_lib_dir => undef );
-    $conf->data->set( ports_include_dir => $includedir );
-
-    $osname = 'darwin';
-    $flagsbefore = $conf->data->get( 'linkflags' );
-    ok($step->_handle_darwin_for_macports($conf, $osname, 'readline/readline.h'),
-        "handle_darwin_for_macports() returned true value");
-    $flagsafter = $conf->data->get( 'linkflags' );
-    is($flagsbefore, $flagsafter,
-        "No change in linkflags, as expected, where Macports lib directory does not exist");
-
-    chdir $cwd or croak "Unable to change back to original directory";
-}
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_readline-01.t - test auto::readline
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_readline-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::readline.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::auto::readline, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_readline-02.t
==============================================================================
--- branches/darwinhints/t/steps/auto_readline-02.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,114 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# auto_readline-02.t
-
-use strict;
-use warnings;
-use Test::More tests =>  14;
-use Carp;
-use Cwd;
-use lib qw( lib );
-use_ok('config::auto::readline');
-use Parrot::Configure;
-use Parrot::Configure::Options qw( process_options );
-use Parrot::Configure::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-use IO::CaptureOutput qw| capture |;
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [ ],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new;
-
-my $pkg = q{auto::readline};
-
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-
-########## _evaluate_cc_run() ##########
-
-my ($has_readline, $verbose);
-
-$verbose = undef;
-$has_readline = $step->_evaluate_cc_run($verbose);
-is($has_readline, 1, "Got expected value for has_readline");
-is($step->result(), 'yes', "Expected result was set");
-# Prepare for next test
-$step->set_result(undef);
-
-{
-    my $stdout;
-    $verbose = 1;
-    capture(
-        sub { $has_readline = $step->_evaluate_cc_run($verbose); },
-        \$stdout,
-    );
-    is($has_readline, 1, "Got expected value for has_readline");
-    is($step->result(), 'yes', "Expected result was set");
-    like($stdout, qr/\(yes\)/, "Got expected verbose output");
-    # Prepare for next test
-    $step->set_result(undef);
-}
-
-########## _handle_readline() ##########
-
-$has_readline = 0;
-ok(auto::readline::_handle_readline($conf, 'lib', $has_readline),
-    "_handle_readline() returned true value");
-is($conf->data->get('readline'), 'define',
-    "Got expected value for 'readline'");
-# Prepare for next test
-$conf->data->set( readline => undef );
-$conf->data->set( HAS_READLINE => undef );
-
-$has_readline = 1;
-ok(auto::readline::_handle_readline($conf, 'lib', $has_readline),
-    "_handle_readline() returned true value");
-is($conf->data->get('readline'), 'define',
-    "Got expected value for 'readline'");
-# Prepare for next test
-$conf->data->set( readline => undef );
-$conf->data->set( HAS_READLINE => undef );
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_readline-02.t - test auto::readline
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_readline-02.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::readline.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::auto::readline, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_revision-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_revision-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,108 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# auto_revision-01.t
-
-use strict;
-use warnings;
-use Test::More tests => 15;
-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::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-
-########## regular ##########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [ ],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new;
-
-my $pkg = q{auto::revision};
-
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-
-my ($testrev, $ret);
-{
-    $testrev = 99999;
-    local $Parrot::Revision::current = $testrev;
-    $ret = $step->runstep($conf);
-    ok( $ret, "runstep() returned true value" );
-    is($conf->data->get('revision'), $testrev,
-        "'revision' element was set correctly");
-    is($step->result(), qq{r$testrev}, "Expected result was set");
-}
-
-{
-    $testrev = 0;
-    local $Parrot::Revision::current = $testrev;
-    $ret = $step->runstep($conf);
-    ok( $ret, "runstep() returned true value" );
-    is($conf->data->get('revision'), $testrev,
-        "'revision' element was set correctly");
-    is($step->result(), q{done}, "Expected result was set");
-}
-
-{
-    $testrev = q{foobar};
-    local $Parrot::Revision::current = $testrev;
-    eval { $ret = $step->runstep($conf); };
-    like($@, qr/Cannot use non-numeric revision number/,
-        "Got expected error message");
-}
-
-{
-    $testrev = undef;
-    local $Parrot::Revision::current = $testrev;
-    $ret = $step->runstep($conf);
-    ok( $ret, "runstep() returned true value" );
-    ok(! defined($conf->data->get('revision')),
-        "'revision' element is undefined as expected");
-    is($step->result(), q{done}, "Expected result was set");
-}
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_revision-01.t - test auto::revision
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_revision-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::revision.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::auto::revision, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_signal-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_signal-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,169 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# auto_signal-01.t
-
-use strict;
-use warnings;
-use Test::More tests =>  35;
-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::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
-    test_step_constructor_and_description
-);
-use IO::CaptureOutput qw| capture |;
-
-########### _handle__sighandler_t() ###########
-
-my ($args, $step_list_ref) = process_options( {
-    argv => [ ],
-    mode => q{configure},
-} );
-
-my $conf = Parrot::Configure->new;
-
-my $serialized = $conf->pcfreeze();
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-
-my $pkg = q{auto::signal};
-
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-
-ok(auto::signal::_handle__sighandler_t($conf),
-    "_handle__sighandler_t() returned true value");
-is($conf->data->get( 'has___sighandler_t'), 'define',
-    "Got expected value for has__sighandler_t");
-
-########### _handle_sigaction() ###########
-
-ok(auto::signal::_handle_sigaction($conf),
-    "_handle_sigaction() returned true value");
-is($conf->data->get( 'has_sigaction'), 'define',
-    "Got expected value for has_sigaction");
-
-########### _handle_setitimer() ###########
-
-ok(auto::signal::_handle_setitimer($conf),
-    "_handle_setitimer() returned true value");
-is($conf->data->get( 'has_setitimer'), 'define',
-    "Got expected value for has_setitimer");
-is($conf->data->get( 'has_sig_atomic_t'), 'define',
-    "Got expected value for has_sig_atomic_t");
-
-########### _print_signalpasm() ###########
-
-my $cwd = cwd();
-{
-    my $tdir = tempdir( CLEANUP => 1);
-    chdir $tdir or croak "Unable to change to $tdir";
-    my $signalpasm = q{signal.pasm};
-    ok(auto::signal::_print_signalpasm($conf, $signalpasm),
-        "_print_signalpasm returned true value");
-    ok(-s $signalpasm, "File with nonzero size created");
-    unlink $signalpasm or croak "Unable to delete file after testing";
-    chdir $cwd or croak "Unable to change back to $cwd";
-}
-
-$conf->replenish($serialized);
-
-########### --verbose; _handle__sighandler_t() ###########
-
-($args, $step_list_ref) = process_options( {
-    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);
-
-my $verbose = 1;
-{
-    my ($rv, $stdout);
-    capture(
-        sub { $rv = auto::signal::_handle__sighandler_t($conf, $verbose); },
-        \$stdout,
-    );
-    ok($rv, "_handle__sighandler_t() returned true value");
-    is($conf->data->get( 'has___sighandler_t'), 'define',
-        "Got expected value for has__sighandler_t");
-    like($stdout, qr/__sighandler_t/, "Got expected verbose output");
-}
-
-########### --verbose; _handle_sigaction() ###########
-
-{
-    my ($rv, $stdout);
-    capture(
-        sub { $rv = auto::signal::_handle_sigaction($conf, $verbose); },
-        \$stdout,
-    );
-    ok($rv, "_handle_sigaction() returned true value");
-    is($conf->data->get( 'has_sigaction'), 'define',
-        "Got expected value for has_sigaction");
-    like($stdout, qr/sigaction/, "Got expected verbose output");
-}
-
-########### --verbose; _handle_setitimer() ###########
-
-{
-    my ($rv, $stdout);
-    capture(
-        sub { $rv = auto::signal::_handle_setitimer($conf, $verbose); },
-        \$stdout,
-    );
-    ok($rv, "_handle_setitimer() returned true value");
-    is($conf->data->get( 'has_setitimer'), 'define',
-        "Got expected value for has_setitimer");
-    is($conf->data->get( 'has_sig_atomic_t'), 'define',
-        "Got expected value for has_sig_atomic_t");
-    like($stdout, qr/setitimer/s, "Got expected verbose output");
-}
-
-$conf->cc_clean();
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_signal-01.t - test auto::signal
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_signal-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::signal.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::auto::signal, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_sizes-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_sizes-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,399 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# auto_sizes-01.t
-
-use strict;
-use warnings;
-use Test::More tests => 58;
-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::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
-    test_step_constructor_and_description
-);
-use IO::CaptureOutput qw | capture |;
-
-
-########## _handle_intval_ptrsize_discrepancy() ##########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [ ],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new;
-
-my $serialized = $conf->pcfreeze();
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-
-my $pkg = q{auto::sizes};
-
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-{
-    my $stdout;
-    my %results = (
-        ptrsize         => 1,
-        intvalsize      => 1,
-    );
-    capture(
-        sub { auto::sizes::_handle_intval_ptrsize_discrepancy(\%results); },
-        \$stdout,
-    );
-    ok(! $stdout, "As expected, no warning needed");
-}
-
-{
-    my $stdout;
-    my %results = (
-        ptrsize         => 1,
-        intvalsize      => 2,
-    );
-    capture(
-        sub { auto::sizes::_handle_intval_ptrsize_discrepancy(\%results); },
-        \$stdout,
-    );
-    like($stdout, qr/I see your chosen INTVAL/s,
-        "Got expected warning about discrepancy"
-    );
-}
-
-########## _set_int2() ##########
-
-{
-    my $stdout;
-    my %results = ( shortsize   => 2 );
-    capture(
-        sub { auto::sizes::_set_int2($conf, \%results); },
-        \$stdout,
-    );
-    is($conf->data->get( 'int2_t' ), q{short},
-        "Got expected value for int2_t");
-    ok(! $stdout, "As expected, no warning needed");
-}
-
-{
-    my $stdout;
-    my %results = ( shortsize   => 4 );
-    capture(
-        sub { auto::sizes::_set_int2($conf, \%results); },
-        \$stdout,
-    );
-    is($conf->data->get( 'int2_t' ), q{int},
-        "Got expected value for int2_t");
-    like($stdout, qr/conversion ops might fail/s,
-        "Got expected warning");
-}
-
-########## _set_int4() ##########
-
-{
-    my $stdout;
-    my %results = ( shortsize   => 4 );
-    capture(
-        sub { auto::sizes::_set_int4($conf, \%results); },
-        \$stdout,
-    );
-    is($conf->data->get( 'int4_t' ), q{short},
-        "Got expected value for int4_t");
-    ok(! $stdout, "As expected, no warning needed");
-}
-
-{
-    my $stdout;
-    my %results = ( intsize   => 4 );
-    capture(
-        sub { auto::sizes::_set_int4($conf, \%results); },
-        \$stdout,
-    );
-    is($conf->data->get( 'int4_t' ), q{int},
-        "Got expected value for int4_t");
-    ok(! $stdout, "As expected, no warning needed");
-}
-
-{
-    my $stdout;
-    my %results = ( longsize   => 4 );
-    capture(
-        sub { auto::sizes::_set_int4($conf, \%results); },
-        \$stdout,
-    );
-    is($conf->data->get( 'int4_t' ), q{long},
-        "Got expected value for int4_t");
-    ok(! $stdout, "As expected, no warning needed");
-}
-
-{
-    my $stdout;
-    my %results = ( );
-    capture(
-        sub { auto::sizes::_set_int4($conf, \%results); },
-        \$stdout,
-    );
-    is($conf->data->get( 'int4_t' ), q{int},
-        "Got expected value for int4_t");
-    like($stdout, qr/conversion ops might fail/s,
-        "Got expected warning");
-}
-
-########## _set_float4() ##########
-
-{
-    my $stdout;
-    my %results = ( floatsize => 4 );
-    capture(
-        sub { auto::sizes::_set_float4($conf, \%results); },
-        \$stdout,
-    );
-    is($conf->data->get( 'float4_t' ), q{float},
-        "Got expected value for float4_t");
-    ok(! $stdout, "As expected, no warning needed");
-}
-
-{
-    my $stdout;
-    my %results = ( floatsize => 8 );
-    capture(
-        sub { auto::sizes::_set_float4($conf, \%results); },
-        \$stdout,
-    );
-    is($conf->data->get( 'float4_t' ), q{double},
-        "Got expected value for float4_t");
-    like($stdout, qr/conversion ops might fail/s,
-        "Got expected warning");
-}
-
-########## _set_float8() ##########
-
-{
-    my $stdout;
-    my %results = ( doublesize => 8 );
-    capture(
-        sub { auto::sizes::_set_float8($conf, \%results); },
-        \$stdout,
-    );
-    is($conf->data->get( 'float8_t' ), q{double},
-        "Got expected value for float8_t");
-    ok(! $stdout, "As expected, no warning needed");
-}
-
-{
-    my $stdout;
-    my %results = ( );
-    capture(
-        sub { auto::sizes::_set_float8($conf, \%results); },
-        \$stdout,
-    );
-    is($conf->data->get( 'float8_t' ), q{double},
-        "Got expected value for float8_t");
-    like($stdout, qr/conversion ops might fail/s,
-        "Got expected warning");
-}
-
-########## _handle_hugeintvalsize() ##########
-
-my (%hugeintval, $intval, $intvalsize);
-
-$conf->data->set( intval => undef );
-$conf->data->set( intvalsize => undef );
-$hugeintval{hugeintvalsize} = undef;
-$intval = q{integer};
-$intvalsize = 4;
-auto::sizes::_handle_hugeintvalsize(
-    $conf,
-    {
-        hugeintval      => \%hugeintval,
-        intval          => $intval,
-        intvalsize      => $intvalsize,
-    },
-);
-is( $conf->data->get( 'hugeintval' ), $intval,
-    "Got expected value for hugeintval");
-is( $conf->data->get( 'hugeintvalsize' ), $intvalsize,
-    "Got expected value for hugeintvalsize");
-$conf->data->set( hugeintval => undef );
-$conf->data->set( hugeintvalsize => undef );
-
-$conf->data->set( intval => undef );
-$conf->data->set( intvalsize => undef );
-$hugeintval{hugeintvalsize} = 4;
-$intval = q{integer};
-$intvalsize = 4;
-auto::sizes::_handle_hugeintvalsize(
-    $conf,
-    {
-        hugeintval      => \%hugeintval,
-        intval          => $intval,
-        intvalsize      => $intvalsize,
-    },
-);
-is( $conf->data->get( 'hugeintval' ), $intval,
-    "Got expected value for hugeintval");
-is( $conf->data->get( 'hugeintvalsize' ), $intvalsize,
-    "Got expected value for hugeintvalsize");
-$conf->data->set( hugeintval => undef );
-$conf->data->set( hugeintvalsize => undef );
-
-$conf->data->set( intval => undef );
-$conf->data->set( intvalsize => undef );
-$hugeintval{hugeintvalsize} = 8;
-$intval = q{integer};
-$intvalsize = 4;
-auto::sizes::_handle_hugeintvalsize(
-    $conf,
-    {
-        hugeintval      => \%hugeintval,
-        intval          => $intval,
-        intvalsize      => $intvalsize,
-    },
-);
-ok( ! defined $conf->data->get( 'hugeintval' ),
-    "Got expected value for hugeintval");
-ok( ! defined $conf->data->get( 'hugeintvalsize' ),
-    "Got expected value for hugeintvalsize");
-$conf->data->set( hugeintval => undef );
-$conf->data->set( hugeintvalsize => undef );
-
-$conf->data->set( intval => undef );
-$conf->data->set( intvalsize => undef );
-
-########## _set_hugefloatval() ##########
-
-my $size = 12;
-auto::sizes::_set_hugefloatval( $conf, $size );
-is( $conf->data->get( 'hugefloatval' ), 'long double',
-    "Got expected type for hugefloatval");
-is( $conf->data->get( 'hugefloatvalsize' ), $size,
-    "Got expected size for hugefloatvalsize");
-
-auto::sizes::_set_hugefloatval( $conf, 0 );
-is( $conf->data->get( 'hugefloatval' ), 'double',
-    "Got expected type for hugefloatval");
-is( $conf->data->get( 'hugefloatvalsize' ), $conf->data->get('doublesize'),
-    "Got expected size for hugefloatvalsize");
-
-########## _set_intvalmaxmin() ##########
-
-my @trueintvals = (
-    $conf->data->get( 'iv' ),
-    $conf->data->get( 'intvalmin' ),
-    $conf->data->get( 'intvalmax' ),
-);
-$conf->data->set( iv => 'int' );
-auto::sizes::_set_intvalmaxmin( $conf );
-is( $conf->data->get( 'intvalmin' ), 'INT_MIN',
-    "Got expected value for 'intvalmin' when 'iv' is 'int'" );
-is( $conf->data->get( 'intvalmax' ), 'INT_MAX',
-    "Got expected value for 'intvalmax' when 'iv' is 'int'" );
-
-$conf->data->set( iv => 'long' );
-auto::sizes::_set_intvalmaxmin( $conf );
-is( $conf->data->get( 'intvalmin' ), 'LONG_MIN',
-    "Got expected value for 'intvalmin' when 'iv' is 'long'" );
-is( $conf->data->get( 'intvalmax' ), 'LONG_MAX',
-    "Got expected value for 'intvalmax' when 'iv' is 'long'" );
-
-$conf->data->set( iv => 'long int' );
-auto::sizes::_set_intvalmaxmin( $conf );
-is( $conf->data->get( 'intvalmin' ), 'LONG_MIN',
-    "Got expected value for 'intvalmin' when 'iv' is 'long int'" );
-is( $conf->data->get( 'intvalmax' ), 'LONG_MAX',
-    "Got expected value for 'intvalmax' when 'iv' is 'long int'" );
-
-$conf->data->set( iv => 'long long' );
-auto::sizes::_set_intvalmaxmin( $conf );
-is( $conf->data->get( 'intvalmin' ), 'LLONG_MIN',
-    "Got expected value for 'intvalmin' when 'iv' is 'long long'" );
-is( $conf->data->get( 'intvalmax' ), 'LLONG_MAX',
-    "Got expected value for 'intvalmax' when 'iv' is 'long long'" );
-
-$conf->data->set( iv => 'long long int' );
-auto::sizes::_set_intvalmaxmin( $conf );
-is( $conf->data->get( 'intvalmin' ), 'LLONG_MIN',
-    "Got expected value for 'intvalmin' when 'iv' is 'long long int'" );
-is( $conf->data->get( 'intvalmax' ), 'LLONG_MAX',
-    "Got expected value for 'intvalmax' when 'iv' is 'long long int'" );
-
-my $badtype = 'foobar';
-$conf->data->set( iv => $badtype );
-eval { auto::sizes::_set_intvalmaxmin( $conf ); };
-like($@, qr/Configure.pl:  Cannot find limits for type '$badtype'/,
-    "Got expected 'die' message for unrecognized 'iv'");
-
-# Reset true values prior to subsequent tests.
-$conf->data->set( 'iv' => $trueintvals[0] );
-$conf->data->set( 'intvalmin' => $trueintvals[1] );
-$conf->data->set( 'intvalmax' => $trueintvals[2] );
-
-########## _set_floatvalmaxmin() ##########
-
-my @truefloatvals = (
-    $conf->data->get( 'nv' ),
-    $conf->data->get( 'floatvalmin' ),
-    $conf->data->get( 'floatvalmax' ),
-);
-
-$conf->data->set( nv => 'double' );
-auto::sizes::_set_floatvalmaxmin( $conf );
-is( $conf->data->get( 'floatvalmin' ), 'DBL_MIN',
-    "Got expected value for 'floatvalmin' when 'nv' is 'double'" );
-is( $conf->data->get( 'floatvalmax' ), 'DBL_MAX',
-    "Got expected value for 'floatvalmax' when 'nv' is 'double'" );
-
-$conf->data->set( nv => 'long double' );
-auto::sizes::_set_floatvalmaxmin( $conf );
-is( $conf->data->get( 'floatvalmin' ), 'LDBL_MIN',
-    "Got expected value for 'floatvalmin' when 'nv' is 'long double'" );
-is( $conf->data->get( 'floatvalmax' ), 'LDBL_MAX',
-    "Got expected value for 'floatvalmax' when 'nv' is 'long double'" );
-
-$badtype = 'foobar';
-$conf->data->set( nv => $badtype );
-eval { auto::sizes::_set_floatvalmaxmin( $conf ); };
-like($@, qr/Configure.pl:  Cannot find limits for type '$badtype'/,
-    "Got expected 'die' message for unrecognized 'nv'");
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_sizes-01.t - test auto::sizes
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_sizes-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::sizes.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::auto::sizes, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_snprintf-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_snprintf-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,148 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# auto_snprintf-01.t
-
-use strict;
-use warnings;
-use Test::More tests => 33;
-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::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
-    test_step_constructor_and_description
-);
-use IO::CaptureOutput qw| capture |;
-
-########## regular ##########
-
-my ($args, $step_list_ref) = process_options( {
-    argv            => [],
-    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 $pkg = q{auto::snprintf};
-
-$conf->add_steps($pkg);
-
-my $serialized = $conf->pcfreeze();
-
-$conf->options->set(%{$args});
-my $step = test_step_constructor_and_description($conf);
-
-# The test of runstep() below will need to be TODO-ed until such time as
-# we can test with all the data which the Parrot::Configure object would
-# normally have during regular configuration at the onset of this step.
-# That's because runstep() consists almost solely of calls to C
-# programs.  We can't refactor runstep()'s guts out into internal
-# subroutines and test them explicitly as we've been able to do for
-# other configuration steps.  We won't lose any coverage by commenting
-# out the TODO block for the time being, as the coverage analysis will,
-# at the very least, pick up runstep() while running the step itself.
-#
-#TODO: {
-#    # http://rt.perl.org/rt3/Ticket/Display.html?id=47391
-#    local $TODO =
-#        q<Reported failing where vendor-supplied Perl 5 Config.pm does not match true state of system available for Parrot configuration>;
-#    ok($step->runstep($conf), "runstep() returned true value");
-#} #'
-
-
-$conf->replenish($serialized);
-
-########## _evaluate_snprintf() ##########
-
-($args, $step_list_ref) = process_options( {
-    argv            => [],
-    mode            => q{configure},
-} );
-$conf->options->set(%{$args});
-$step = test_step_constructor_and_description($conf);
-
-my $res;
-$res = q{old snprintf};
-ok($step->_evaluate_snprintf($conf, $res),
-    "_evaluate_snprintf returned true value");
-ok($conf->data->get('HAS_OLD_SNPRINTF'),
-    "Got expected value");
-
-$res = q{C99 snprintf};
-ok($step->_evaluate_snprintf($conf, $res),
-    "_evaluate_snprintf returned true value");
-ok($conf->data->get('HAS_C99_SNPRINTF'),
-    "Got expected value");
-ok($conf->data->get('HAS_SNPRINTF'),
-    "Got expected value");
-
-$conf->replenish($serialized);
-
-########## --verbose; _evaluate_snprintf() ##########
-
-($args, $step_list_ref) = process_options( {
-    argv            => [ q{--verbose} ],
-    mode            => q{configure},
-} );
-$conf->options->set(%{$args});
-$step = test_step_constructor_and_description($conf);
-
-{
-    my $stdout;
-    my $res = q{snprintf};
-    my $ret = capture(
-        sub { $step->_evaluate_snprintf($conf, $res) },
-        \$stdout
-    );
-    ok($ret, "_evaluate_snprintf returned true value");
-    ok($conf->data->get('HAS_SNPRINTF'),
-        "Got expected value");
-}
-
-$conf->cc_clean();
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_snprintf-01.t - test auto::snprintf
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_snprintf-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::snprintf.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::auto::snprintf, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_socklen_t-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_socklen_t-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,106 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# auto_socklen_t-01.t
-
-use strict;
-use warnings;
-use Test::More tests => 16;
-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::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
-    test_step_constructor_and_description
-);
-use IO::CaptureOutput qw| capture |;
-
-########### regular ###########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [ ],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new;
-
-my $pkg = q{auto::socklen_t};
-
-$conf->add_steps($pkg);
-
-my $serialized = $conf->pcfreeze();
-
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-my $ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
-ok(defined($step->result()), "A result has been defiined");
-
-$conf->replenish($serialized);
-
-##### _evaluate_socklen_t() #####
-
-($args, $step_list_ref) = process_options(
-    {
-        argv => [ ],
-        mode => q{configure},
-    }
-);
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-
-my $d_socklen_t;
-
-$d_socklen_t = q{alpha};
-ok($step->_evaluate_socklen_t($conf, $d_socklen_t),
-    "_evaluate_socklen_t() completed satisfactorily");
-is($step->result(), q{yes}, "Got expected result");
-is($conf->data->get('has_socklen_t'), 1,
-    "has_socklen_t set as expected");
-
-$d_socklen_t = undef;
-ok($step->_evaluate_socklen_t($conf, $d_socklen_t),
-    "_evaluate_socklen_t() completed satisfactorily");
-is($step->result(), q{no}, "Got expected result");
-is($conf->data->get('has_socklen_t'), 0,
-    "has_socklen_t set as expected");
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_socklen_t-01.t - test auto::socklen_t
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_socklen_t-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::socklen_t.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::auto::socklen_t, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_va_ptr-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_va_ptr-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,66 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# auto_va_ptr-01.t
-
-use strict;
-use warnings;
-use Test::More tests =>  5;
-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::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [ ],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new;
-
-my $pkg = q{auto::va_ptr};
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_va_ptr-01.t - test auto::va_ptr
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_va_ptr-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::va_ptr.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::auto::va_ptr, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/auto_warnings-01.t
==============================================================================
--- branches/darwinhints/t/steps/auto_warnings-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,183 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# auto_warnings-01.t
-
-use strict;
-use warnings;
-use Test::More tests =>  56;
-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::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-use IO::CaptureOutput qw | capture |;
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [ ],
-        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{inter::progs}, $args );
-
-my $pkg = q{auto::warnings};
-
-$conf->add_steps($pkg);
-
-my $serialized = $conf->pcfreeze();
-
-$conf->options->set( %{$args} );
-SKIP: {
-    skip 'Tests not yet passing on Sun/Solaris',
-    39
-    if $^O =~ m/sun|solaris/i;
-
-my $step = test_step_constructor_and_description($conf);
-
-my %potential_warnings_seen;
-$conf->options->set(cage => 1);
-$step->_add_cage_warnings($conf);
-%potential_warnings_seen = map { $_, 1 } @{ $step->{potential_warnings} };
-ok($potential_warnings_seen{'-std=c89'}, "Cage warning added");
-
-$conf->replenish($serialized);
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-$conf->options->set(maintainer => 1);
-$step->_add_maintainer_warnings($conf);
-%potential_warnings_seen = map { $_, 1 } @{ $step->{potential_warnings} };
-ok($potential_warnings_seen{'-Wlarger-than-4096'}, "Maintainer warning added");
-
-$conf->replenish($serialized);
-
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-my $warning = q{-Wphony_warning};
-auto::warnings::_set_warning($conf, $warning, 1, undef);
-ok(! $conf->data->get($warning),
-    "Got expected setting for warning");
-
-$conf->replenish($serialized);
-
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-{
-    my $warning = q{-Wphony_warning};
-    my $stdout;
-    capture(
-        sub { auto::warnings::_set_warning($conf, $warning, 1, 1); },
-        \$stdout,
-    );
-    ok(! $conf->data->get($warning),
-        "Got expected setting for warning");
-    like($stdout, qr/exit code:\s+1/, "Got expected verbose output");
-}
-
-$conf->replenish($serialized);
-
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-my $output = q{some string};
-my $tryflags = q{some flag};
-my $rv = auto::warnings::_set_ccflags($conf, $output, $tryflags, undef);
-is($rv, 1, "_set_ccflags() returned 1 as expected");
-is($conf->data->get("ccflags"), $tryflags, "ccflags changed as expected");
-
-$conf->replenish($serialized);
-
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-{
-    my $output = q{some string};
-    my $tryflags = q{some flag};
-    my ($rv, $stdout);
-    capture(
-        sub { $rv = auto::warnings::_set_ccflags($conf, $output, $tryflags, 1); },
-        \$stdout,
-    );
-    is($rv, 1, "_set_ccflags() returned 1 as expected");
-    is($conf->data->get("ccflags"), $tryflags, "ccflags changed as expected");
-    like($stdout, qr/ccflags:\s+$tryflags/, "Got expected verbose output");
-}
-
-$conf->replenish($serialized);
-
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-# Mock case where C compiler is not gcc.
-$conf->data->set( gccversion => undef );
-ok($step->runstep($conf), "runstep() returned true value");
-is($step->result(), q{skipped}, "Got expected result");
-
-$conf->replenish($serialized);
-
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-{
-    my ($stdout, $rv);
-    # Mock case where C compiler is not gcc.
-    $conf->data->set( gccversion => undef );
-    $conf->options->set( verbose => 1 );
-    capture(
-        sub { $rv = $step->runstep($conf); },
-        \$stdout,
-    );
-    ok($rv, "runstep() returned true value");
-    is($step->result(), q{skipped}, "Got expected result");
-    like($stdout,
-        qr/Currently we only set warnings/,
-        "Got expected verbose output"
-    );
-}
-
-} # End SKIP block for Sun/Solaris
-
-$conf->cc_clean();
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto_warnings-01.t - test auto::warnings
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto_warnings-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test aspects of auto::warnings.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::auto::warnings, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/gen/call_list-01.t (from r39902, branches/darwinhints/t/steps/gen_call_list-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/gen/call_list-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/gen_call_list-01.t)
@@ -0,0 +1,72 @@
+#! perl
+# Copyright (C) 2007-2008, Parrot Foundation.
+# $Id$
+# gen_call_list-01.t
+
+use strict;
+use warnings;
+use Test::More tests =>  6;
+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::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+
+########## regular ##########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [ ],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new;
+my $pkg = q{gen::call_list};
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+my $missing_files = 0;
+foreach my $f ( @{ $step->{fragment_files} } ) {
+    $missing_files++ unless (-f $f);
+}
+is($missing_files, 0, "No needed source files are missing");
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+  gen_call_list-01.t - test gen::call_list
+
+=head1 SYNOPSIS
+
+    % prove t/steps/gen_call_list-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test gen::call_list.
+
+=head1 AUTHOR
+
+Geoffrey Broadwell; modified from a similar file by James E Keenan.
+
+=head1 SEE ALSO
+
+config::gen::call_list, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/gen/config_h-01.t (from r39902, branches/darwinhints/t/steps/gen_config_h-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/gen/config_h-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/gen_config_h-01.t)
@@ -0,0 +1,92 @@
+#! perl
+# Copyright (C) 2007-2009, Parrot Foundation.
+# $Id$
+# gen_config_h-01.t
+
+use strict;
+use warnings;
+use Test::More tests => 11;
+use Carp;
+use Cwd;
+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::Test qw(
+    test_step_thru_runstep
+    rerun_defaults_for_testing
+    test_step_constructor_and_description
+);
+use Parrot::Configure::Utils qw( _slurp );
+
+########## regular ##########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [ ],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new;
+
+my $serialized = $conf->pcfreeze();
+
+my $pkg = q{gen::config_h};
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+ok(-f $step->{templates}->{config_h}, "Template for config_h located");
+ok(-f $step->{templates}->{feature_h}, "Template for feature_h located");
+ok(-f $step->{templates}->{has_header_h}, "Template for has_header_h located");
+
+$conf->replenish($serialized);
+
+($args, $step_list_ref) = process_options( {
+    argv => [ q{--define=inet_aton} ],
+    mode => q{configure},
+} );
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+gen_config_h-01.t - test gen::config_h
+
+=head1 SYNOPSIS
+
+    % prove t/steps/gen_config_h-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test configuration step gen::config_h.  Since this step
+is primarily concerned with printing to files based on reading certain source
+files and reading data stored in the Parrot::Configure object over the course
+of configuration, no complete simulation by a test file is feasible.  We
+therefore content ourselves with seeing whether the source files needed by the
+step can be located.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::gen::config_h, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/gen/config_pm-01.t (from r39902, branches/darwinhints/t/steps/gen_config_pm-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/gen/config_pm-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/gen_config_pm-01.t)
@@ -0,0 +1,73 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# gen_config_pm-01.t
+
+use strict;
+use warnings;
+use Test::More tests =>   8;
+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::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+
+########## regular ##########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [ ],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new;
+my $pkg = q{gen::config_pm};
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+ok(-f $step->{templates}->{myconfig},
+    "Able to locate template for myconfig");
+ok(-f $step->{templates}->{Config_pm},
+    "Able to locate template for Config_pm");
+ok(-f $step->{templates}->{config_lib},
+    "Able to locate template for config_lib");
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+gen_config_pm-01.t - test gen::config_pm
+
+=head1 SYNOPSIS
+
+    % prove t/steps/gen_config_pm-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test gen::config_pm.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::gen::config_pm, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/gen/core_pmcs-01.t (from r39902, branches/darwinhints/t/steps/gen_core_pmcs-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/gen/core_pmcs-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/gen_core_pmcs-01.t)
@@ -0,0 +1,77 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# gen_core_pmcs-01.t
+
+use strict;
+use warnings;
+use Test::More tests => 16;
+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::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+
+########## regular ##########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [ ],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new;
+test_step_thru_runstep( $conf, q{init::defaults}, $args );
+test_step_thru_runstep( $conf, q{auto::pmc}, $args );
+my $pkg = q{gen::core_pmcs};
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+my @pmc_names = split / /, $conf->data->get('pmc_names');
+ok( scalar( @pmc_names ),
+    "Got nonzero number of pmc names, which is prerequisite for gen:core_pmcs");
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+gen_core_pmcs-01.t - test gen::core_pmcs
+
+=head1 SYNOPSIS
+
+    % prove t/steps/gen_core_pmcs-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test configuration step gen::core_pmcs.  Since the step
+is primarily concerned with printing files based on reading of a list of
+C<pmc>s found within the Parrot::Configure object's data structure, we content
+ourselves with ensuring that that list has nonzero size.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::gen::core_pmcs, config::auto::pmc, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/gen/crypto-01.t (from r39902, branches/darwinhints/t/steps/gen_crypto-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/gen/crypto-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/gen_crypto-01.t)
@@ -0,0 +1,84 @@
+#! perl
+# Copyright (C) 2008, Parrot Foundation.
+# $Id$
+# gen_crypto-01.t
+
+use strict;
+use warnings;
+use Test::More tests =>  8;
+use Carp;
+use lib qw( lib );
+use_ok('config::gen::crypto');
+use Parrot::Configure;
+use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Test qw(
+    test_step_thru_runstep
+    rerun_defaults_for_testing
+    test_step_constructor_and_description
+);
+
+########## regular ##########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [ ],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new;
+
+my $serialized = $conf->pcfreeze();
+
+my $pkg = q{gen::crypto};
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+
+ok(-f $step->{digest_pmc_template}, "Able to locate source code file");
+
+my $has_crypto_orig = $conf->data->get('has_crypto');
+$conf->data->set( has_crypto => undef );
+my $ret = $step->runstep($conf);
+ok( $ret, "runstep() returned true value" );
+is($step->result(), q{skipped}, "Got expected result");
+# re-set for next test
+$conf->data->set( has_crypto => $has_crypto_orig );
+$step->set_result( q{} );
+
+$conf->replenish($serialized);
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+  gen_crypto-01.t - test gen::crypto
+
+=head1 SYNOPSIS
+
+    % prove t/steps/gen_crypto-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test gen::crypto.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::gen::crypto, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/gen/makefiles-01.t (from r39902, branches/darwinhints/t/steps/gen_makefiles-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/gen/makefiles-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/gen_makefiles-01.t)
@@ -0,0 +1,226 @@
+#! perl
+# Copyright (C) 2007-2009, Parrot Foundation.
+# $Id$
+# gen_makefiles-01.t
+
+use strict;
+use warnings;
+my @cond_tests;
+my @conf_args = ( true => 1, false => 0, value => 'xx' );
+BEGIN {
+    @cond_tests =
+      (
+       # perl-syntax       true or false
+       ["IF(true)",             1],
+       ["IF(false)",            0],
+       ["UNLESS(true)",         0],
+       ["UNLESS(false)",        1],
+       ["IF(true | false)",     1],
+       ["IF(true & false)",     0],
+       ["IF(true or true)",     1],
+       ["IF(true or false)",    1],
+       ["IF(false or true)",    1],
+       ["IF(false or false)",   0],
+       ["IF(true and true)",    1],
+       ["IF(true and false)",   0],
+       ["IF(false and true)",   0],
+       ["IF(false and false)",  0],
+       ["UNLESS(true|false)",   0],
+       ["UNLESS(true&false)",   1],
+       ["IF(!false)",           1],
+       ["IF(true)",             1],
+       ["ELSIF(value)",         0],
+       ["ELSE",                 0],
+       ["IF(false)",            0],
+       ["ELSIF(value)",         1],
+       ["ELSE",                 0],
+       ["IF(false)",            0],
+       ["ELSIF(false)",         0],
+       ["ELSE",                 1],
+       # Exercise the parser
+       ["IF(true and (!false and value))",  1],
+       ["IF(true and (!false) and value)",  1],
+       ["IF(true and !false and value)",    1, 'no parens'],
+       ["IF(true and not false and value)", 1, 'no parens'],
+       ["IF(true&!false&value)",            1],
+       ["IF(false or (!false and value))",  1, 'not parser problem'],
+       ["UNLESS(!(true&!false&value))",     1, 'no ws, but nested parens'],
+       ["IF(true&(!false&false))",          0, 'not precedence'],
+       ["IF(true&(!false&value))",          1],
+       ["IF(not true and value)",           0, 'not precedence over and'],
+       ["IF(not false and value)",          1],
+       ["IF((not false) and value)",        1],
+       ["IF(not (false and value))",        1],
+       ["IF(not (false or value))",         0],
+       ["IF(true and not false)",           1],
+       # platform
+       ["IF(someplatform)",                 1],
+       ["IF(not someplatform)",             0],
+       ["UNLESS(someplatform)",             0],
+       ["UNLESS(not someplatform)",         1],
+       # key==value
+       ["IF(value==xx)",                    1],
+       ["IF(value==xxy)",                   0],
+       ["UNLESS(value==xx)",                0],
+       ["UNLESS(value==xxy)",               1],
+       ["IF(true & (value==xx & (!false)))",1],
+       # These are invalid:
+       #["IF(value == xx)",                 0], # invalid op error
+       #["IF(value = xx)",                  0], # invalid op error
+       ["IF(value=xx)",                     0], # also invalid, no warning. checks for key value=xx
+
+       # Legacy syntax                 true or false
+       ["CONDITIONED_LINE(true)",           1],
+       ["INVERSE_CONDITIONED_LINE(true)",   0],
+       ["CONDITIONED_LINE(false)",          0],
+       ["INVERSE_CONDITIONED_LINE(false)",  1],
+      );
+}
+
+use Test::More tests => (8 + @cond_tests);
+use Carp;
+use lib qw( . lib );
+
+use_ok('config::gen::makefiles');
+
+use Parrot::Configure;
+use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+
+########## regular ##########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [ ],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new();
+my $pkg  = 'gen::makefiles';
+
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+
+my $step           = test_step_constructor_and_description($conf);
+my $missing_SOURCE = 0;
+my %makefiles      = %{ $step->{makefiles} };
+
+foreach my $k ( keys %makefiles ) {
+    $missing_SOURCE++ unless (-f $makefiles{$k}{SOURCE});
+}
+
+is($missing_SOURCE, 0, "No Makefile source file missing");
+ok(-f $step->{CFLAGS_source}, "CFLAGS source file located");
+
+my $index = undef;
+sub result {
+    my $c = shift;
+    my $s = $c->[0];
+    $s =~ s/^\+/plus_/;
+    $s =~ s/^\-/minus_/;
+    $s =~ s/\|/OR/g;
+    $s =~ s/\&/AND/g;
+    $s =~ s/\!/NOT/g;
+    $s =~ s/[\()]//g;
+    $s =~ s/ /_/g;
+    $s .= ("_".++$index) if $s =~ /^(ELSE|ELSIF)/;
+
+    return $s."=".($c->[1]?"true":"false");
+}
+
+# test #IF(keys):line
+$conf->data->set( @conf_args, ('osname' => 'someplatform' ) );
+
+open my $IN, ">", "Makefile_$$.in";
+print $IN "# There should only be =true results in .out\n";
+for my $c (@cond_tests) {
+    my $result = result($c);
+    print $IN "#$c->[0]:$result\n";
+}
+
+close $IN;
+
+$conf->genfile("Makefile_$$.in", "Makefile_$$.out",
+           (makefile => 1, conditioned_lines => 1));
+
+open my $OUT, "<", "Makefile_$$.out";
+
+my $f;
+{
+    local $/;
+    $f = <$OUT>;
+}
+
+close $OUT;
+$index = undef;
+
+for my $c (@cond_tests) {
+    my $result = result($c);
+    if ($c->[2] and $c->[2] =~ /^TODO(.*)$/) {
+        local $TODO = $1;
+        ok(($c->[1] ? $f =~ /^$result$/m : $f !~ /^$result$/m), "$result");
+    }
+    else {
+        ok(($c->[1] ? $f =~ /^$result$/m : $f !~ /^$result$/m), "$result".($c->[2]?" $c->[2]":''));
+    }
+}
+
+# TT #279: reporting the makefile line number
+# step gen::makefiles died during execution:
+#  invalid op "IF" in "#IF(bla)" at "(bla)" at Configure.pl line 72
+open $IN, ">", "Makefile_$$.in";
+print $IN "# Test reporting sourcefile line numbers. TT #279\n";
+print $IN "#IF(IF(bla)):test\n";
+close $IN;
+eval {
+    $conf->genfile("Makefile_$$.in", "Makefile_$$.out",
+                   (makefile => 1, conditioned_lines => 1));
+};
+
+my $error = $@;
+ok($error eq "invalid op \"bla\" in \"IF(bla)\" at \"(bla)\" at Makefile_$$.in line 2\n",
+   "report correct error line");
+
+pass("Completed all tests in $0");
+
+END {
+    unlink "Makefile_$$.in", "Makefile_$$.out", "Makefile_$$.out.tmp";
+}
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+gen_makefiles-01.t - test gen::makefiles
+
+=head1 SYNOPSIS
+
+    % prove t/steps/gen_makefiles-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test gen::makefiles.
+
+=head1 AUTHOR
+
+James E Keenan
+Reini Urban
+
+=head1 SEE ALSO
+
+config::gen::makefiles, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/gen/opengl-01.t (from r39902, branches/darwinhints/t/steps/gen_opengl-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/gen/opengl-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/gen_opengl-01.t)
@@ -0,0 +1,67 @@
+#! perl
+# Copyright (C) 2007-2008, Parrot Foundation.
+# $Id$
+# gen_opengl-01.t
+
+use strict;
+use warnings;
+use Test::More tests =>  5;
+use Carp;
+use lib qw( lib );
+use_ok('config::gen::opengl');
+use Parrot::Configure;
+use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+
+########## regular ##########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [ ],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new;
+my $pkg = q{gen::opengl};
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+  gen_opengl-01.t - test gen::opengl
+
+=head1 SYNOPSIS
+
+    % prove t/steps/gen_opengl-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test gen::opengl.
+
+=head1 AUTHOR
+
+Geoffrey Broadwell; modified from a similar file by James E Keenan.
+
+=head1 SEE ALSO
+
+config::gen::opengl, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/gen/parrot_include-01.t (from r39902, branches/darwinhints/t/steps/gen_parrot_include-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/gen/parrot_include-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/gen_parrot_include-01.t)
@@ -0,0 +1,73 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# gen_parrot_include-01.t
+
+use strict;
+use warnings;
+use Test::More tests =>  7;
+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::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+
+########## regular ##########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [ ],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new;
+my $pkg = q{gen::parrot_include};
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+my %missing_files = ();
+foreach my $f ( @{ $step->{source_files} } ) {
+    $missing_files{$f}++ unless (-f $f);
+}
+is(keys %missing_files, 0, "No needed source files are missing");
+ok(-d $step->{destdir}, "Directory needed has been located");
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+gen_parrot_include-01.t - test gen::parrot_include
+
+=head1 SYNOPSIS
+
+    % prove t/steps/gen_parrot_include-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test gen::parrot_include.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::gen::parrot_include, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/gen/platform-01.t (from r39902, branches/darwinhints/t/steps/gen_platform-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/gen/platform-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/gen_platform-01.t)
@@ -0,0 +1,228 @@
+#! perl
+# Copyright (C) 2007-2008, Parrot Foundation.
+# $Id$
+# gen_platform-01.t
+
+use strict;
+use warnings;
+use Test::More tests => 19;
+use Carp;
+use Cwd;
+use File::Copy;
+use File::Path qw( mkpath );
+use File::Temp qw( tempdir );
+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::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+use Parrot::Configure::Utils qw( _slurp );
+use IO::CaptureOutput qw( capture );
+
+########## regular ##########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [ ],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new;
+my $pkg = q{gen::platform};
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+
+ok(-f $step->{platform_interface},
+    "Located required platform interface header");
+
+my $platform_orig = $conf->data->get_p5('OSNAME');
+my $archname_orig = $conf->data->get_p5('archname');
+$conf->data->set_p5( archname => 'foo-bar' );
+my $verbose = 0;
+
+########## _get_platform() ##########
+
+$conf->data->set_p5( OSNAME => 'msys' );
+is( $step->_get_platform( $conf, $verbose ), q{win32},
+    "Got expected platform for msys");
+
+$conf->data->set_p5( OSNAME => 'mingw' );
+is( $step->_get_platform( $conf, $verbose ), q{win32},
+    "Got expected platform for mingw");
+
+$conf->data->set_p5( OSNAME => 'MSWin32' );
+is( $step->_get_platform( $conf, $verbose ), q{win32},
+    "Got expected platform for MSWin32");
+
+# re-set to original values
+$conf->data->set_p5( OSNAME => $platform_orig );
+$conf->data->set_p5( archname => $archname_orig );
+
+$conf->data->set_p5( archname => 'ia64-bar' );
+is( $step->_get_platform( $conf, $verbose ), q{ia64},
+    "Got expected platform for ia64");
+
+$conf->data->set_p5( archname => 'foo-bar' );
+$conf->data->set_p5( OSNAME => 'foo' );
+{
+    $verbose = 1;
+    my ($stdout, $stderr, $rv);
+    my $expected = q{generic};
+    capture(
+        sub { $rv = $step->_get_platform( $conf, $verbose ) },
+        \$stdout,
+        \$stderr,
+    );
+    is( $rv, $expected, "Got expected platform for foo");
+    like( $stdout, qr/platform='$expected'/, "Got expected verbose output");
+}
+
+# re-set to original values
+$conf->data->set_p5( archname => $archname_orig );
+$conf->data->set_p5( OSNAME => $platform_orig );
+
+########## _get_generated() ##########
+
+my $TEMP_generated_orig = $conf->data->get('TEMP_generated');
+{
+    $verbose = 1;
+    my ($stdout, $stderr, $rv);
+    my $expected = q{foo};
+    $conf->data->set( TEMP_generated => $expected );
+    capture(
+        sub { $rv = $step->_get_generated( $conf, $verbose ) },
+        \$stdout,
+        \$stderr,
+    );
+    is( $rv, $expected, "Got expected generated");
+    like( $stdout, qr/\($expected\)/, "Got expected verbose output");
+}
+$conf->data->set( TEMP_generated => undef );
+$verbose = 0;
+is( $step->_get_generated( $conf, $verbose ), q{},
+    "Got expected generated");
+
+# re-set to original values
+$conf->data->set( TEMP_generated => $TEMP_generated_orig );
+
+########## _handle_asm() ##########
+
+my $platform_asm_orig = $conf->data->get('platform_asm');
+my $cwd = cwd();
+{
+    my $tdir = tempdir( CLEANUP => 1 );
+    chdir $tdir or croak "Unable to change to temporary directory";
+    $conf->data->set( platform_asm => 1 );
+    my $platform = 'aix';
+    mkpath( 'src', { mode => 0755 } ) or croak "Unable to make testing directory";
+    my $asmfile = File::Spec->catfile( 'src', 'platform_asm.s' );
+    open my $FH, '>', $asmfile or croak "Unable to open handle for writing";
+    print $FH "Hello asm\n";
+    close $FH or croak "Unable to close handle after writing";
+    $step->_handle_asm($conf, $platform);
+    my $text = _slurp( $asmfile );
+    like($text, qr/Hello asm/s, "File unchanged, as expected");
+
+    chdir $cwd or croak "Unable to change back to starting directory";
+}
+# re-set to original values
+$conf->data->set( platform_asm => $platform_asm_orig );
+
+{
+    my $tdir = tempdir( CLEANUP => 1 );
+    chdir $tdir or croak "Unable to change to temporary directory";
+    $conf->data->set( platform_asm => 1 );
+    my $platform = 'aix';
+
+    mkpath( 'src', { mode => 0755 } ) or croak "Unable to make testing directory";
+
+    my $asmfile = File::Spec->catfile( 'src', 'platform_asm.s' );
+    open my $FH, '>', $asmfile or croak "Unable to open handle for writing";
+    print $FH "Hello asm\n";
+    close $FH or croak "Unable to close handle after writing";
+
+    my $path = File::Spec->catdir( 'config', 'gen', 'platform', $platform );
+    mkpath( $path, { mode => 0755 } ) or croak "Unable to make testing directory";
+
+    my $configfile = File::Spec->catfile( $path, 'asm.s' );
+    open my $FH2, '>', $configfile or croak "Unable to open handle for writing";
+    print $FH2 "Goodbye world\n";
+    close $FH2 or croak "Unable to close handle after writing";
+
+    $step->_handle_asm($conf, $platform);
+
+    my $text = _slurp( $asmfile );
+    like($text, qr/Goodbye world/s, "File changed, as expected");
+
+    chdir $cwd or croak "Unable to change back to starting directory";
+}
+# re-set to original values
+$conf->data->set( platform_asm => $platform_asm_orig );
+
+########## _handle_begin_c() ##########
+{
+    my $tdir = tempdir( CLEANUP => 1 );
+    chdir $tdir or croak "Unable to change to temporary directory";
+    my $platform = 'darwin';
+
+    my $path = File::Spec->catdir( 'config', 'gen', 'platform', $platform );
+    mkpath( $path, { mode => 0755 } ) or croak "Unable to make testing directory";
+    copy qq{$cwd/config/gen/platform/$platform/begin.c},
+        qq{$path/begin.c}
+            or croak "Unable to copy file for testing";
+
+    mkpath( 'src', { mode => 0755 } ) or croak "Unable to make testing directory";
+    my $plat_c = q{src/platform.c};
+    open my $PLATFORM_C, '>', $plat_c
+        or croak "Unable to open handle for writing";
+    $step->_handle_begin_c($platform, $PLATFORM_C);
+    close $PLATFORM_C or croak "Unable to close handle after writing";
+
+    my $text = _slurp( $plat_c );
+    like($text, qr/#undef environ.*#undef bool/s,
+        "Got expected text in header file");
+    unlike($text, qr/Local variables/s, "Coda stripped, as desired");
+
+    chdir $cwd or croak "Unable to change back to starting directory";
+}
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+gen_platform-01.t - test gen::platform
+
+=head1 SYNOPSIS
+
+    % prove t/steps/gen_platform-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test gen::platform.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::gen::platform, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/gen_call_list-01.t
==============================================================================
--- branches/darwinhints/t/steps/gen_call_list-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,72 +0,0 @@
-#! perl
-# Copyright (C) 2007-2008, Parrot Foundation.
-# $Id$
-# gen_call_list-01.t
-
-use strict;
-use warnings;
-use Test::More tests =>  6;
-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::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-
-########## regular ##########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [ ],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new;
-my $pkg = q{gen::call_list};
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-my $missing_files = 0;
-foreach my $f ( @{ $step->{fragment_files} } ) {
-    $missing_files++ unless (-f $f);
-}
-is($missing_files, 0, "No needed source files are missing");
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-  gen_call_list-01.t - test gen::call_list
-
-=head1 SYNOPSIS
-
-    % prove t/steps/gen_call_list-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test gen::call_list.
-
-=head1 AUTHOR
-
-Geoffrey Broadwell; modified from a similar file by James E Keenan.
-
-=head1 SEE ALSO
-
-config::gen::call_list, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/gen_config_h-01.t
==============================================================================
--- branches/darwinhints/t/steps/gen_config_h-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,92 +0,0 @@
-#! perl
-# Copyright (C) 2007-2009, Parrot Foundation.
-# $Id$
-# gen_config_h-01.t
-
-use strict;
-use warnings;
-use Test::More tests => 11;
-use Carp;
-use Cwd;
-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::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
-    test_step_constructor_and_description
-);
-use Parrot::Configure::Utils qw( _slurp );
-
-########## regular ##########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [ ],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new;
-
-my $serialized = $conf->pcfreeze();
-
-my $pkg = q{gen::config_h};
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-ok(-f $step->{templates}->{config_h}, "Template for config_h located");
-ok(-f $step->{templates}->{feature_h}, "Template for feature_h located");
-ok(-f $step->{templates}->{has_header_h}, "Template for has_header_h located");
-
-$conf->replenish($serialized);
-
-($args, $step_list_ref) = process_options( {
-    argv => [ q{--define=inet_aton} ],
-    mode => q{configure},
-} );
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-gen_config_h-01.t - test gen::config_h
-
-=head1 SYNOPSIS
-
-    % prove t/steps/gen_config_h-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test configuration step gen::config_h.  Since this step
-is primarily concerned with printing to files based on reading certain source
-files and reading data stored in the Parrot::Configure object over the course
-of configuration, no complete simulation by a test file is feasible.  We
-therefore content ourselves with seeing whether the source files needed by the
-step can be located.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::gen::config_h, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/gen_config_pm-01.t
==============================================================================
--- branches/darwinhints/t/steps/gen_config_pm-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,73 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# gen_config_pm-01.t
-
-use strict;
-use warnings;
-use Test::More tests =>   8;
-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::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-
-########## regular ##########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [ ],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new;
-my $pkg = q{gen::config_pm};
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-ok(-f $step->{templates}->{myconfig},
-    "Able to locate template for myconfig");
-ok(-f $step->{templates}->{Config_pm},
-    "Able to locate template for Config_pm");
-ok(-f $step->{templates}->{config_lib},
-    "Able to locate template for config_lib");
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-gen_config_pm-01.t - test gen::config_pm
-
-=head1 SYNOPSIS
-
-    % prove t/steps/gen_config_pm-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test gen::config_pm.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::gen::config_pm, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/gen_core_pmcs-01.t
==============================================================================
--- branches/darwinhints/t/steps/gen_core_pmcs-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,77 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# gen_core_pmcs-01.t
-
-use strict;
-use warnings;
-use Test::More tests => 16;
-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::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-
-########## regular ##########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [ ],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new;
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-test_step_thru_runstep( $conf, q{auto::pmc}, $args );
-my $pkg = q{gen::core_pmcs};
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-my @pmc_names = split / /, $conf->data->get('pmc_names');
-ok( scalar( @pmc_names ),
-    "Got nonzero number of pmc names, which is prerequisite for gen:core_pmcs");
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-gen_core_pmcs-01.t - test gen::core_pmcs
-
-=head1 SYNOPSIS
-
-    % prove t/steps/gen_core_pmcs-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test configuration step gen::core_pmcs.  Since the step
-is primarily concerned with printing files based on reading of a list of
-C<pmc>s found within the Parrot::Configure object's data structure, we content
-ourselves with ensuring that that list has nonzero size.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::gen::core_pmcs, config::auto::pmc, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/gen_crypto-01.t
==============================================================================
--- branches/darwinhints/t/steps/gen_crypto-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,84 +0,0 @@
-#! perl
-# Copyright (C) 2008, Parrot Foundation.
-# $Id$
-# gen_crypto-01.t
-
-use strict;
-use warnings;
-use Test::More tests =>  8;
-use Carp;
-use lib qw( lib );
-use_ok('config::gen::crypto');
-use Parrot::Configure;
-use Parrot::Configure::Options qw( process_options );
-use Parrot::Configure::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
-    test_step_constructor_and_description
-);
-
-########## regular ##########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [ ],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new;
-
-my $serialized = $conf->pcfreeze();
-
-my $pkg = q{gen::crypto};
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-
-ok(-f $step->{digest_pmc_template}, "Able to locate source code file");
-
-my $has_crypto_orig = $conf->data->get('has_crypto');
-$conf->data->set( has_crypto => undef );
-my $ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
-is($step->result(), q{skipped}, "Got expected result");
-# re-set for next test
-$conf->data->set( has_crypto => $has_crypto_orig );
-$step->set_result( q{} );
-
-$conf->replenish($serialized);
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-  gen_crypto-01.t - test gen::crypto
-
-=head1 SYNOPSIS
-
-    % prove t/steps/gen_crypto-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test gen::crypto.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::gen::crypto, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/gen_makefiles-01.t
==============================================================================
--- branches/darwinhints/t/steps/gen_makefiles-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,226 +0,0 @@
-#! perl
-# Copyright (C) 2007-2009, Parrot Foundation.
-# $Id$
-# gen_makefiles-01.t
-
-use strict;
-use warnings;
-my @cond_tests;
-my @conf_args = ( true => 1, false => 0, value => 'xx' );
-BEGIN {
-    @cond_tests =
-      (
-       # perl-syntax       true or false
-       ["IF(true)",             1],
-       ["IF(false)",            0],
-       ["UNLESS(true)",         0],
-       ["UNLESS(false)",        1],
-       ["IF(true | false)",     1],
-       ["IF(true & false)",     0],
-       ["IF(true or true)",     1],
-       ["IF(true or false)",    1],
-       ["IF(false or true)",    1],
-       ["IF(false or false)",   0],
-       ["IF(true and true)",    1],
-       ["IF(true and false)",   0],
-       ["IF(false and true)",   0],
-       ["IF(false and false)",  0],
-       ["UNLESS(true|false)",   0],
-       ["UNLESS(true&false)",   1],
-       ["IF(!false)",           1],
-       ["IF(true)",             1],
-       ["ELSIF(value)",         0],
-       ["ELSE",                 0],
-       ["IF(false)",            0],
-       ["ELSIF(value)",         1],
-       ["ELSE",                 0],
-       ["IF(false)",            0],
-       ["ELSIF(false)",         0],
-       ["ELSE",                 1],
-       # Exercise the parser
-       ["IF(true and (!false and value))",  1],
-       ["IF(true and (!false) and value)",  1],
-       ["IF(true and !false and value)",    1, 'no parens'],
-       ["IF(true and not false and value)", 1, 'no parens'],
-       ["IF(true&!false&value)",            1],
-       ["IF(false or (!false and value))",  1, 'not parser problem'],
-       ["UNLESS(!(true&!false&value))",     1, 'no ws, but nested parens'],
-       ["IF(true&(!false&false))",          0, 'not precedence'],
-       ["IF(true&(!false&value))",          1],
-       ["IF(not true and value)",           0, 'not precedence over and'],
-       ["IF(not false and value)",          1],
-       ["IF((not false) and value)",        1],
-       ["IF(not (false and value))",        1],
-       ["IF(not (false or value))",         0],
-       ["IF(true and not false)",           1],
-       # platform
-       ["IF(someplatform)",                 1],
-       ["IF(not someplatform)",             0],
-       ["UNLESS(someplatform)",             0],
-       ["UNLESS(not someplatform)",         1],
-       # key==value
-       ["IF(value==xx)",                    1],
-       ["IF(value==xxy)",                   0],
-       ["UNLESS(value==xx)",                0],
-       ["UNLESS(value==xxy)",               1],
-       ["IF(true & (value==xx & (!false)))",1],
-       # These are invalid:
-       #["IF(value == xx)",                 0], # invalid op error
-       #["IF(value = xx)",                  0], # invalid op error
-       ["IF(value=xx)",                     0], # also invalid, no warning. checks for key value=xx
-
-       # Legacy syntax                 true or false
-       ["CONDITIONED_LINE(true)",           1],
-       ["INVERSE_CONDITIONED_LINE(true)",   0],
-       ["CONDITIONED_LINE(false)",          0],
-       ["INVERSE_CONDITIONED_LINE(false)",  1],
-      );
-}
-
-use Test::More tests => (8 + @cond_tests);
-use Carp;
-use lib qw( . lib );
-
-use_ok('config::gen::makefiles');
-
-use Parrot::Configure;
-use Parrot::Configure::Options qw( process_options );
-use Parrot::Configure::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-
-########## regular ##########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [ ],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new();
-my $pkg  = 'gen::makefiles';
-
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-
-my $step           = test_step_constructor_and_description($conf);
-my $missing_SOURCE = 0;
-my %makefiles      = %{ $step->{makefiles} };
-
-foreach my $k ( keys %makefiles ) {
-    $missing_SOURCE++ unless (-f $makefiles{$k}{SOURCE});
-}
-
-is($missing_SOURCE, 0, "No Makefile source file missing");
-ok(-f $step->{CFLAGS_source}, "CFLAGS source file located");
-
-my $index = undef;
-sub result {
-    my $c = shift;
-    my $s = $c->[0];
-    $s =~ s/^\+/plus_/;
-    $s =~ s/^\-/minus_/;
-    $s =~ s/\|/OR/g;
-    $s =~ s/\&/AND/g;
-    $s =~ s/\!/NOT/g;
-    $s =~ s/[\()]//g;
-    $s =~ s/ /_/g;
-    $s .= ("_".++$index) if $s =~ /^(ELSE|ELSIF)/;
-
-    return $s."=".($c->[1]?"true":"false");
-}
-
-# test #IF(keys):line
-$conf->data->set( @conf_args, ('osname' => 'someplatform' ) );
-
-open my $IN, ">", "Makefile_$$.in";
-print $IN "# There should only be =true results in .out\n";
-for my $c (@cond_tests) {
-    my $result = result($c);
-    print $IN "#$c->[0]:$result\n";
-}
-
-close $IN;
-
-$conf->genfile("Makefile_$$.in", "Makefile_$$.out",
-           (makefile => 1, conditioned_lines => 1));
-
-open my $OUT, "<", "Makefile_$$.out";
-
-my $f;
-{
-    local $/;
-    $f = <$OUT>;
-}
-
-close $OUT;
-$index = undef;
-
-for my $c (@cond_tests) {
-    my $result = result($c);
-    if ($c->[2] and $c->[2] =~ /^TODO(.*)$/) {
-        local $TODO = $1;
-        ok(($c->[1] ? $f =~ /^$result$/m : $f !~ /^$result$/m), "$result");
-    }
-    else {
-        ok(($c->[1] ? $f =~ /^$result$/m : $f !~ /^$result$/m), "$result".($c->[2]?" $c->[2]":''));
-    }
-}
-
-# TT #279: reporting the makefile line number
-# step gen::makefiles died during execution:
-#  invalid op "IF" in "#IF(bla)" at "(bla)" at Configure.pl line 72
-open $IN, ">", "Makefile_$$.in";
-print $IN "# Test reporting sourcefile line numbers. TT #279\n";
-print $IN "#IF(IF(bla)):test\n";
-close $IN;
-eval {
-    $conf->genfile("Makefile_$$.in", "Makefile_$$.out",
-                   (makefile => 1, conditioned_lines => 1));
-};
-
-my $error = $@;
-ok($error eq "invalid op \"bla\" in \"IF(bla)\" at \"(bla)\" at Makefile_$$.in line 2\n",
-   "report correct error line");
-
-pass("Completed all tests in $0");
-
-END {
-    unlink "Makefile_$$.in", "Makefile_$$.out", "Makefile_$$.out.tmp";
-}
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-gen_makefiles-01.t - test gen::makefiles
-
-=head1 SYNOPSIS
-
-    % prove t/steps/gen_makefiles-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test gen::makefiles.
-
-=head1 AUTHOR
-
-James E Keenan
-Reini Urban
-
-=head1 SEE ALSO
-
-config::gen::makefiles, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/gen_opengl-01.t
==============================================================================
--- branches/darwinhints/t/steps/gen_opengl-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,67 +0,0 @@
-#! perl
-# Copyright (C) 2007-2008, Parrot Foundation.
-# $Id$
-# gen_opengl-01.t
-
-use strict;
-use warnings;
-use Test::More tests =>  5;
-use Carp;
-use lib qw( lib );
-use_ok('config::gen::opengl');
-use Parrot::Configure;
-use Parrot::Configure::Options qw( process_options );
-use Parrot::Configure::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-
-########## regular ##########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [ ],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new;
-my $pkg = q{gen::opengl};
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-  gen_opengl-01.t - test gen::opengl
-
-=head1 SYNOPSIS
-
-    % prove t/steps/gen_opengl-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test gen::opengl.
-
-=head1 AUTHOR
-
-Geoffrey Broadwell; modified from a similar file by James E Keenan.
-
-=head1 SEE ALSO
-
-config::gen::opengl, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/gen_parrot_include-01.t
==============================================================================
--- branches/darwinhints/t/steps/gen_parrot_include-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,73 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# gen_parrot_include-01.t
-
-use strict;
-use warnings;
-use Test::More tests =>  7;
-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::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-
-########## regular ##########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [ ],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new;
-my $pkg = q{gen::parrot_include};
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-my %missing_files = ();
-foreach my $f ( @{ $step->{source_files} } ) {
-    $missing_files{$f}++ unless (-f $f);
-}
-is(keys %missing_files, 0, "No needed source files are missing");
-ok(-d $step->{destdir}, "Directory needed has been located");
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-gen_parrot_include-01.t - test gen::parrot_include
-
-=head1 SYNOPSIS
-
-    % prove t/steps/gen_parrot_include-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test gen::parrot_include.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::gen::parrot_include, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/gen_platform-01.t
==============================================================================
--- branches/darwinhints/t/steps/gen_platform-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,228 +0,0 @@
-#! perl
-# Copyright (C) 2007-2008, Parrot Foundation.
-# $Id$
-# gen_platform-01.t
-
-use strict;
-use warnings;
-use Test::More tests => 19;
-use Carp;
-use Cwd;
-use File::Copy;
-use File::Path qw( mkpath );
-use File::Temp qw( tempdir );
-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::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-use Parrot::Configure::Utils qw( _slurp );
-use IO::CaptureOutput qw( capture );
-
-########## regular ##########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [ ],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new;
-my $pkg = q{gen::platform};
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-
-ok(-f $step->{platform_interface},
-    "Located required platform interface header");
-
-my $platform_orig = $conf->data->get_p5('OSNAME');
-my $archname_orig = $conf->data->get_p5('archname');
-$conf->data->set_p5( archname => 'foo-bar' );
-my $verbose = 0;
-
-########## _get_platform() ##########
-
-$conf->data->set_p5( OSNAME => 'msys' );
-is( $step->_get_platform( $conf, $verbose ), q{win32},
-    "Got expected platform for msys");
-
-$conf->data->set_p5( OSNAME => 'mingw' );
-is( $step->_get_platform( $conf, $verbose ), q{win32},
-    "Got expected platform for mingw");
-
-$conf->data->set_p5( OSNAME => 'MSWin32' );
-is( $step->_get_platform( $conf, $verbose ), q{win32},
-    "Got expected platform for MSWin32");
-
-# re-set to original values
-$conf->data->set_p5( OSNAME => $platform_orig );
-$conf->data->set_p5( archname => $archname_orig );
-
-$conf->data->set_p5( archname => 'ia64-bar' );
-is( $step->_get_platform( $conf, $verbose ), q{ia64},
-    "Got expected platform for ia64");
-
-$conf->data->set_p5( archname => 'foo-bar' );
-$conf->data->set_p5( OSNAME => 'foo' );
-{
-    $verbose = 1;
-    my ($stdout, $stderr, $rv);
-    my $expected = q{generic};
-    capture(
-        sub { $rv = $step->_get_platform( $conf, $verbose ) },
-        \$stdout,
-        \$stderr,
-    );
-    is( $rv, $expected, "Got expected platform for foo");
-    like( $stdout, qr/platform='$expected'/, "Got expected verbose output");
-}
-
-# re-set to original values
-$conf->data->set_p5( archname => $archname_orig );
-$conf->data->set_p5( OSNAME => $platform_orig );
-
-########## _get_generated() ##########
-
-my $TEMP_generated_orig = $conf->data->get('TEMP_generated');
-{
-    $verbose = 1;
-    my ($stdout, $stderr, $rv);
-    my $expected = q{foo};
-    $conf->data->set( TEMP_generated => $expected );
-    capture(
-        sub { $rv = $step->_get_generated( $conf, $verbose ) },
-        \$stdout,
-        \$stderr,
-    );
-    is( $rv, $expected, "Got expected generated");
-    like( $stdout, qr/\($expected\)/, "Got expected verbose output");
-}
-$conf->data->set( TEMP_generated => undef );
-$verbose = 0;
-is( $step->_get_generated( $conf, $verbose ), q{},
-    "Got expected generated");
-
-# re-set to original values
-$conf->data->set( TEMP_generated => $TEMP_generated_orig );
-
-########## _handle_asm() ##########
-
-my $platform_asm_orig = $conf->data->get('platform_asm');
-my $cwd = cwd();
-{
-    my $tdir = tempdir( CLEANUP => 1 );
-    chdir $tdir or croak "Unable to change to temporary directory";
-    $conf->data->set( platform_asm => 1 );
-    my $platform = 'aix';
-    mkpath( 'src', { mode => 0755 } ) or croak "Unable to make testing directory";
-    my $asmfile = File::Spec->catfile( 'src', 'platform_asm.s' );
-    open my $FH, '>', $asmfile or croak "Unable to open handle for writing";
-    print $FH "Hello asm\n";
-    close $FH or croak "Unable to close handle after writing";
-    $step->_handle_asm($conf, $platform);
-    my $text = _slurp( $asmfile );
-    like($text, qr/Hello asm/s, "File unchanged, as expected");
-
-    chdir $cwd or croak "Unable to change back to starting directory";
-}
-# re-set to original values
-$conf->data->set( platform_asm => $platform_asm_orig );
-
-{
-    my $tdir = tempdir( CLEANUP => 1 );
-    chdir $tdir or croak "Unable to change to temporary directory";
-    $conf->data->set( platform_asm => 1 );
-    my $platform = 'aix';
-
-    mkpath( 'src', { mode => 0755 } ) or croak "Unable to make testing directory";
-
-    my $asmfile = File::Spec->catfile( 'src', 'platform_asm.s' );
-    open my $FH, '>', $asmfile or croak "Unable to open handle for writing";
-    print $FH "Hello asm\n";
-    close $FH or croak "Unable to close handle after writing";
-
-    my $path = File::Spec->catdir( 'config', 'gen', 'platform', $platform );
-    mkpath( $path, { mode => 0755 } ) or croak "Unable to make testing directory";
-
-    my $configfile = File::Spec->catfile( $path, 'asm.s' );
-    open my $FH2, '>', $configfile or croak "Unable to open handle for writing";
-    print $FH2 "Goodbye world\n";
-    close $FH2 or croak "Unable to close handle after writing";
-
-    $step->_handle_asm($conf, $platform);
-
-    my $text = _slurp( $asmfile );
-    like($text, qr/Goodbye world/s, "File changed, as expected");
-
-    chdir $cwd or croak "Unable to change back to starting directory";
-}
-# re-set to original values
-$conf->data->set( platform_asm => $platform_asm_orig );
-
-########## _handle_begin_c() ##########
-{
-    my $tdir = tempdir( CLEANUP => 1 );
-    chdir $tdir or croak "Unable to change to temporary directory";
-    my $platform = 'darwin';
-
-    my $path = File::Spec->catdir( 'config', 'gen', 'platform', $platform );
-    mkpath( $path, { mode => 0755 } ) or croak "Unable to make testing directory";
-    copy qq{$cwd/config/gen/platform/$platform/begin.c},
-        qq{$path/begin.c}
-            or croak "Unable to copy file for testing";
-
-    mkpath( 'src', { mode => 0755 } ) or croak "Unable to make testing directory";
-    my $plat_c = q{src/platform.c};
-    open my $PLATFORM_C, '>', $plat_c
-        or croak "Unable to open handle for writing";
-    $step->_handle_begin_c($platform, $PLATFORM_C);
-    close $PLATFORM_C or croak "Unable to close handle after writing";
-
-    my $text = _slurp( $plat_c );
-    like($text, qr/#undef environ.*#undef bool/s,
-        "Got expected text in header file");
-    unlike($text, qr/Local variables/s, "Coda stripped, as desired");
-
-    chdir $cwd or croak "Unable to change back to starting directory";
-}
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-gen_platform-01.t - test gen::platform
-
-=head1 SYNOPSIS
-
-    % prove t/steps/gen_platform-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test gen::platform.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::gen::platform, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/init/defaults-01.t (from r39902, branches/darwinhints/t/steps/init_defaults-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/init/defaults-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/init_defaults-01.t)
@@ -0,0 +1,183 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# init_defaults-01.t
+
+use strict;
+use warnings;
+use Test::More tests => 39;
+use Carp;
+use Cwd;
+use File::Copy;
+use File::Temp qw| tempdir |;
+use lib qw( lib );
+use_ok('config::init::defaults');
+use Parrot::Configure;
+use Parrot::Configure::Step;
+use Parrot::Configure::Options qw( process_options );
+use base qw(Parrot::Configure::Step);
+use Parrot::Configure::Test qw(
+    test_step_constructor_and_description
+);
+
+########## no debugging; profile; m 32 ##########
+
+my $pkg  = q{init::defaults};
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [ q{--debugging=0}, q{--profile}, q{--m=32} ],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new;
+$conf->add_steps($pkg);
+
+my $serialized = $conf->pcfreeze();
+
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+my $ret = $step->runstep($conf);
+ok( defined $ret, "runstep() returned defined value" );
+
+$conf->replenish($serialized);
+
+########## mock absence of 'DEVELOPING' ##########
+
+my $cwd = cwd();
+{
+    my $tdir = tempdir( CLEANUP => 1 );
+    ok( chdir $tdir, "Changed to temporary directory for testing" );
+    ok( copy( "$cwd/VERSION", "$tdir/VERSION" ),
+        "Able to copy VERSION for testing" );
+
+    my $pkg  = q{init::defaults};
+    my ($args, $step_list_ref) = process_options(
+        {
+            argv => [],
+            mode => q{configure},
+        }
+    );
+    $conf->options->set( %{$args} );
+    my $step = test_step_constructor_and_description($conf);
+
+    my $ret = $step->runstep($conf);
+    ok( defined $ret, "runstep() returned defined value" );
+
+    unlink "$tdir/VERSION"
+        or croak "Unable to unlink file from tempdir after testing";
+    ok( chdir $cwd, "Able to change back to directory after testing" );
+}
+
+$conf->replenish($serialized);
+
+########## m 32 ##########
+
+($args, $step_list_ref) = process_options(
+    {
+        argv => [ q{--m=32} ],
+        mode => q{configure},
+    }
+);
+
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+
+$conf->data->set( archname => 'x86_64' );
+$conf->data->set( cc => 'cc' );
+$conf->data->set( cxx => 'c++' );
+$conf->data->set( link => 'cc' );
+$conf->data->set( ld => 'env cc' );
+$conf->data->set( ld_load_flags => '-bundle -L/usr/local/lib64' );
+$conf->data->set( ld_share_flags => '-bundle -L/usr/local/lib64' );
+$conf->data->set( ldflags => '-bundle -L/usr/local/lib64' );
+$conf->data->set( linkflags => '-bundle -L/usr/local/lib64' );
+ok(init::defaults::_64_bit_adjustments($conf),
+    "_64_bit_adjustments() returned true");
+is($conf->data->get( 'archname' ), 'i386', "Got expected value for 'archname'");
+is($conf->data->get( 'cc' ), 'cc -m32', "Got expected value for 'cc'");
+is($conf->data->get( 'cxx' ), 'c++ -m32', "Got expected value for 'cxx'");
+is($conf->data->get( 'link' ), 'cc -m32', "Got expected value for 'link'");
+is($conf->data->get( 'ld' ), 'env cc -m32', "Got expected value for 'ld'");
+is($conf->data->get( 'ld_load_flags' ), '-bundle -L/usr/local/lib',
+    "Got expected value for 'ld_load_flags'");
+is($conf->data->get( 'ld_share_flags' ), '-bundle -L/usr/local/lib',
+    "Got expected value for 'ld_share_flags");
+is($conf->data->get( 'ldflags' ), '-bundle -L/usr/local/lib',
+    "Got expected value for 'ldflags'");
+is($conf->data->get( 'linkflags' ), '-bundle -L/usr/local/lib',
+    "Got expected value for 'linkflags'");
+
+$conf->replenish($serialized);
+
+########## regular ##########
+
+($args, $step_list_ref) = process_options(
+    {
+        argv => [ ],
+        mode => q{configure},
+    }
+);
+
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+
+$conf->data->set( archname => 'x86_64' );
+$conf->data->set( cc => 'cc' );
+$conf->data->set( cxx => 'c++' );
+$conf->data->set( link => 'cc' );
+$conf->data->set( ld => 'env cc' );
+$conf->data->set( ld_load_flags => '-bundle -L/usr/local/lib64' );
+$conf->data->set( ld_share_flags => '-bundle -L/usr/local/lib64' );
+$conf->data->set( ldflags => '-bundle -L/usr/local/lib64' );
+$conf->data->set( linkflags => '-bundle -L/usr/local/lib64' );
+ok(init::defaults::_64_bit_adjustments($conf),
+    "_64_bit_adjustments() returned true");
+is($conf->data->get( 'archname' ), 'x86_64', "Got expected value for 'archname'");
+is($conf->data->get( 'cc' ), 'cc', "Got expected value for 'cc'");
+is($conf->data->get( 'cxx' ), 'c++', "Got expected value for 'cxx'");
+is($conf->data->get( 'link' ), 'cc', "Got expected value for 'link'");
+is($conf->data->get( 'ld' ), 'env cc', "Got expected value for 'ld'");
+is($conf->data->get( 'ld_load_flags' ), '-bundle -L/usr/local/lib64',
+    "Got expected value for 'ld_load_flags'");
+is($conf->data->get( 'ld_share_flags' ), '-bundle -L/usr/local/lib64',
+    "Got expected value for 'ld_share_flags");
+is($conf->data->get( 'ldflags' ), '-bundle -L/usr/local/lib64',
+    "Got expected value for 'ldflags'");
+is($conf->data->get( 'linkflags' ), '-bundle -L/usr/local/lib64',
+    "Got expected value for 'linkflags'");
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+init_defaults-01.t - test init::defaults
+
+=head1 SYNOPSIS
+
+    % prove t/steps/init_defaults-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test init::defaults.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::init::defaults, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/init/headers-01.t (from r39902, branches/darwinhints/t/steps/init_headers-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/init/headers-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/init_headers-01.t)
@@ -0,0 +1,95 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# init_headers-01.t
+
+use strict;
+use warnings;
+use Test::More tests => 7;
+use Carp;
+use Cwd;
+use File::Copy;
+use File::Temp qw(tempdir);
+use Tie::File;
+use lib qw( lib );
+use_ok('config::init::headers');
+use Parrot::Configure;
+use Parrot::Configure::Options qw( process_options );
+
+my $pkg  = q{init::headers};
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new;
+$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 $cwd = cwd();
+{
+    my $tdir = tempdir( CLEANUP => 1 );
+    chdir $tdir or croak "Unable to change to tempdir for testing";
+    copy qq{$cwd/MANIFEST}, qq{$tdir/MANIFEST}
+        or croak "Unable to copy MANIFEST for testing";
+    my @lines;
+    tie @lines, 'Tie::File', qq{$tdir/MANIFEST}
+        or croak "Unable to tie to temporary MANIFEST";
+    push @lines, q{include/parrot/phony.h    [main]include};
+    untie @lines;
+    my $ret = $step->runstep($conf);
+    ok( defined $ret, "runstep() returned defined value" );
+    like( $conf->data->get(q{TEMP_nongen_headers}), qr{\$\(INC_DIR\)/phony\.h\\},
+qq{Header added to MANIFEST for testing purposes correctly detected in Parrot::Configure object data structure}
+    );
+
+    unlink qq{$tdir/MANIFEST}
+        or croak "Unable to delete file after testing";
+    chdir $cwd
+        or croak "Unable to change back to starting directory after testing";
+}
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+init_headers-01.t - test init::headers
+
+=head1 SYNOPSIS
+
+    % prove t/steps/init_headers-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test init::headers.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::init::headers, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/init/hints-01.t (from r39902, branches/darwinhints/t/steps/init_hints-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/init/hints-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/init_hints-01.t)
@@ -0,0 +1,203 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# init_hints-01.t
+
+use strict;
+use warnings;
+use Test::More tests => 26;
+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::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+use IO::CaptureOutput qw | capture |;
+
+########## --verbose ##########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [q{--verbose}],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new;
+
+test_step_thru_runstep( $conf, q{init::defaults}, $args );
+
+my $pkg = q{init::hints};
+
+$conf->add_steps($pkg);
+
+my $serialized = $conf->pcfreeze();
+
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+
+# need to capture the --verbose output, because the fact that it does not end
+# in a newline confuses Test::Harness
+{
+    my $rv;
+    my $stdout;
+    capture ( sub {$rv = $step->runstep($conf)}, \$stdout);
+    ok( $stdout, "verbose output:  hints were captured" );
+    ok( defined $rv, "runstep() returned defined value" );
+}
+
+$conf->replenish($serialized);
+
+########## --verbose; local hints directory ##########
+
+($args, $step_list_ref) = process_options(
+    {
+        argv => [q{--verbose}],
+        mode => q{configure},
+    }
+);
+
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+
+my $cwd = cwd();
+{
+    my $tdir = tempdir( CLEANUP => 1 );
+    File::Path::mkpath(qq{$tdir/init/hints})
+        or croak "Unable to create directory for local hints";
+    my $localhints = qq{$tdir/init/hints/local.pm};
+    open my $FH, '>', $localhints
+        or croak "Unable to open temp file for writing";
+    print $FH <<END;
+package init::hints::local;
+use strict;
+sub runstep {
+    return 1;
+}
+1;
+END
+    close $FH or croak "Unable to close temp file after writing";
+    unshift( @INC, $tdir );
+
+    {
+     my $rv;
+     my $stdout;
+     capture ( sub {$rv = $step->runstep($conf)}, \$stdout);
+     ok( $stdout, "verbose output:  hints were captured" );
+     ok( defined $rv, "runstep() returned defined value" );
+    }
+    unlink $localhints or croak "Unable to delete $localhints";
+}
+
+$conf->replenish($serialized);
+
+########## --verbose; local hints directory; no runstep() in local hints ##########
+
+($args, $step_list_ref) = process_options(
+    {
+        argv => [q{--verbose}],
+        mode => q{configure},
+    }
+);
+
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+
+$cwd = cwd();
+{
+    my $tdir = tempdir( CLEANUP => 1 );
+    File::Path::mkpath(qq{$tdir/init/hints})
+        or croak "Unable to create directory for local hints";
+    my $localhints = qq{$tdir/init/hints/local.pm};
+    open my $FH, '>', $localhints
+        or croak "Unable to open temp file for writing";
+    print $FH <<END;
+package init::hints::local;
+use strict;
+1;
+END
+    close $FH or croak "Unable to close temp file after writing";
+    unshift( @INC, $tdir );
+
+    {
+     my $rv;
+     my $stdout;
+     capture ( sub {$rv = $step->runstep($conf)}, \$stdout);
+     ok( $stdout, "verbose output:  hints were captured" );
+     ok( defined $rv, "runstep() returned defined value" );
+    }
+    unlink $localhints or croak "Unable to delete $localhints";
+}
+
+$conf->replenish($serialized);
+
+########## --verbose; imaginary OS ##########
+
+($args, $step_list_ref) = process_options(
+    {
+        argv => [ q{--verbose} ],
+        mode => q{configure},
+    }
+);
+
+$conf->options->set( %{$args} );
+$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' ) );
+    my $hints_file = catfile('config', 'init', 'hints', "$osname.pm");
+    capture (
+        sub { $ret = $step->runstep($conf); },
+        \$stdout,
+        \$stderr,
+    );;
+    like(
+        $stdout,
+        qr/No \Q$hints_file\E found/s,
+        "Got expected verbose output when no hints file found"
+    );
+}
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+init_hints-01.t - test init::hints
+
+=head1 SYNOPSIS
+
+    % prove t/steps/init_hints-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test init::hints.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::init::hints, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/init/install-01.t (from r39902, branches/darwinhints/t/steps/init_install-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/init/install-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/init_install-01.t)
@@ -0,0 +1,138 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# init_install-01.t
+use strict;
+use warnings;
+use Test::More tests => 36;
+use Carp;
+use Cwd;
+use File::Temp qw(tempdir);
+use lib qw( lib t/configure/testlib );
+use Parrot::Configure;
+use Parrot::Configure::Options qw( process_options );
+use_ok('config::init::install');
+use Parrot::Configure::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+
+my $cwd = cwd();
+{
+    my $tdir  = tempdir( CLEANUP => 1 );
+    my $tdir1 = tempdir( CLEANUP => 1 );
+    my ($args, $step_list_ref) = process_options(
+        {
+            argv => [
+                qq{--prefix=$tdir},         qq{--exec-prefix=$tdir},
+                qq{--bindir=$tdir1},        qq{--sbindir=$tdir1},
+                qq{--libexecdir=$tdir1},    qq{--datadir=$tdir1},
+                qq{--sysconfdir=$tdir1},    qq{--sharedstatedir=$tdir1},
+                qq{--localstatedir=$tdir1}, qq{--libdir=$tdir1},
+                qq{--includedir=$tdir1},    qq{--oldincludedir=$tdir1},
+                qq{--infodir=$tdir1},       qq{--mandir=$tdir1},
+            ],
+            mode => q{configure},
+        }
+    );
+
+    my $conf = Parrot::Configure->new;
+
+    my $serialized = $conf->pcfreeze();
+
+    test_step_thru_runstep( $conf, q{init::install}, $args );
+
+    is( $conf->data->get('prefix'),         $tdir,  "--prefix option confirmed" );
+    is( $conf->data->get('exec_prefix'),    $tdir,  "--exec-prefix option confirmed" );
+    is( $conf->data->get('bindir'),         $tdir1, "--bindir option confirmed" );
+    is( $conf->data->get('sbindir'),        $tdir1, "--sbindir option confirmed" );
+    is( $conf->data->get('libexecdir'),     $tdir1, "--libexecdir option confirmed" );
+    is( $conf->data->get('datadir'),        $tdir1, "--datadir option confirmed" );
+    is( $conf->data->get('sharedstatedir'), $tdir1, "--sharedstatedir option confirmed" );
+    is( $conf->data->get('localstatedir'),  $tdir1, "--localstatedir option confirmed" );
+    is( $conf->data->get('libdir'),         $tdir1, "--libdir option confirmed" );
+    is( $conf->data->get('includedir'),     $tdir1, "--includedir option confirmed" );
+    is( $conf->data->get('oldincludedir'),  $tdir1, "--oldincludedir option confirmed" );
+    is( $conf->data->get('infodir'),        $tdir1, "--infodir option confirmed" );
+    is( $conf->data->get('mandir'),         $tdir1, "--mandir option confirmed" );
+
+    $conf->replenish($serialized);
+
+    my $tdir2      = tempdir( CLEANUP => 1 );
+    my $tdir_orig = $tdir2;
+    $tdir2 .= q{/};
+    my $tdir3 = tempdir( CLEANUP => 1 );
+    ($args, $step_list_ref) = process_options(
+        {
+            argv => [
+                qq{--prefix=$tdir2},         qq{--exec-prefix=$tdir2},
+                qq{--bindir=$tdir3},        qq{--sbindir=$tdir3},
+                qq{--libexecdir=$tdir3},    qq{--datadir=$tdir3},
+                qq{--sysconfdir=$tdir3},    qq{--sharedstatedir=$tdir3},
+                qq{--localstatedir=$tdir3}, qq{--libdir=$tdir3},
+                qq{--includedir=$tdir3},    qq{--oldincludedir=$tdir3},
+                qq{--infodir=$tdir3},       qq{--mandir=$tdir3},
+            ],
+            mode => q{configure},
+        }
+    );
+
+    my $pkg = q{init::install};
+    $conf->add_steps($pkg);
+    $conf->options->set( %{$args} );
+    my $step = test_step_constructor_and_description($conf);
+
+    my $ret = $step->runstep($conf);
+    ok( defined $ret, "runstep() returned defined value" );
+
+    is( $conf->data->get('prefix'),
+        $tdir_orig, "--prefix option confirmed; trailing slash stripped" );
+    is( $conf->data->get('exec_prefix'),
+        $tdir_orig, "--exec-prefix option confirmed; trailing slash stripped" );
+    is( $conf->data->get('bindir'),         $tdir3, "--bindir option confirmed" );
+    is( $conf->data->get('sbindir'),        $tdir3, "--sbindir option confirmed" );
+    is( $conf->data->get('libexecdir'),     $tdir3, "--libexecdir option confirmed" );
+    is( $conf->data->get('datadir'),        $tdir3, "--datadir option confirmed" );
+    is( $conf->data->get('sharedstatedir'), $tdir3, "--sharedstatedir option confirmed" );
+    is( $conf->data->get('localstatedir'),  $tdir3, "--localstatedir option confirmed" );
+    is( $conf->data->get('libdir'),         $tdir3, "--libdir option confirmed" );
+    is( $conf->data->get('includedir'),     $tdir3, "--includedir option confirmed" );
+    is( $conf->data->get('oldincludedir'),  $tdir3, "--oldincludedir option confirmed" );
+    is( $conf->data->get('infodir'),        $tdir3, "--infodir option confirmed" );
+    is( $conf->data->get('mandir'),         $tdir3, "--mandir option confirmed" );
+}
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+init_install-01.t - test init::install
+
+=head1 SYNOPSIS
+
+    % prove t/steps/init_install-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test init::install.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::init::install, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/init/manifest-01.t (from r39902, branches/darwinhints/t/steps/init_manifest-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/init/manifest-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/init_manifest-01.t)
@@ -0,0 +1,124 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# init_manifest-01.t
+
+use strict;
+use warnings;
+use Test::More tests => 12;
+use Carp;
+use Cwd;
+use File::Copy;
+use File::Temp qw(tempdir);
+use lib qw( lib );
+use_ok('config::init::manifest');
+use Parrot::Configure;
+use Parrot::Configure::Options qw( process_options );
+use IO::CaptureOutput qw | capture |;
+
+########## no manifest check ##########
+
+my $pkg  = q{init::manifest};
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [q{--nomanicheck}],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new;
+$conf->add_steps($pkg);
+
+my $serialized = $conf->pcfreeze();
+
+$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" );
+
+ok(defined ($step->result), "result defined");
+ok(! ($step->result), "result not yet true");
+my $ret = $step->runstep($conf);
+ok( defined $ret, "runstep() returned defined value" );
+is( $step->result, q{skipped},
+    "Because of --nomanicheck, result is 'skipped'." );
+
+$conf->replenish($serialized);
+
+########## mock missing files ##########
+
+($args, $step_list_ref) = process_options(
+    {
+        argv => [],
+        mode => q{configure},
+    }
+);
+$conf->options->set( %{$args} );
+
+$task        = $conf->steps->[-1];
+$step_name   = $task->step;
+
+$step = $step_name->new();
+ok( defined $step, "$step_name constructor returned defined value" );
+isa_ok( $step, $step_name );
+
+my $cwd = cwd();
+{
+    my $tdir = tempdir( CLEANUP => 1 );
+    chdir $tdir or croak "Unable to change to tempdir";
+    copy( qq{$cwd/MANIFEST}, qq{$tdir/MANIFEST} )
+        or croak "Unable to copy MANIFEST";
+    {
+        my ($rv, $stdout, $stderr);
+        capture(
+            sub { $rv = $step->runstep($conf); },
+            \$stdout,
+            \$stderr,
+        );
+        is( $rv, undef, "runstep returned undef" );
+    }
+    unlink qq{$tdir/MANIFEST}
+        or croak "Unable to delete file after testing";
+    chdir $cwd or croak "Unable to change back";
+}
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+init_manifest-01.t - test init::manifest
+
+=head1 SYNOPSIS
+
+    % prove t/steps/init_manifest-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test methods found in config::init::manifest.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::init::manifest, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:
+

Copied: branches/darwinhints/t/steps/init/optimize-01.t (from r39902, branches/darwinhints/t/steps/init_optimize-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/init/optimize-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/init_optimize-01.t)
@@ -0,0 +1,155 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# init_optimize-01.t
+use strict;
+use warnings;
+use Test::More tests => 33;
+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::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+use IO::CaptureOutput qw | capture |;
+
+########## no optimization (default) ##########
+
+my ($args, $step_list_ref) = process_options( {
+    argv => [],
+    mode => q{configure},
+} );
+
+my $conf = Parrot::Configure->new();
+
+test_step_thru_runstep( $conf, q{init::defaults}, $args );
+
+my $pkg = q{init::optimize};
+
+$conf->add_steps($pkg);
+
+my $serialized = $conf->pcfreeze();
+
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+my $ret = $step->runstep($conf);
+ok( defined $ret, "runstep() returned defined value" );
+
+$conf->replenish($serialized);
+
+########## --optimize  ##########
+
+($args, $step_list_ref) = process_options( {
+    argv => [q{--optimize}],
+    mode => q{configure},
+} );
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+$ret = $step->runstep($conf);
+ok( defined $ret, "runstep() returned defined value" );
+
+$conf->replenish($serialized);
+
+########## --verbose  ##########
+
+($args, $step_list_ref) = process_options( {
+    argv => [q{--verbose}],
+    mode => q{configure},
+} );
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+{
+    my $rv;
+    my $stdout;
+    capture ( sub {$rv = $step->runstep($conf) }, \$stdout);
+    ok( defined $rv, "step_name runstep() returned defined value" );
+    ok( $stdout, "verbose output captured" );
+}
+
+$conf->replenish($serialized);
+
+########## --optimize=O2  ##########
+
+($args, $step_list_ref) = process_options( {
+    argv => [q{--optimize=O2}],
+    mode => q{configure},
+} );
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+$ret = $step->runstep($conf);
+ok( defined $ret, "runstep() returned defined value" );
+
+$conf->replenish($serialized);
+
+########## --optimize; gcc 3.3  ##########
+
+($args, $step_list_ref) = process_options( {
+    argv => [q{--optimize}],
+    mode => q{configure},
+} );
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+$conf->data->set('gccversion' => '3.3');
+$ret = $step->runstep($conf);
+ok( defined $ret, "runstep() returned defined value" );
+
+$conf->replenish($serialized);
+
+########## --optimize, --verbose; gcc 4.1 ##########
+
+($args, $step_list_ref) = process_options( {
+    argv => [q{--optimize}, q{--verbose}],
+    mode => q{configure},
+} );
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+$conf->data->set('gccversion' => '4.1');
+# need to capture the --verbose output,
+# because the fact that it does not end
+# in a newline confuses Test::Harness
+{
+      my $rv;
+      my $stdout;
+      capture ( sub {$rv = $step->runstep($conf) }, \$stdout);
+      ok( defined $rv, "runstep() returned defined value" );
+      ok( $stdout, "verbose output captured" );
+}
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+init_optimize-01.t - test init::optimize
+
+=head1 SYNOPSIS
+
+    % prove t/steps/init_optimize-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test init::optimize.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::init::optimize, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/init_defaults-01.t
==============================================================================
--- branches/darwinhints/t/steps/init_defaults-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,183 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# init_defaults-01.t
-
-use strict;
-use warnings;
-use Test::More tests => 39;
-use Carp;
-use Cwd;
-use File::Copy;
-use File::Temp qw| tempdir |;
-use lib qw( lib );
-use_ok('config::init::defaults');
-use Parrot::Configure;
-use Parrot::Configure::Step;
-use Parrot::Configure::Options qw( process_options );
-use base qw(Parrot::Configure::Step);
-use Parrot::Configure::Test qw(
-    test_step_constructor_and_description
-);
-
-########## no debugging; profile; m 32 ##########
-
-my $pkg  = q{init::defaults};
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [ q{--debugging=0}, q{--profile}, q{--m=32} ],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new;
-$conf->add_steps($pkg);
-
-my $serialized = $conf->pcfreeze();
-
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-my $ret = $step->runstep($conf);
-ok( defined $ret, "runstep() returned defined value" );
-
-$conf->replenish($serialized);
-
-########## mock absence of 'DEVELOPING' ##########
-
-my $cwd = cwd();
-{
-    my $tdir = tempdir( CLEANUP => 1 );
-    ok( chdir $tdir, "Changed to temporary directory for testing" );
-    ok( copy( "$cwd/VERSION", "$tdir/VERSION" ),
-        "Able to copy VERSION for testing" );
-
-    my $pkg  = q{init::defaults};
-    my ($args, $step_list_ref) = process_options(
-        {
-            argv => [],
-            mode => q{configure},
-        }
-    );
-    $conf->options->set( %{$args} );
-    my $step = test_step_constructor_and_description($conf);
-
-    my $ret = $step->runstep($conf);
-    ok( defined $ret, "runstep() returned defined value" );
-
-    unlink "$tdir/VERSION"
-        or croak "Unable to unlink file from tempdir after testing";
-    ok( chdir $cwd, "Able to change back to directory after testing" );
-}
-
-$conf->replenish($serialized);
-
-########## m 32 ##########
-
-($args, $step_list_ref) = process_options(
-    {
-        argv => [ q{--m=32} ],
-        mode => q{configure},
-    }
-);
-
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-
-$conf->data->set( archname => 'x86_64' );
-$conf->data->set( cc => 'cc' );
-$conf->data->set( cxx => 'c++' );
-$conf->data->set( link => 'cc' );
-$conf->data->set( ld => 'env cc' );
-$conf->data->set( ld_load_flags => '-bundle -L/usr/local/lib64' );
-$conf->data->set( ld_share_flags => '-bundle -L/usr/local/lib64' );
-$conf->data->set( ldflags => '-bundle -L/usr/local/lib64' );
-$conf->data->set( linkflags => '-bundle -L/usr/local/lib64' );
-ok(init::defaults::_64_bit_adjustments($conf),
-    "_64_bit_adjustments() returned true");
-is($conf->data->get( 'archname' ), 'i386', "Got expected value for 'archname'");
-is($conf->data->get( 'cc' ), 'cc -m32', "Got expected value for 'cc'");
-is($conf->data->get( 'cxx' ), 'c++ -m32', "Got expected value for 'cxx'");
-is($conf->data->get( 'link' ), 'cc -m32', "Got expected value for 'link'");
-is($conf->data->get( 'ld' ), 'env cc -m32', "Got expected value for 'ld'");
-is($conf->data->get( 'ld_load_flags' ), '-bundle -L/usr/local/lib',
-    "Got expected value for 'ld_load_flags'");
-is($conf->data->get( 'ld_share_flags' ), '-bundle -L/usr/local/lib',
-    "Got expected value for 'ld_share_flags");
-is($conf->data->get( 'ldflags' ), '-bundle -L/usr/local/lib',
-    "Got expected value for 'ldflags'");
-is($conf->data->get( 'linkflags' ), '-bundle -L/usr/local/lib',
-    "Got expected value for 'linkflags'");
-
-$conf->replenish($serialized);
-
-########## regular ##########
-
-($args, $step_list_ref) = process_options(
-    {
-        argv => [ ],
-        mode => q{configure},
-    }
-);
-
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-
-$conf->data->set( archname => 'x86_64' );
-$conf->data->set( cc => 'cc' );
-$conf->data->set( cxx => 'c++' );
-$conf->data->set( link => 'cc' );
-$conf->data->set( ld => 'env cc' );
-$conf->data->set( ld_load_flags => '-bundle -L/usr/local/lib64' );
-$conf->data->set( ld_share_flags => '-bundle -L/usr/local/lib64' );
-$conf->data->set( ldflags => '-bundle -L/usr/local/lib64' );
-$conf->data->set( linkflags => '-bundle -L/usr/local/lib64' );
-ok(init::defaults::_64_bit_adjustments($conf),
-    "_64_bit_adjustments() returned true");
-is($conf->data->get( 'archname' ), 'x86_64', "Got expected value for 'archname'");
-is($conf->data->get( 'cc' ), 'cc', "Got expected value for 'cc'");
-is($conf->data->get( 'cxx' ), 'c++', "Got expected value for 'cxx'");
-is($conf->data->get( 'link' ), 'cc', "Got expected value for 'link'");
-is($conf->data->get( 'ld' ), 'env cc', "Got expected value for 'ld'");
-is($conf->data->get( 'ld_load_flags' ), '-bundle -L/usr/local/lib64',
-    "Got expected value for 'ld_load_flags'");
-is($conf->data->get( 'ld_share_flags' ), '-bundle -L/usr/local/lib64',
-    "Got expected value for 'ld_share_flags");
-is($conf->data->get( 'ldflags' ), '-bundle -L/usr/local/lib64',
-    "Got expected value for 'ldflags'");
-is($conf->data->get( 'linkflags' ), '-bundle -L/usr/local/lib64',
-    "Got expected value for 'linkflags'");
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-init_defaults-01.t - test init::defaults
-
-=head1 SYNOPSIS
-
-    % prove t/steps/init_defaults-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test init::defaults.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::init::defaults, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/init_headers-01.t
==============================================================================
--- branches/darwinhints/t/steps/init_headers-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,95 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# init_headers-01.t
-
-use strict;
-use warnings;
-use Test::More tests => 7;
-use Carp;
-use Cwd;
-use File::Copy;
-use File::Temp qw(tempdir);
-use Tie::File;
-use lib qw( lib );
-use_ok('config::init::headers');
-use Parrot::Configure;
-use Parrot::Configure::Options qw( process_options );
-
-my $pkg  = q{init::headers};
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new;
-$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 $cwd = cwd();
-{
-    my $tdir = tempdir( CLEANUP => 1 );
-    chdir $tdir or croak "Unable to change to tempdir for testing";
-    copy qq{$cwd/MANIFEST}, qq{$tdir/MANIFEST}
-        or croak "Unable to copy MANIFEST for testing";
-    my @lines;
-    tie @lines, 'Tie::File', qq{$tdir/MANIFEST}
-        or croak "Unable to tie to temporary MANIFEST";
-    push @lines, q{include/parrot/phony.h    [main]include};
-    untie @lines;
-    my $ret = $step->runstep($conf);
-    ok( defined $ret, "runstep() returned defined value" );
-    like( $conf->data->get(q{TEMP_nongen_headers}), qr{\$\(INC_DIR\)/phony\.h\\},
-qq{Header added to MANIFEST for testing purposes correctly detected in Parrot::Configure object data structure}
-    );
-
-    unlink qq{$tdir/MANIFEST}
-        or croak "Unable to delete file after testing";
-    chdir $cwd
-        or croak "Unable to change back to starting directory after testing";
-}
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-init_headers-01.t - test init::headers
-
-=head1 SYNOPSIS
-
-    % prove t/steps/init_headers-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test init::headers.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::init::headers, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/init_hints-01.t
==============================================================================
--- branches/darwinhints/t/steps/init_hints-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,203 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# init_hints-01.t
-
-use strict;
-use warnings;
-use Test::More tests => 26;
-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::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-use IO::CaptureOutput qw | capture |;
-
-########## --verbose ##########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [q{--verbose}],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new;
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-
-my $pkg = q{init::hints};
-
-$conf->add_steps($pkg);
-
-my $serialized = $conf->pcfreeze();
-
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-
-# need to capture the --verbose output, because the fact that it does not end
-# in a newline confuses Test::Harness
-{
-    my $rv;
-    my $stdout;
-    capture ( sub {$rv = $step->runstep($conf)}, \$stdout);
-    ok( $stdout, "verbose output:  hints were captured" );
-    ok( defined $rv, "runstep() returned defined value" );
-}
-
-$conf->replenish($serialized);
-
-########## --verbose; local hints directory ##########
-
-($args, $step_list_ref) = process_options(
-    {
-        argv => [q{--verbose}],
-        mode => q{configure},
-    }
-);
-
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-
-my $cwd = cwd();
-{
-    my $tdir = tempdir( CLEANUP => 1 );
-    File::Path::mkpath(qq{$tdir/init/hints})
-        or croak "Unable to create directory for local hints";
-    my $localhints = qq{$tdir/init/hints/local.pm};
-    open my $FH, '>', $localhints
-        or croak "Unable to open temp file for writing";
-    print $FH <<END;
-package init::hints::local;
-use strict;
-sub runstep {
-    return 1;
-}
-1;
-END
-    close $FH or croak "Unable to close temp file after writing";
-    unshift( @INC, $tdir );
-
-    {
-     my $rv;
-     my $stdout;
-     capture ( sub {$rv = $step->runstep($conf)}, \$stdout);
-     ok( $stdout, "verbose output:  hints were captured" );
-     ok( defined $rv, "runstep() returned defined value" );
-    }
-    unlink $localhints or croak "Unable to delete $localhints";
-}
-
-$conf->replenish($serialized);
-
-########## --verbose; local hints directory; no runstep() in local hints ##########
-
-($args, $step_list_ref) = process_options(
-    {
-        argv => [q{--verbose}],
-        mode => q{configure},
-    }
-);
-
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-
-$cwd = cwd();
-{
-    my $tdir = tempdir( CLEANUP => 1 );
-    File::Path::mkpath(qq{$tdir/init/hints})
-        or croak "Unable to create directory for local hints";
-    my $localhints = qq{$tdir/init/hints/local.pm};
-    open my $FH, '>', $localhints
-        or croak "Unable to open temp file for writing";
-    print $FH <<END;
-package init::hints::local;
-use strict;
-1;
-END
-    close $FH or croak "Unable to close temp file after writing";
-    unshift( @INC, $tdir );
-
-    {
-     my $rv;
-     my $stdout;
-     capture ( sub {$rv = $step->runstep($conf)}, \$stdout);
-     ok( $stdout, "verbose output:  hints were captured" );
-     ok( defined $rv, "runstep() returned defined value" );
-    }
-    unlink $localhints or croak "Unable to delete $localhints";
-}
-
-$conf->replenish($serialized);
-
-########## --verbose; imaginary OS ##########
-
-($args, $step_list_ref) = process_options(
-    {
-        argv => [ q{--verbose} ],
-        mode => q{configure},
-    }
-);
-
-$conf->options->set( %{$args} );
-$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' ) );
-    my $hints_file = catfile('config', 'init', 'hints', "$osname.pm");
-    capture (
-        sub { $ret = $step->runstep($conf); },
-        \$stdout,
-        \$stderr,
-    );;
-    like(
-        $stdout,
-        qr/No \Q$hints_file\E found/s,
-        "Got expected verbose output when no hints file found"
-    );
-}
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-init_hints-01.t - test init::hints
-
-=head1 SYNOPSIS
-
-    % prove t/steps/init_hints-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test init::hints.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::init::hints, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/init_install-01.t
==============================================================================
--- branches/darwinhints/t/steps/init_install-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,138 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# init_install-01.t
-use strict;
-use warnings;
-use Test::More tests => 36;
-use Carp;
-use Cwd;
-use File::Temp qw(tempdir);
-use lib qw( lib t/configure/testlib );
-use Parrot::Configure;
-use Parrot::Configure::Options qw( process_options );
-use_ok('config::init::install');
-use Parrot::Configure::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-
-my $cwd = cwd();
-{
-    my $tdir  = tempdir( CLEANUP => 1 );
-    my $tdir1 = tempdir( CLEANUP => 1 );
-    my ($args, $step_list_ref) = process_options(
-        {
-            argv => [
-                qq{--prefix=$tdir},         qq{--exec-prefix=$tdir},
-                qq{--bindir=$tdir1},        qq{--sbindir=$tdir1},
-                qq{--libexecdir=$tdir1},    qq{--datadir=$tdir1},
-                qq{--sysconfdir=$tdir1},    qq{--sharedstatedir=$tdir1},
-                qq{--localstatedir=$tdir1}, qq{--libdir=$tdir1},
-                qq{--includedir=$tdir1},    qq{--oldincludedir=$tdir1},
-                qq{--infodir=$tdir1},       qq{--mandir=$tdir1},
-            ],
-            mode => q{configure},
-        }
-    );
-
-    my $conf = Parrot::Configure->new;
-
-    my $serialized = $conf->pcfreeze();
-
-    test_step_thru_runstep( $conf, q{init::install}, $args );
-
-    is( $conf->data->get('prefix'),         $tdir,  "--prefix option confirmed" );
-    is( $conf->data->get('exec_prefix'),    $tdir,  "--exec-prefix option confirmed" );
-    is( $conf->data->get('bindir'),         $tdir1, "--bindir option confirmed" );
-    is( $conf->data->get('sbindir'),        $tdir1, "--sbindir option confirmed" );
-    is( $conf->data->get('libexecdir'),     $tdir1, "--libexecdir option confirmed" );
-    is( $conf->data->get('datadir'),        $tdir1, "--datadir option confirmed" );
-    is( $conf->data->get('sharedstatedir'), $tdir1, "--sharedstatedir option confirmed" );
-    is( $conf->data->get('localstatedir'),  $tdir1, "--localstatedir option confirmed" );
-    is( $conf->data->get('libdir'),         $tdir1, "--libdir option confirmed" );
-    is( $conf->data->get('includedir'),     $tdir1, "--includedir option confirmed" );
-    is( $conf->data->get('oldincludedir'),  $tdir1, "--oldincludedir option confirmed" );
-    is( $conf->data->get('infodir'),        $tdir1, "--infodir option confirmed" );
-    is( $conf->data->get('mandir'),         $tdir1, "--mandir option confirmed" );
-
-    $conf->replenish($serialized);
-
-    my $tdir2      = tempdir( CLEANUP => 1 );
-    my $tdir_orig = $tdir2;
-    $tdir2 .= q{/};
-    my $tdir3 = tempdir( CLEANUP => 1 );
-    ($args, $step_list_ref) = process_options(
-        {
-            argv => [
-                qq{--prefix=$tdir2},         qq{--exec-prefix=$tdir2},
-                qq{--bindir=$tdir3},        qq{--sbindir=$tdir3},
-                qq{--libexecdir=$tdir3},    qq{--datadir=$tdir3},
-                qq{--sysconfdir=$tdir3},    qq{--sharedstatedir=$tdir3},
-                qq{--localstatedir=$tdir3}, qq{--libdir=$tdir3},
-                qq{--includedir=$tdir3},    qq{--oldincludedir=$tdir3},
-                qq{--infodir=$tdir3},       qq{--mandir=$tdir3},
-            ],
-            mode => q{configure},
-        }
-    );
-
-    my $pkg = q{init::install};
-    $conf->add_steps($pkg);
-    $conf->options->set( %{$args} );
-    my $step = test_step_constructor_and_description($conf);
-
-    my $ret = $step->runstep($conf);
-    ok( defined $ret, "runstep() returned defined value" );
-
-    is( $conf->data->get('prefix'),
-        $tdir_orig, "--prefix option confirmed; trailing slash stripped" );
-    is( $conf->data->get('exec_prefix'),
-        $tdir_orig, "--exec-prefix option confirmed; trailing slash stripped" );
-    is( $conf->data->get('bindir'),         $tdir3, "--bindir option confirmed" );
-    is( $conf->data->get('sbindir'),        $tdir3, "--sbindir option confirmed" );
-    is( $conf->data->get('libexecdir'),     $tdir3, "--libexecdir option confirmed" );
-    is( $conf->data->get('datadir'),        $tdir3, "--datadir option confirmed" );
-    is( $conf->data->get('sharedstatedir'), $tdir3, "--sharedstatedir option confirmed" );
-    is( $conf->data->get('localstatedir'),  $tdir3, "--localstatedir option confirmed" );
-    is( $conf->data->get('libdir'),         $tdir3, "--libdir option confirmed" );
-    is( $conf->data->get('includedir'),     $tdir3, "--includedir option confirmed" );
-    is( $conf->data->get('oldincludedir'),  $tdir3, "--oldincludedir option confirmed" );
-    is( $conf->data->get('infodir'),        $tdir3, "--infodir option confirmed" );
-    is( $conf->data->get('mandir'),         $tdir3, "--mandir option confirmed" );
-}
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-init_install-01.t - test init::install
-
-=head1 SYNOPSIS
-
-    % prove t/steps/init_install-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test init::install.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::init::install, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/init_manifest-01.t
==============================================================================
--- branches/darwinhints/t/steps/init_manifest-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,124 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# init_manifest-01.t
-
-use strict;
-use warnings;
-use Test::More tests => 12;
-use Carp;
-use Cwd;
-use File::Copy;
-use File::Temp qw(tempdir);
-use lib qw( lib );
-use_ok('config::init::manifest');
-use Parrot::Configure;
-use Parrot::Configure::Options qw( process_options );
-use IO::CaptureOutput qw | capture |;
-
-########## no manifest check ##########
-
-my $pkg  = q{init::manifest};
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [q{--nomanicheck}],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new;
-$conf->add_steps($pkg);
-
-my $serialized = $conf->pcfreeze();
-
-$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" );
-
-ok(defined ($step->result), "result defined");
-ok(! ($step->result), "result not yet true");
-my $ret = $step->runstep($conf);
-ok( defined $ret, "runstep() returned defined value" );
-is( $step->result, q{skipped},
-    "Because of --nomanicheck, result is 'skipped'." );
-
-$conf->replenish($serialized);
-
-########## mock missing files ##########
-
-($args, $step_list_ref) = process_options(
-    {
-        argv => [],
-        mode => q{configure},
-    }
-);
-$conf->options->set( %{$args} );
-
-$task        = $conf->steps->[-1];
-$step_name   = $task->step;
-
-$step = $step_name->new();
-ok( defined $step, "$step_name constructor returned defined value" );
-isa_ok( $step, $step_name );
-
-my $cwd = cwd();
-{
-    my $tdir = tempdir( CLEANUP => 1 );
-    chdir $tdir or croak "Unable to change to tempdir";
-    copy( qq{$cwd/MANIFEST}, qq{$tdir/MANIFEST} )
-        or croak "Unable to copy MANIFEST";
-    {
-        my ($rv, $stdout, $stderr);
-        capture(
-            sub { $rv = $step->runstep($conf); },
-            \$stdout,
-            \$stderr,
-        );
-        is( $rv, undef, "runstep returned undef" );
-    }
-    unlink qq{$tdir/MANIFEST}
-        or croak "Unable to delete file after testing";
-    chdir $cwd or croak "Unable to change back";
-}
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-init_manifest-01.t - test init::manifest
-
-=head1 SYNOPSIS
-
-    % prove t/steps/init_manifest-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test methods found in config::init::manifest.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::init::manifest, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:
-

Deleted: branches/darwinhints/t/steps/init_optimize-01.t
==============================================================================
--- branches/darwinhints/t/steps/init_optimize-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,155 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# init_optimize-01.t
-use strict;
-use warnings;
-use Test::More tests => 33;
-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::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-use IO::CaptureOutput qw | capture |;
-
-########## no optimization (default) ##########
-
-my ($args, $step_list_ref) = process_options( {
-    argv => [],
-    mode => q{configure},
-} );
-
-my $conf = Parrot::Configure->new();
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-
-my $pkg = q{init::optimize};
-
-$conf->add_steps($pkg);
-
-my $serialized = $conf->pcfreeze();
-
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-my $ret = $step->runstep($conf);
-ok( defined $ret, "runstep() returned defined value" );
-
-$conf->replenish($serialized);
-
-########## --optimize  ##########
-
-($args, $step_list_ref) = process_options( {
-    argv => [q{--optimize}],
-    mode => q{configure},
-} );
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-$ret = $step->runstep($conf);
-ok( defined $ret, "runstep() returned defined value" );
-
-$conf->replenish($serialized);
-
-########## --verbose  ##########
-
-($args, $step_list_ref) = process_options( {
-    argv => [q{--verbose}],
-    mode => q{configure},
-} );
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-{
-    my $rv;
-    my $stdout;
-    capture ( sub {$rv = $step->runstep($conf) }, \$stdout);
-    ok( defined $rv, "step_name runstep() returned defined value" );
-    ok( $stdout, "verbose output captured" );
-}
-
-$conf->replenish($serialized);
-
-########## --optimize=O2  ##########
-
-($args, $step_list_ref) = process_options( {
-    argv => [q{--optimize=O2}],
-    mode => q{configure},
-} );
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-$ret = $step->runstep($conf);
-ok( defined $ret, "runstep() returned defined value" );
-
-$conf->replenish($serialized);
-
-########## --optimize; gcc 3.3  ##########
-
-($args, $step_list_ref) = process_options( {
-    argv => [q{--optimize}],
-    mode => q{configure},
-} );
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-$conf->data->set('gccversion' => '3.3');
-$ret = $step->runstep($conf);
-ok( defined $ret, "runstep() returned defined value" );
-
-$conf->replenish($serialized);
-
-########## --optimize, --verbose; gcc 4.1 ##########
-
-($args, $step_list_ref) = process_options( {
-    argv => [q{--optimize}, q{--verbose}],
-    mode => q{configure},
-} );
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-$conf->data->set('gccversion' => '4.1');
-# need to capture the --verbose output,
-# because the fact that it does not end
-# in a newline confuses Test::Harness
-{
-      my $rv;
-      my $stdout;
-      capture ( sub {$rv = $step->runstep($conf) }, \$stdout);
-      ok( defined $rv, "runstep() returned defined value" );
-      ok( $stdout, "verbose output captured" );
-}
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-init_optimize-01.t - test init::optimize
-
-=head1 SYNOPSIS
-
-    % prove t/steps/init_optimize-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test init::optimize.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::init::optimize, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/inter/charset-01.t (from r39902, branches/darwinhints/t/steps/inter_charset-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/inter/charset-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/inter_charset-01.t)
@@ -0,0 +1,117 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# inter_charset-01.t
+
+use strict;
+use warnings;
+use Test::More tests => 17;
+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::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+use Tie::Filehandle::Preempt::Stdin;
+
+########## ask ##########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new;
+
+test_step_thru_runstep( $conf, q{init::defaults}, $args );
+
+my $pkg = q{inter::charset};
+
+$conf->add_steps($pkg);
+
+my $serialized = $conf->pcfreeze();
+
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+{
+    open STDOUT, '>', "/dev/null" or croak "Unable to open to myout";
+    my $ret = $step->runstep($conf);
+    close STDOUT or croak "Unable to close after myout";
+    ok( $ret, "runstep() returned true value" );
+}
+
+$conf->replenish($serialized);
+
+########## ask ##########
+
+($args, $step_list_ref) = process_options(
+    {
+        argv => [ q{--ask} ],
+        mode => q{configure},
+    }
+);
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+
+my ( @prompts, $object );
+
+$conf->options->set('intval' => 'alpha');
+$conf->options->set('floatval' => 'beta');
+$conf->options->set('opcode' => 'gamma');
+ at prompts = qw( delta epsilon zeta );
+
+$object = tie *STDIN, 'Tie::Filehandle::Preempt::Stdin', @prompts;
+can_ok( 'Tie::Filehandle::Preempt::Stdin', ('READLINE') );
+isa_ok( $object, 'Tie::Filehandle::Preempt::Stdin' );
+
+{
+    open STDOUT, '>', "/dev/null" or croak "Unable to open to myout";
+    my $ret = $step->runstep($conf);
+    close STDOUT or croak "Unable to close after myout";
+    ok( $ret, "runstep() returned true value" );
+}
+
+undef $object;
+untie *STDIN;
+ at prompts = ();
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+inter_charset-01.t - test inter::charset
+
+=head1 SYNOPSIS
+
+    % prove t/steps/inter_charset-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test inter::charset.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::inter::charset, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/inter/encoding-01.t (from r39902, branches/darwinhints/t/steps/inter_encoding-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/inter/encoding-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/inter_encoding-01.t)
@@ -0,0 +1,113 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# inter_encoding-01.t
+
+use strict;
+use warnings;
+use Test::More tests => 17;
+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::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+use Tie::Filehandle::Preempt::Stdin;
+
+########## no ask ##########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new;
+
+test_step_thru_runstep( $conf, q{init::defaults}, $args );
+
+my $pkg = q{inter::encoding};
+
+$conf->add_steps($pkg);
+
+my $serialized = $conf->pcfreeze();
+
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+{
+    open STDOUT, '>', "/dev/null" or croak "Unable to open to myout";
+    my $ret = $step->runstep($conf);
+    close STDOUT or croak "Unable to close after myout";
+    ok( $ret, "runstep() returned true value" );
+}
+
+$conf->replenish($serialized);
+
+########## ask; $ENV{TEST_ENCODING} ##########
+
+$ENV{TEST_ENCODING} = 'fixed_8.c';
+do config::inter::encoding;
+($args, $step_list_ref) = process_options(
+    {
+        argv => [q{--ask}],
+        mode => q{configure},
+    }
+);
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+my ( @prompts, $prompt, $object );
+$prompt = $ENV{TEST_ENCODING};
+push @prompts, $prompt;
+$object = tie *STDIN, 'Tie::Filehandle::Preempt::Stdin', @prompts;
+can_ok( 'Tie::Filehandle::Preempt::Stdin', ('READLINE') );
+isa_ok( $object, 'Tie::Filehandle::Preempt::Stdin' );
+{
+    open STDOUT, '>', "/dev/null" or croak "Unable to open to myout";
+    my $ret = $step->runstep($conf);
+    close STDOUT or croak "Unable to close after myout";
+    ok( $ret, "runstep() returned true value" );
+}
+
+undef $object;
+untie *STDIN;
+ at prompts = ();
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+inter_encoding-01.t - test inter::encoding
+
+=head1 SYNOPSIS
+
+    % prove t/steps/inter_encoding-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test inter::encoding.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::inter::encoding, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/inter/lex-01.t (from r39902, branches/darwinhints/t/steps/inter_lex-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/inter/lex-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/inter_lex-01.t)
@@ -0,0 +1,174 @@
+#! perl
+# Copyright (C) 2007-2008, Parrot Foundation.
+# $Id$
+# inter_lex-01.t
+
+use strict;
+use warnings;
+use Test::More tests => 31;
+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::Test qw(
+    test_step_thru_runstep
+    rerun_defaults_for_testing
+    test_step_constructor_and_description
+);
+use Tie::Filehandle::Preempt::Stdin;
+use IO::CaptureOutput qw | capture |;
+
+########## ask ##########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [q{--ask}],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new();
+
+test_step_thru_runstep( $conf, q{init::defaults}, $args );
+
+my $pkg = q{inter::lex};
+
+$conf->add_steps($pkg);
+
+my $serialized = $conf->pcfreeze();
+
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+my $ret = $step->runstep($conf);
+ok( defined $ret, "runstep() returned defined value" );
+is( $step->result(), q{skipped}, "Step was skipped as expected; no '--maintainer' option" );
+# re-set for next test
+$step->set_result(q{});
+
+$conf->replenish($serialized);
+
+########## ask; maintainer; $ENV{LEX} ##########
+
+$ENV{LEX} = 'foobar';
+
+($args, $step_list_ref) = process_options(
+    {
+        argv => [ q{--ask}, q{--maintainer} ],
+        mode => q{configure},
+    }
+);
+
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+$ret = $step->runstep($conf);
+ok( defined $ret, "runstep() returned defined value" );
+my $result_expected = q{user defined};
+is( $step->result(), $result_expected,
+    "Result was $result_expected because environment variable was set" );
+# re-set for next test
+delete $ENV{LEX};
+$step->set_result('');
+
+$conf->replenish($serialized);
+
+########## ask; maintainer; lex=flex ##########
+
+($args, $step_list_ref) = process_options(
+    {
+        argv => [ q{--ask}, q{--maintainer}, q{--lex=flex} ],
+        mode => q{configure},
+    }
+);
+my ( @prompts, $object, @entered );
+ at prompts = map { q{foo_} . $_ } qw| alpha |;
+
+$object = tie *STDIN, 'Tie::Filehandle::Preempt::Stdin', @prompts;
+can_ok( 'Tie::Filehandle::Preempt::Stdin', ('READLINE') );
+isa_ok( $object, 'Tie::Filehandle::Preempt::Stdin' );
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+$ret = $step->runstep($conf);
+ok( defined $ret, "runstep() returned defined value" );
+$result_expected = q{user defined};
+is( $step->result(), $result_expected, "Result was $result_expected" );
+$object = undef;
+untie *STDIN;
+# re-set for next test
+$step->set_result(q{});
+
+$conf->replenish($serialized);
+
+########## ask; maintainer ##########
+
+($args, $step_list_ref) = process_options(
+    {
+        argv => [ q{--ask}, q{--maintainer} ],
+        mode => q{configure},
+    }
+);
+ at prompts = q{flex};
+$object = tie *STDIN, 'Tie::Filehandle::Preempt::Stdin', @prompts;
+can_ok( 'Tie::Filehandle::Preempt::Stdin', ('READLINE') );
+isa_ok( $object, 'Tie::Filehandle::Preempt::Stdin' );
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+{
+    my $rv;
+    my $stdout;
+    capture ( sub {$rv = $step->runstep($conf)}, \$stdout);
+    my $possible_results = qr/^(
+        no\slex\sprogram\swas\sfound
+      | lex\sprogram\sdoes\snot\sexist\sor\sdoes\snot\sunderstand\s--version
+      | could\snot\sunderstand\sflex\sversion\srequirement
+      | found\sflex\sversion.*?but\sat\sleast.*?is\srequired
+      | flex
+    )/x;
+    my @dump_msg = ( Dumper( $step->result() ) =~ /'(.*?)'/ );
+    like( $step->result(), $possible_results,
+        "Response to prompt led to acceptable result:  " . $dump_msg[0] );
+    if ( $dump_msg[0] eq q{no lex program was found} ) {
+        ok( !$stdout, "No lex program => no prompts" );
+    }
+    else {
+        ok( $stdout, "prompts were captured" );
+    }
+}
+$object = undef;
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+inter_lex-01.t - test inter::lex
+
+=head1 SYNOPSIS
+
+    % prove t/steps/inter_lex-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test inter::lex.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::inter::lex, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/inter/lex-02.t (from r39902, branches/darwinhints/t/steps/inter_lex-02.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/inter/lex-02.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/inter_lex-02.t)
@@ -0,0 +1,78 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# inter_lex-02.t
+
+use strict;
+use warnings;
+use Test::More tests =>  12;
+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::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+
+########## ask; maintainer; $ENV{TEST_LEX} ##########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [ q{--ask}, q{--maintainer} ],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new();
+
+test_step_thru_runstep( $conf, q{init::defaults}, $args );
+
+my $pkg = q{inter::lex};
+
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+
+my $ret = $step->runstep($conf);
+is( $ret, undef, "runstep() returned undefined value" );
+my $result_expected = q{no lex program was found};
+is( $step->result(), $result_expected, "Result was $result_expected" );
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+inter_lex-02.t - test inter::lex
+
+=head1 SYNOPSIS
+
+    % prove t/steps/inter_lex-02.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test inter::lex.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::inter::lex, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/inter/lex-03.t (from r39902, branches/darwinhints/t/steps/inter_lex-03.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/inter/lex-03.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/inter_lex-03.t)
@@ -0,0 +1,108 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# inter_lex-03.t
+
+use strict;
+use warnings;
+use Test::More tests =>  14;
+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::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+use Tie::Filehandle::Preempt::Stdin;
+use IO::CaptureOutput qw | capture |;
+
+########## ask; maintainer; prompt flex ##########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [ q{--ask}, q{--maintainer} ],
+        mode => q{configure},
+    }
+);
+my $conf = Parrot::Configure->new();
+
+test_step_thru_runstep( $conf, q{init::defaults}, $args );
+
+my @prompts = q{flex};
+my $object = tie *STDIN, 'Tie::Filehandle::Preempt::Stdin', @prompts;
+can_ok( 'Tie::Filehandle::Preempt::Stdin', ('READLINE') );
+isa_ok( $object, 'Tie::Filehandle::Preempt::Stdin' );
+
+my $pkg = q{inter::lex};
+
+$conf->add_steps($pkg);
+
+my $serialized = $conf->pcfreeze();
+
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+
+{
+    my $rv;
+    my $stdout;
+    capture ( sub {$rv = $step->runstep($conf)}, \$stdout);
+    my $possible_results = qr/^(
+        no\slex\sprogram\swas\sfound
+      | lex\sprogram\sdoes\snot\sexist\sor\sdoes\snot\sunderstand\s--version
+      | could\snot\sunderstand\sflex\sversion\srequirement
+      | found\sflex\sversion.*?but\sat\sleast.*?is\srequired
+      | flex
+    )/x;
+    my @dump_msg = ( Dumper( $step->result() ) =~ /'(.*?)'/ );
+    like( $step->result(), $possible_results,
+        "Response to prompt led to acceptable result:  " . $dump_msg[0] );
+    if ( $dump_msg[0] eq q{no lex program was found} ) {
+        ok( !$stdout, "No lex program => no prompts" );
+    }
+    else {
+        ok( $stdout, "prompts were captured" );
+    }
+}
+$object = undef;
+$conf->replenish($serialized);
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+inter_lex-03.t - test inter::lex
+
+=head1 SYNOPSIS
+
+    % prove t/steps/inter_lex-03.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test inter::lex.  In
+this test the C<--ask>, C<--maintainer> and C<--lex=flex> options are
+provided.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::inter::lex, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/inter/libparrot-01.t (from r39902, branches/darwinhints/t/steps/inter_libparrot-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/inter/libparrot-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/inter_libparrot-01.t)
@@ -0,0 +1,299 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# inter_libparrot-01.t
+
+use strict;
+use warnings;
+use Test::More tests => 58;
+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::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+use Tie::Filehandle::Preempt::Stdin;
+
+########## no ask; no other options ##########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [],
+        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 );
+
+my $pkg = q{inter::libparrot};
+
+$conf->add_steps($pkg);
+
+my $serialized = $conf->pcfreeze();
+
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+{
+    open STDOUT, '>', "/dev/null" or croak "Unable to open to myout";
+    my $ret = $step->runstep($conf);
+    close STDOUT or croak "Unable to close after myout";
+    ok( $ret, "runstep() returned true value" );
+}
+
+$conf->replenish($serialized);
+
+########## no ask; parrot_is_shared ##########
+
+($args, $step_list_ref) = process_options(
+    {
+        argv => [ q{--parrot_is_shared} ],
+        mode => q{configure},
+    }
+);
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+{
+    open STDOUT, '>', "/dev/null" or croak "Unable to open to myout";
+    my $ret = $step->runstep($conf);
+    close STDOUT or croak "Unable to close after myout";
+    ok( $ret, "runstep() returned true value" );
+}
+
+$conf->replenish($serialized);
+
+########## no ask; parrot_is_shared; has_dynamic_linking ##########
+
+($args, $step_list_ref) = process_options(
+    {
+        argv => [ q{--parrot_is_shared} ],
+        mode => q{configure},
+    }
+);
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+my $has_dynamic_linking_orig = $conf->data->get('has_dynamic_linking');
+$conf->data->set('has_dynamic_linking' => 1);
+
+{
+    open STDOUT, '>', "/dev/null" or croak "Unable to open to myout";
+    my $ret = $step->runstep($conf);
+    close STDOUT or croak "Unable to close after myout";
+    ok( $ret, "runstep() returned true value" );
+}
+is($step->result(), 'yes', "Expected result was set");
+# re-set for next test
+$step->set_result(q{});
+$conf->data->set('has_dynamic_linking' => $has_dynamic_linking_orig);
+
+$conf->replenish($serialized);
+
+########## no ask; parrot_is_shared; has_dynamic_linking; rpath ##########
+
+($args, $step_list_ref) = process_options(
+    {
+        argv => [ q{--parrot_is_shared} ],
+        mode => q{configure},
+    }
+);
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+$conf->data->set('has_dynamic_linking' => 1);
+my $rpath_orig = $conf->data->get('rpath');
+$conf->data->set('rpath' => q{-L});
+{
+    open STDOUT, '>', "/dev/null" or croak "Unable to open to myout";
+    my $ret = $step->runstep($conf);
+    close STDOUT or croak "Unable to close after myout";
+    ok( $ret, "runstep() returned true value" );
+}
+is($step->result(), 'yes', "Expected result was set");
+# re-set for next test
+$step->set_result(q{});
+$conf->data->set('has_dynamic_linking' => $has_dynamic_linking_orig);
+$conf->data->set('rpath' => $rpath_orig);
+
+$conf->replenish($serialized);
+
+########## no ask; parrot_is_shared; has_dynamic_linking; rpath ##########
+
+($args, $step_list_ref) = process_options(
+    {
+        argv => [ q{--parrot_is_shared} ],
+        mode => q{configure},
+    }
+);
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+$conf->data->set('has_dynamic_linking' => 1);
+$rpath_orig = $conf->data->get('rpath');
+$conf->data->set('rpath' => q{-L});
+{
+    open STDOUT, '>', "/dev/null" or croak "Unable to open to myout";
+    my $ret = $step->runstep($conf);
+    close STDOUT or croak "Unable to close after myout";
+    ok( $ret, "runstep() returned true value" );
+}
+is($step->result(), 'yes', "Expected result was set");
+# re-set for next test
+$step->set_result(q{});
+$conf->data->set('has_dynamic_linking' => $has_dynamic_linking_orig);
+$conf->data->set('rpath' => $rpath_orig);
+
+$conf->replenish($serialized);
+
+########## no ask; libparrot_ldflags ##########
+
+($args, $step_list_ref) = process_options(
+    {
+        argv => [],
+        mode => q{configure},
+    }
+);
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+my $libparrot_ldflags_orig = $conf->data->get('libparrot_ldflags');
+$conf->data->set('libparrot_ldflags' => 'libparrot.lib');
+{
+    open STDOUT, '>', "/dev/null" or croak "Unable to open to myout";
+    my $ret = $step->runstep($conf);
+    close STDOUT or croak "Unable to close after myout";
+    ok( $ret, "runstep() returned true value" );
+}
+$conf->data->set('libparrot_ldflags' => $libparrot_ldflags_orig);
+
+$conf->replenish($serialized);
+
+########## ask; no has_dynamic_linking ##########
+
+($args, $step_list_ref) = process_options(
+    {
+        argv => [ q{--ask} ],
+        mode => q{configure},
+    }
+);
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+$conf->data->set('has_dynamic_linking' => 0);
+{
+    open STDOUT, '>', "/dev/null" or croak "Unable to open to myout";
+    my $ret = $step->runstep($conf);
+    close STDOUT or croak "Unable to close after myout";
+    ok( $ret, "runstep() returned true value" );
+}
+is($step->result(), 'no', "Expected result was set");
+# re-set for next test
+$step->set_result(q{});
+$conf->data->set('has_dynamic_linking' => $has_dynamic_linking_orig);
+
+$conf->replenish($serialized);
+
+########## ask; parrot_is_shared; has_dynamic_linking ##########
+
+($args, $step_list_ref) = process_options(
+    {
+        argv => [ q{--ask}, q{--parrot_is_shared} ],
+        mode => q{configure},
+    }
+);
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+$conf->data->set('has_dynamic_linking' => 1);
+
+my ( @prompts, $prompt, $object );
+
+$prompt = q{y};
+push @prompts, $prompt;
+
+$object = tie *STDIN, 'Tie::Filehandle::Preempt::Stdin', @prompts;
+can_ok( 'Tie::Filehandle::Preempt::Stdin', ('READLINE') );
+isa_ok( $object, 'Tie::Filehandle::Preempt::Stdin' );
+
+{
+    open STDOUT, '>', "/dev/null" or croak "Unable to open to myout";
+    my $ret = $step->runstep($conf);
+    close STDOUT or croak "Unable to close after myout";
+    ok( $ret, "runstep() returned true value" );
+}
+
+undef $object;
+untie *STDIN;
+is($step->result(), 'yes', "Expected result was set");
+# re-set for next test
+$step->set_result(q{});
+$conf->data->set('has_dynamic_linking' => $has_dynamic_linking_orig);
+ at prompts = ();
+
+$conf->replenish($serialized);
+
+########## ask; has_dynamic_linking ##########
+
+($args, $step_list_ref) = process_options(
+    {
+        argv => [ q{--ask} ],
+        mode => q{configure},
+    }
+);
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+$conf->data->set('has_dynamic_linking' => 1);
+$prompt = q{n};
+push @prompts, $prompt;
+$object = tie *STDIN, 'Tie::Filehandle::Preempt::Stdin', @prompts;
+can_ok( 'Tie::Filehandle::Preempt::Stdin', ('READLINE') );
+isa_ok( $object, 'Tie::Filehandle::Preempt::Stdin' );
+{
+    open STDOUT, '>', "/dev/null" or croak "Unable to open to myout";
+    my $ret = $step->runstep($conf);
+    close STDOUT or croak "Unable to close after myout";
+    ok( $ret, "runstep() returned true value" );
+}
+undef $object;
+untie *STDIN;
+is($step->result(), 'no', "Expected result was set");
+# re-set for next test
+$step->set_result(q{});
+$conf->data->set('has_dynamic_linking' => $has_dynamic_linking_orig);
+ at prompts = ();
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+inter_libparrot-01.t - test inter::libparrot
+
+=head1 SYNOPSIS
+
+    % prove t/steps/inter_libparrot-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test inter::libparrot.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::inter::libparrot, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/inter/make-01.t (from r39902, branches/darwinhints/t/steps/inter_make-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/inter/make-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/inter_make-01.t)
@@ -0,0 +1,123 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# inter_make-01.t
+
+use strict;
+use warnings;
+use Test::More tests => 18;
+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::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+use Tie::Filehandle::Preempt::Stdin;
+
+########## ask  ##########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [q{--ask}],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new();
+
+test_step_thru_runstep( $conf, q{init::defaults}, $args );
+
+my $pkg = q{inter::make};
+
+$conf->add_steps($pkg);
+
+my $serialized = $conf->pcfreeze();
+
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+
+my ( @prompts, $object );
+ at prompts = (q{make});
+$object = tie *STDIN, 'Tie::Filehandle::Preempt::Stdin', @prompts;
+can_ok( 'Tie::Filehandle::Preempt::Stdin', ('READLINE') );
+isa_ok( $object, 'Tie::Filehandle::Preempt::Stdin' );
+
+my $ret = $step->runstep($conf);
+ok( defined $ret, "runstep() returned defined value" );
+
+$object = undef;
+untie *STDIN;
+
+$conf->replenish($serialized);
+
+########## ask  ##########
+
+($args, $step_list_ref) = process_options(
+    {
+        argv => [q{--ask}],
+        mode => q{configure},
+    }
+);
+
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+
+$conf->data->set('gmake_version' => '4.1');
+my $prog = 'gmake';
+inter::make::_set_make_c($conf, $prog);
+is($conf->data->get('make_c'), 'gmake -C',
+    "make_c correctly set when gmake");
+
+$conf->data->set('gmake_version' => undef);
+my $str = q|$(PERL) -e 'chdir shift @ARGV; system q{$(MAKE)}, @ARGV; exit $$?  >> 8;'|;
+$conf->data->set(make_c => $str);
+$prog = 'make';
+inter::make::_set_make_c($conf, $prog);
+is($conf->data->get('make_c'),
+    q|$(PERL) -e 'chdir shift @ARGV; system q{make}, @ARGV; exit $$?  >> 8;'|,
+    "make_c correctly set when gmake");
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+inter_make-01.t - test inter::make
+
+=head1 SYNOPSIS
+
+    % prove t/steps/inter_make-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test inter::make.
+
+B<Note:>  Since F<inter::make> probes for the F<make> program
+found on a particular OS, it will probably be difficult to achieve high
+branch or condition coverage.  The module is likely to discover a
+F<make> program long before it reaches the point where it must prompt
+the user for a response.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::inter::make, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/inter/progs-01.t (from r39902, branches/darwinhints/t/steps/inter_progs-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/inter/progs-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/inter_progs-01.t)
@@ -0,0 +1,130 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# inter_progs-01.t
+
+use strict;
+use warnings;
+
+use Test::More tests => 24;
+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::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+use Tie::Filehandle::Preempt::Stdin;
+use IO::CaptureOutput qw| capture |;
+
+=for hints_for_testing Testing and refactoring of inter::progs should
+entail understanding of issues discussed in the following RT tickets:
+http://rt.perl.org/rt3/Ticket/Display.html?id=43174; and
+http://rt.perl.org/rt3/Ticket/Display.html?id=41168.
+
+=cut
+
+########## ask ##########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [q{--ask}],
+        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 $pkg = q{inter::progs};
+
+$conf->add_steps($pkg);
+
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+
+my @prompts;
+my $object;
+my ($stdout, $debug, $debug_validity);
+
+foreach my $p (
+    qw|
+        cc
+        link
+        ld
+        ccflags
+        linkflags
+        ldflags
+        libs
+        cxx
+    |
+    )
+{
+    push @prompts, $conf->data->get($p);
+}
+push @prompts, q{y};
+
+$object = tie *STDIN, 'Tie::Filehandle::Preempt::Stdin', @prompts;
+can_ok( 'Tie::Filehandle::Preempt::Stdin', ('READLINE') );
+isa_ok( $object, 'Tie::Filehandle::Preempt::Stdin' );
+
+capture( sub {
+    my $verbose = inter::progs::_get_verbose($conf);
+    my $ask = inter::progs::_prepare_for_interactivity($conf);
+    my $cc;
+    ($conf, $cc) = inter::progs::_get_programs($conf, $verbose, $ask);
+    $debug = inter::progs::_get_debug($conf, $ask);
+    $debug_validity = inter::progs::_is_debug_setting_valid($debug);
+}, \$stdout);
+ok( defined $debug_validity, "'debug_validity' set as expected" );
+
+capture( sub {
+    $conf = inter::progs::_set_debug_and_warn($conf, $debug);
+}, \$stdout);
+ok( defined $conf, "Components of runstep() tested okay" );
+
+$object = undef;
+untie *STDIN;
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+inter_progs-01.t - test inter::progs
+
+=head1 SYNOPSIS
+
+    % prove t/steps/inter_progs-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test inter::progs.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::inter::progs, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/inter/progs-02.t (from r39902, branches/darwinhints/t/steps/inter_progs-02.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/inter/progs-02.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/inter_progs-02.t)
@@ -0,0 +1,130 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# inter_progs-02.t
+
+use strict;
+use warnings;
+
+use Test::More tests => 24;
+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::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+use Tie::Filehandle::Preempt::Stdin;
+use IO::CaptureOutput qw| capture |;
+
+=for hints_for_testing Testing and refactoring of inter::progs should
+entail understanding of issues discussed in the following RT tickets:
+http://rt.perl.org/rt3/Ticket/Display.html?id=43174; and
+http://rt.perl.org/rt3/Ticket/Display.html?id=41168.
+
+=cut
+
+########## ask; debugging 0  ##########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [ q{--ask}, q{--debugging=0} ],
+        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 $pkg = q{inter::progs};
+
+$conf->add_steps($pkg);
+
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+
+my @prompts;
+my $object;
+my ($stdout, $debug, $debug_validity);
+
+foreach my $p (
+    qw|
+        cc
+        link
+        ld
+        ccflags
+        linkflags
+        ldflags
+        libs
+        cxx
+    |
+    )
+{
+    push @prompts, $conf->data->get($p);
+}
+push @prompts, q{y};
+
+$object = tie *STDIN, 'Tie::Filehandle::Preempt::Stdin', @prompts;
+can_ok( 'Tie::Filehandle::Preempt::Stdin', ('READLINE') );
+isa_ok( $object, 'Tie::Filehandle::Preempt::Stdin' );
+
+capture( sub {
+    my $verbose = inter::progs::_get_verbose($conf);
+    my $ask = inter::progs::_prepare_for_interactivity($conf);
+    my $cc;
+    ($conf, $cc) = inter::progs::_get_programs($conf, $verbose, $ask);
+    $debug = inter::progs::_get_debug($conf, $ask);
+    $debug_validity = inter::progs::_is_debug_setting_valid($debug);
+}, \$stdout);
+ok( defined $debug_validity, "'debug_validity' set as expected" );
+
+capture( sub {
+    $conf = inter::progs::_set_debug_and_warn($conf, $debug);
+}, \$stdout);
+ok( defined $conf, "Components of runstep() tested okay" );
+
+$object = undef;
+untie *STDIN;
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+inter_progs-02.t - test inter::progs
+
+=head1 SYNOPSIS
+
+    % prove t/steps/inter_progs-02.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test inter::progs.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::inter::progs, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/inter/progs-03.t (from r39902, branches/darwinhints/t/steps/inter_progs-03.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/inter/progs-03.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/inter_progs-03.t)
@@ -0,0 +1,130 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# inter_progs-03.t
+
+use strict;
+use warnings;
+
+use Test::More tests => 24;
+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::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+use Tie::Filehandle::Preempt::Stdin;
+use IO::CaptureOutput qw| capture |;
+
+=for hints_for_testing Testing and refactoring of inter::progs should
+entail understanding of issues discussed in the following RT tickets:
+http://rt.perl.org/rt3/Ticket/Display.html?id=43174; and
+http://rt.perl.org/rt3/Ticket/Display.html?id=41168.
+
+=cut
+
+########### ask ##########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [q{--ask}],
+        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 $pkg = q{inter::progs};
+
+$conf->add_steps($pkg);
+
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+
+my @prompts;
+my $object;
+my ($stdout, $debug, $debug_validity);
+
+foreach my $p (
+    qw|
+        cc
+        link
+        ld
+        ccflags
+        linkflags
+        ldflags
+        libs
+        cxx
+    |
+    )
+{
+    push @prompts, $conf->data->get($p);
+}
+push @prompts, q{n};
+
+$object = tie *STDIN, 'Tie::Filehandle::Preempt::Stdin', @prompts;
+can_ok( 'Tie::Filehandle::Preempt::Stdin', ('READLINE') );
+isa_ok( $object, 'Tie::Filehandle::Preempt::Stdin' );
+
+capture( sub {
+    my $verbose = inter::progs::_get_verbose($conf);
+    my $ask = inter::progs::_prepare_for_interactivity($conf);
+    my $cc;
+    ($conf, $cc) = inter::progs::_get_programs($conf, $verbose, $ask);
+    $debug = inter::progs::_get_debug($conf, $ask);
+    $debug_validity = inter::progs::_is_debug_setting_valid($debug);
+}, \$stdout);
+ok( defined $debug_validity, "'debug_validity' set as expected" );
+
+capture( sub {
+    $conf = inter::progs::_set_debug_and_warn($conf, $debug);
+}, \$stdout);
+ok( defined $conf, "Components of runstep() tested okay" );
+
+$object = undef;
+untie *STDIN;
+
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+inter_progs-03.t - test inter::progs
+
+=head1 SYNOPSIS
+
+    % prove t/steps/inter_progs-03.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test inter::progs.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::inter::progs, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/inter/progs-04.t (from r39902, branches/darwinhints/t/steps/inter_progs-04.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/inter/progs-04.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/inter_progs-04.t)
@@ -0,0 +1,121 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# inter_progs-04.t
+
+use strict;
+use warnings;
+
+use Test::More tests => 23;
+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::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+use Tie::Filehandle::Preempt::Stdin;
+use IO::CaptureOutput qw| capture |;
+
+=for hints_for_testing Testing and refactoring of inter::progs should
+entail understanding of issues discussed in the following RT tickets:
+http://rt.perl.org/rt3/Ticket/Display.html?id=43174; and
+http://rt.perl.org/rt3/Ticket/Display.html?id=41168.
+
+=cut
+
+########## ask ##########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [q{--ask}],
+        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 $pkg = q{inter::progs};
+
+$conf->add_steps($pkg);
+
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+
+my @prompts;
+my $object;
+my ($stdout, $debug, $debug_validity);
+
+foreach my $p (
+    qw|
+        cc
+        link
+        ld
+        ccflags
+        linkflags
+        ldflags
+        libs
+        cxx
+    |
+    )
+{
+    push @prompts, $conf->data->get($p);
+}
+push @prompts, q{0};
+
+$object = tie *STDIN, 'Tie::Filehandle::Preempt::Stdin', @prompts;
+can_ok( 'Tie::Filehandle::Preempt::Stdin', ('READLINE') );
+isa_ok( $object, 'Tie::Filehandle::Preempt::Stdin' );
+
+my $rv;
+capture( sub {
+    $rv = $step->runstep($conf);
+}, \$stdout);
+ok( ! defined $rv, "runstep returned undef as expected" );
+
+$object = undef;
+untie *STDIN;
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+inter_progs-04.t - test inter::progs
+
+=head1 SYNOPSIS
+
+    % prove t/steps/inter_progs-04.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test inter::progs.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::inter::progs, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/inter/shlibs-01.t (from r39902, branches/darwinhints/t/steps/inter_shlibs-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/inter/shlibs-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/inter_shlibs-01.t)
@@ -0,0 +1,126 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# inter_shlibs-01.t
+
+use strict;
+use warnings;
+use Test::More tests => 21;
+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::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+use Tie::Filehandle::Preempt::Stdin;
+
+########## ask; mock response to prompt  ##########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [q{--ask}],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new;
+
+test_step_thru_runstep( $conf, q{init::defaults}, $args );
+
+my $pkg = q{inter::shlibs};
+$conf->add_steps($pkg);
+
+my $serialized = $conf->pcfreeze();
+
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+
+my ( @prompts, $prompt, $object );
+$prompt = q{foobar};
+push @prompts, $prompt;
+
+$object = tie *STDIN, 'Tie::Filehandle::Preempt::Stdin', @prompts;
+can_ok( 'Tie::Filehandle::Preempt::Stdin', ('READLINE') );
+isa_ok( $object, 'Tie::Filehandle::Preempt::Stdin' );
+
+{
+    open STDOUT, '>', "/dev/null" or croak "Unable to open to myout";
+    my $ret = $step->runstep($conf);
+    close STDOUT or croak "Unable to close after myout";
+    ok( $ret, "runstep() returned true value" );
+    is( $step->result(), $prompt, "Expected result was set" );
+}
+
+undef $object;
+untie *STDIN;
+ at prompts = ();
+
+$conf->replenish($serialized);
+
+########## ask; empty response to prompt  ##########
+
+($args, $step_list_ref) = process_options(
+    {
+        argv => [q{--ask}],
+        mode => q{configure},
+    }
+);
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+$prompt = q{ };
+push @prompts, $prompt;
+
+$object = tie *STDIN, 'Tie::Filehandle::Preempt::Stdin', @prompts;
+can_ok( 'Tie::Filehandle::Preempt::Stdin', ('READLINE') );
+isa_ok( $object, 'Tie::Filehandle::Preempt::Stdin' );
+
+{
+    open STDOUT, '>', "/dev/null" or croak "Unable to open to myout";
+    my $ret = $step->runstep($conf);
+    close STDOUT or croak "Unable to close after myout";
+    ok( $ret, "runstep() returned true value" );
+    is( $step->result(), q{done}, "Expected result was set" );
+}
+
+undef $object;
+untie *STDIN;
+ at prompts = ();
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+inter_shlibs-01.t - test inter::shlibs
+
+=head1 SYNOPSIS
+
+    % prove t/steps/inter_shlibs-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test inter::shlibs.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::inter::shlibs, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/inter/types-01.t (from r39902, branches/darwinhints/t/steps/inter_types-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/inter/types-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/inter_types-01.t)
@@ -0,0 +1,110 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# inter_types-01.t
+
+use strict;
+use warnings;
+use Test::More tests => 12;
+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::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+use Tie::Filehandle::Preempt::Stdin;
+
+########## no ask ##########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new;
+
+my $pkg = q{inter::types};
+
+$conf->add_steps($pkg);
+
+my $serialized = $conf->pcfreeze();
+
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+my $ret = $step->runstep($conf);
+ok( $ret, "runstep() returned true value" );
+
+$conf->replenish($serialized);
+
+########## ask ##########
+
+($args, $step_list_ref) = process_options(
+    {
+        argv => [q{--ask}],
+        mode => q{configure},
+    }
+);
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+
+my ( @prompts, $object );
+
+$conf->options->set('intval' => 'alpha');
+$conf->options->set('floatval' => 'beta');
+$conf->options->set('opcode' => 'gamma');
+ at prompts = qw( delta epsilon zeta );
+
+$object = tie *STDIN, 'Tie::Filehandle::Preempt::Stdin', @prompts;
+can_ok( 'Tie::Filehandle::Preempt::Stdin', ('READLINE') );
+isa_ok( $object, 'Tie::Filehandle::Preempt::Stdin' );
+
+{
+    open STDOUT, '>', "/dev/null" or croak "Unable to open to myout";
+    my $ret = $step->runstep($conf);
+    close STDOUT or croak "Unable to close after myout";
+    ok( $ret, "runstep() returned true value" );
+}
+
+undef $object;
+untie *STDIN;
+ at prompts = ();
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+inter_types-01.t - test inter::types
+
+=head1 SYNOPSIS
+
+    % prove t/steps/inter_types-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test inter::types.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::inter::types, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/inter/yacc-01.t (from r39902, branches/darwinhints/t/steps/inter_yacc-01.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/inter/yacc-01.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/inter_yacc-01.t)
@@ -0,0 +1,177 @@
+#! perl
+# Copyright (C) 2007-2008, Parrot Foundation.
+# $Id$
+# inter_yacc-01.t
+
+use strict;
+use warnings;
+use Test::More tests => 31;
+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::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+use Tie::Filehandle::Preempt::Stdin;
+use IO::CaptureOutput qw | capture |;
+
+########## ask ##########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [q{--ask}],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new();
+
+test_step_thru_runstep( $conf, q{init::defaults}, $args );
+
+my $pkg = q{inter::yacc};
+
+$conf->add_steps($pkg);
+
+my $serialized = $conf->pcfreeze();
+
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+my $ret = $step->runstep($conf);
+ok( defined $ret, "runstep() returned defined value" );
+is( $step->result(), q{skipped},
+    "Step was skipped as expected; no '--maintainer' option" );
+# re-set for next step
+$step->set_result(q{});
+
+$conf->replenish($serialized);
+
+########## ask; maintainer; $ENV{YACC}  ##########
+
+$ENV{YACC} = 'foobar';
+($args, $step_list_ref) = process_options(
+    {
+        argv => [ q{--ask}, q{--maintainer} ],
+        mode => q{configure},
+    }
+);
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+$ret = $step->runstep($conf);
+ok( defined $ret, "runstep() returned defined value" );
+my $result_expected = q{user defined};
+is( $step->result(), $result_expected,
+    "Result was $result_expected because environment variable was set" );
+# re-set for next step
+delete $ENV{YACC};
+$step->set_result('');
+
+$conf->replenish($serialized);
+
+########## ask; maintainer; yacc=bison  ##########
+
+($args, $step_list_ref) = process_options(
+    {
+        argv => [ q{--ask}, q{--maintainer}, q{--yacc=bison} ],
+        mode => q{configure},
+    }
+);
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+my ( @prompts, $object );
+ at prompts = map { q{foo_} . $_ } qw| alpha |;
+$object = tie *STDIN, 'Tie::Filehandle::Preempt::Stdin', @prompts;
+can_ok( 'Tie::Filehandle::Preempt::Stdin', ('READLINE') );
+isa_ok( $object, 'Tie::Filehandle::Preempt::Stdin' );
+$ret = $step->runstep($conf);
+ok( defined $ret, "runstep() returned defined value" );
+$result_expected = q{user defined};
+is( $step->result(), $result_expected, "Result was $result_expected" );
+$object = undef;
+untie *STDIN;
+# re-set for next step
+$step->set_result(q{});
+ at prompts = ();
+
+$conf->replenish($serialized);
+
+########## ask; maintainer; ##########
+
+($args, $step_list_ref) = process_options(
+    {
+        argv => [ q{--ask}, q{--maintainer} ],
+        mode => q{configure},
+    }
+);
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+ at prompts = q{bison};
+$object = tie *STDIN, 'Tie::Filehandle::Preempt::Stdin', @prompts;
+can_ok( 'Tie::Filehandle::Preempt::Stdin', ('READLINE') );
+isa_ok( $object, 'Tie::Filehandle::Preempt::Stdin' );
+{
+    my $rv;
+    my $stdout;
+    capture ( sub {$rv = $step->runstep($conf)}, \$stdout);
+    my $possible_results = qr/^(
+        no\syacc\sprogram\swas\sfound
+      | yacc\sprogram\sdoes\snot\sexist\sor\sdoes\snot\sunderstand\s--version
+      | could\snot\sunderstand\sbison\sversion\srequirement
+      | found\sbison\sversion.*?but\sat\sleast.*?is\srequired
+      | bison
+    )/x;
+    my @dump_msg = ( Dumper( $step->result() ) =~ /'(.*?)'/ );
+    like( $step->result(), $possible_results,
+        "Response to prompt led to acceptable result:  " . $dump_msg[0] );
+    if ( $dump_msg[0] eq q{no yacc program was found} ) {
+        ok( !$stdout, "No yacc program => no prompts" );
+    }
+    else {
+        ok( $stdout, "prompts were captured" );
+    }
+}
+$object = undef;
+untie *STDIN;
+# re-set for next step
+$step->set_result(q{});
+ at prompts = ();
+
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+inter_yacc-01.t - test inter::yacc
+
+=head1 SYNOPSIS
+
+    % prove t/steps/inter_yacc-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test inter::yacc.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::inter::yacc, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: branches/darwinhints/t/steps/inter/yacc-02.t (from r39902, branches/darwinhints/t/steps/inter_yacc-02.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/darwinhints/t/steps/inter/yacc-02.t	Tue Jul  7 10:37:13 2009	(r39917, copy of r39902, branches/darwinhints/t/steps/inter_yacc-02.t)
@@ -0,0 +1,79 @@
+#! perl
+# Copyright (C) 2007, Parrot Foundation.
+# $Id$
+# inter_yacc-02.t
+
+use strict;
+use warnings;
+use Test::More tests =>  12;
+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::Test qw(
+    test_step_thru_runstep
+    test_step_constructor_and_description
+);
+
+########## ask; maintainer; $ENV{TEST_YACC} ##########
+
+my ($args, $step_list_ref) = process_options(
+    {
+        argv => [ q{--ask}, q{--maintainer} ],
+        mode => q{configure},
+    }
+);
+
+my $conf = Parrot::Configure->new();
+
+test_step_thru_runstep( $conf, q{init::defaults}, $args );
+
+my $pkg = q{inter::yacc};
+
+$conf->add_steps($pkg);
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+my $ret = $step->runstep($conf);
+is( $ret, undef, "runstep() returned undefined value" );
+my $result_expected = q{no yacc program was found};
+is( $step->result(), $result_expected, "Result was $result_expected" );
+# re-set for next step
+$step->set_result(q{});
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+inter_yacc-02.t - test inter::yacc
+
+=head1 SYNOPSIS
+
+    % prove t/steps/inter_yacc-02.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test inter::yacc.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+config::inter::yacc, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/inter_charset-01.t
==============================================================================
--- branches/darwinhints/t/steps/inter_charset-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,117 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# inter_charset-01.t
-
-use strict;
-use warnings;
-use Test::More tests => 17;
-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::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-use Tie::Filehandle::Preempt::Stdin;
-
-########## ask ##########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new;
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-
-my $pkg = q{inter::charset};
-
-$conf->add_steps($pkg);
-
-my $serialized = $conf->pcfreeze();
-
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-{
-    open STDOUT, '>', "/dev/null" or croak "Unable to open to myout";
-    my $ret = $step->runstep($conf);
-    close STDOUT or croak "Unable to close after myout";
-    ok( $ret, "runstep() returned true value" );
-}
-
-$conf->replenish($serialized);
-
-########## ask ##########
-
-($args, $step_list_ref) = process_options(
-    {
-        argv => [ q{--ask} ],
-        mode => q{configure},
-    }
-);
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-
-my ( @prompts, $object );
-
-$conf->options->set('intval' => 'alpha');
-$conf->options->set('floatval' => 'beta');
-$conf->options->set('opcode' => 'gamma');
- at prompts = qw( delta epsilon zeta );
-
-$object = tie *STDIN, 'Tie::Filehandle::Preempt::Stdin', @prompts;
-can_ok( 'Tie::Filehandle::Preempt::Stdin', ('READLINE') );
-isa_ok( $object, 'Tie::Filehandle::Preempt::Stdin' );
-
-{
-    open STDOUT, '>', "/dev/null" or croak "Unable to open to myout";
-    my $ret = $step->runstep($conf);
-    close STDOUT or croak "Unable to close after myout";
-    ok( $ret, "runstep() returned true value" );
-}
-
-undef $object;
-untie *STDIN;
- at prompts = ();
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-inter_charset-01.t - test inter::charset
-
-=head1 SYNOPSIS
-
-    % prove t/steps/inter_charset-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test inter::charset.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::inter::charset, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/inter_encoding-01.t
==============================================================================
--- branches/darwinhints/t/steps/inter_encoding-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,113 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# inter_encoding-01.t
-
-use strict;
-use warnings;
-use Test::More tests => 17;
-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::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-use Tie::Filehandle::Preempt::Stdin;
-
-########## no ask ##########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new;
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-
-my $pkg = q{inter::encoding};
-
-$conf->add_steps($pkg);
-
-my $serialized = $conf->pcfreeze();
-
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-{
-    open STDOUT, '>', "/dev/null" or croak "Unable to open to myout";
-    my $ret = $step->runstep($conf);
-    close STDOUT or croak "Unable to close after myout";
-    ok( $ret, "runstep() returned true value" );
-}
-
-$conf->replenish($serialized);
-
-########## ask; $ENV{TEST_ENCODING} ##########
-
-$ENV{TEST_ENCODING} = 'fixed_8.c';
-do config::inter::encoding;
-($args, $step_list_ref) = process_options(
-    {
-        argv => [q{--ask}],
-        mode => q{configure},
-    }
-);
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-my ( @prompts, $prompt, $object );
-$prompt = $ENV{TEST_ENCODING};
-push @prompts, $prompt;
-$object = tie *STDIN, 'Tie::Filehandle::Preempt::Stdin', @prompts;
-can_ok( 'Tie::Filehandle::Preempt::Stdin', ('READLINE') );
-isa_ok( $object, 'Tie::Filehandle::Preempt::Stdin' );
-{
-    open STDOUT, '>', "/dev/null" or croak "Unable to open to myout";
-    my $ret = $step->runstep($conf);
-    close STDOUT or croak "Unable to close after myout";
-    ok( $ret, "runstep() returned true value" );
-}
-
-undef $object;
-untie *STDIN;
- at prompts = ();
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-inter_encoding-01.t - test inter::encoding
-
-=head1 SYNOPSIS
-
-    % prove t/steps/inter_encoding-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test inter::encoding.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::inter::encoding, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/inter_lex-01.t
==============================================================================
--- branches/darwinhints/t/steps/inter_lex-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,174 +0,0 @@
-#! perl
-# Copyright (C) 2007-2008, Parrot Foundation.
-# $Id$
-# inter_lex-01.t
-
-use strict;
-use warnings;
-use Test::More tests => 31;
-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::Test qw(
-    test_step_thru_runstep
-    rerun_defaults_for_testing
-    test_step_constructor_and_description
-);
-use Tie::Filehandle::Preempt::Stdin;
-use IO::CaptureOutput qw | capture |;
-
-########## ask ##########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [q{--ask}],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new();
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-
-my $pkg = q{inter::lex};
-
-$conf->add_steps($pkg);
-
-my $serialized = $conf->pcfreeze();
-
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-my $ret = $step->runstep($conf);
-ok( defined $ret, "runstep() returned defined value" );
-is( $step->result(), q{skipped}, "Step was skipped as expected; no '--maintainer' option" );
-# re-set for next test
-$step->set_result(q{});
-
-$conf->replenish($serialized);
-
-########## ask; maintainer; $ENV{LEX} ##########
-
-$ENV{LEX} = 'foobar';
-
-($args, $step_list_ref) = process_options(
-    {
-        argv => [ q{--ask}, q{--maintainer} ],
-        mode => q{configure},
-    }
-);
-
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-$ret = $step->runstep($conf);
-ok( defined $ret, "runstep() returned defined value" );
-my $result_expected = q{user defined};
-is( $step->result(), $result_expected,
-    "Result was $result_expected because environment variable was set" );
-# re-set for next test
-delete $ENV{LEX};
-$step->set_result('');
-
-$conf->replenish($serialized);
-
-########## ask; maintainer; lex=flex ##########
-
-($args, $step_list_ref) = process_options(
-    {
-        argv => [ q{--ask}, q{--maintainer}, q{--lex=flex} ],
-        mode => q{configure},
-    }
-);
-my ( @prompts, $object, @entered );
- at prompts = map { q{foo_} . $_ } qw| alpha |;
-
-$object = tie *STDIN, 'Tie::Filehandle::Preempt::Stdin', @prompts;
-can_ok( 'Tie::Filehandle::Preempt::Stdin', ('READLINE') );
-isa_ok( $object, 'Tie::Filehandle::Preempt::Stdin' );
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-$ret = $step->runstep($conf);
-ok( defined $ret, "runstep() returned defined value" );
-$result_expected = q{user defined};
-is( $step->result(), $result_expected, "Result was $result_expected" );
-$object = undef;
-untie *STDIN;
-# re-set for next test
-$step->set_result(q{});
-
-$conf->replenish($serialized);
-
-########## ask; maintainer ##########
-
-($args, $step_list_ref) = process_options(
-    {
-        argv => [ q{--ask}, q{--maintainer} ],
-        mode => q{configure},
-    }
-);
- at prompts = q{flex};
-$object = tie *STDIN, 'Tie::Filehandle::Preempt::Stdin', @prompts;
-can_ok( 'Tie::Filehandle::Preempt::Stdin', ('READLINE') );
-isa_ok( $object, 'Tie::Filehandle::Preempt::Stdin' );
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-{
-    my $rv;
-    my $stdout;
-    capture ( sub {$rv = $step->runstep($conf)}, \$stdout);
-    my $possible_results = qr/^(
-        no\slex\sprogram\swas\sfound
-      | lex\sprogram\sdoes\snot\sexist\sor\sdoes\snot\sunderstand\s--version
-      | could\snot\sunderstand\sflex\sversion\srequirement
-      | found\sflex\sversion.*?but\sat\sleast.*?is\srequired
-      | flex
-    )/x;
-    my @dump_msg = ( Dumper( $step->result() ) =~ /'(.*?)'/ );
-    like( $step->result(), $possible_results,
-        "Response to prompt led to acceptable result:  " . $dump_msg[0] );
-    if ( $dump_msg[0] eq q{no lex program was found} ) {
-        ok( !$stdout, "No lex program => no prompts" );
-    }
-    else {
-        ok( $stdout, "prompts were captured" );
-    }
-}
-$object = undef;
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-inter_lex-01.t - test inter::lex
-
-=head1 SYNOPSIS
-
-    % prove t/steps/inter_lex-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test inter::lex.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::inter::lex, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/inter_lex-02.t
==============================================================================
--- branches/darwinhints/t/steps/inter_lex-02.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,78 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# inter_lex-02.t
-
-use strict;
-use warnings;
-use Test::More tests =>  12;
-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::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-
-########## ask; maintainer; $ENV{TEST_LEX} ##########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [ q{--ask}, q{--maintainer} ],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new();
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-
-my $pkg = q{inter::lex};
-
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-
-my $ret = $step->runstep($conf);
-is( $ret, undef, "runstep() returned undefined value" );
-my $result_expected = q{no lex program was found};
-is( $step->result(), $result_expected, "Result was $result_expected" );
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-inter_lex-02.t - test inter::lex
-
-=head1 SYNOPSIS
-
-    % prove t/steps/inter_lex-02.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test inter::lex.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::inter::lex, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/inter_lex-03.t
==============================================================================
--- branches/darwinhints/t/steps/inter_lex-03.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,108 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# inter_lex-03.t
-
-use strict;
-use warnings;
-use Test::More tests =>  14;
-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::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-use Tie::Filehandle::Preempt::Stdin;
-use IO::CaptureOutput qw | capture |;
-
-########## ask; maintainer; prompt flex ##########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [ q{--ask}, q{--maintainer} ],
-        mode => q{configure},
-    }
-);
-my $conf = Parrot::Configure->new();
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-
-my @prompts = q{flex};
-my $object = tie *STDIN, 'Tie::Filehandle::Preempt::Stdin', @prompts;
-can_ok( 'Tie::Filehandle::Preempt::Stdin', ('READLINE') );
-isa_ok( $object, 'Tie::Filehandle::Preempt::Stdin' );
-
-my $pkg = q{inter::lex};
-
-$conf->add_steps($pkg);
-
-my $serialized = $conf->pcfreeze();
-
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-
-{
-    my $rv;
-    my $stdout;
-    capture ( sub {$rv = $step->runstep($conf)}, \$stdout);
-    my $possible_results = qr/^(
-        no\slex\sprogram\swas\sfound
-      | lex\sprogram\sdoes\snot\sexist\sor\sdoes\snot\sunderstand\s--version
-      | could\snot\sunderstand\sflex\sversion\srequirement
-      | found\sflex\sversion.*?but\sat\sleast.*?is\srequired
-      | flex
-    )/x;
-    my @dump_msg = ( Dumper( $step->result() ) =~ /'(.*?)'/ );
-    like( $step->result(), $possible_results,
-        "Response to prompt led to acceptable result:  " . $dump_msg[0] );
-    if ( $dump_msg[0] eq q{no lex program was found} ) {
-        ok( !$stdout, "No lex program => no prompts" );
-    }
-    else {
-        ok( $stdout, "prompts were captured" );
-    }
-}
-$object = undef;
-$conf->replenish($serialized);
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-inter_lex-03.t - test inter::lex
-
-=head1 SYNOPSIS
-
-    % prove t/steps/inter_lex-03.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test inter::lex.  In
-this test the C<--ask>, C<--maintainer> and C<--lex=flex> options are
-provided.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::inter::lex, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/inter_libparrot-01.t
==============================================================================
--- branches/darwinhints/t/steps/inter_libparrot-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,299 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# inter_libparrot-01.t
-
-use strict;
-use warnings;
-use Test::More tests => 58;
-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::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-use Tie::Filehandle::Preempt::Stdin;
-
-########## no ask; no other options ##########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [],
-        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 );
-
-my $pkg = q{inter::libparrot};
-
-$conf->add_steps($pkg);
-
-my $serialized = $conf->pcfreeze();
-
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-{
-    open STDOUT, '>', "/dev/null" or croak "Unable to open to myout";
-    my $ret = $step->runstep($conf);
-    close STDOUT or croak "Unable to close after myout";
-    ok( $ret, "runstep() returned true value" );
-}
-
-$conf->replenish($serialized);
-
-########## no ask; parrot_is_shared ##########
-
-($args, $step_list_ref) = process_options(
-    {
-        argv => [ q{--parrot_is_shared} ],
-        mode => q{configure},
-    }
-);
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-{
-    open STDOUT, '>', "/dev/null" or croak "Unable to open to myout";
-    my $ret = $step->runstep($conf);
-    close STDOUT or croak "Unable to close after myout";
-    ok( $ret, "runstep() returned true value" );
-}
-
-$conf->replenish($serialized);
-
-########## no ask; parrot_is_shared; has_dynamic_linking ##########
-
-($args, $step_list_ref) = process_options(
-    {
-        argv => [ q{--parrot_is_shared} ],
-        mode => q{configure},
-    }
-);
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-my $has_dynamic_linking_orig = $conf->data->get('has_dynamic_linking');
-$conf->data->set('has_dynamic_linking' => 1);
-
-{
-    open STDOUT, '>', "/dev/null" or croak "Unable to open to myout";
-    my $ret = $step->runstep($conf);
-    close STDOUT or croak "Unable to close after myout";
-    ok( $ret, "runstep() returned true value" );
-}
-is($step->result(), 'yes', "Expected result was set");
-# re-set for next test
-$step->set_result(q{});
-$conf->data->set('has_dynamic_linking' => $has_dynamic_linking_orig);
-
-$conf->replenish($serialized);
-
-########## no ask; parrot_is_shared; has_dynamic_linking; rpath ##########
-
-($args, $step_list_ref) = process_options(
-    {
-        argv => [ q{--parrot_is_shared} ],
-        mode => q{configure},
-    }
-);
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-$conf->data->set('has_dynamic_linking' => 1);
-my $rpath_orig = $conf->data->get('rpath');
-$conf->data->set('rpath' => q{-L});
-{
-    open STDOUT, '>', "/dev/null" or croak "Unable to open to myout";
-    my $ret = $step->runstep($conf);
-    close STDOUT or croak "Unable to close after myout";
-    ok( $ret, "runstep() returned true value" );
-}
-is($step->result(), 'yes', "Expected result was set");
-# re-set for next test
-$step->set_result(q{});
-$conf->data->set('has_dynamic_linking' => $has_dynamic_linking_orig);
-$conf->data->set('rpath' => $rpath_orig);
-
-$conf->replenish($serialized);
-
-########## no ask; parrot_is_shared; has_dynamic_linking; rpath ##########
-
-($args, $step_list_ref) = process_options(
-    {
-        argv => [ q{--parrot_is_shared} ],
-        mode => q{configure},
-    }
-);
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-$conf->data->set('has_dynamic_linking' => 1);
-$rpath_orig = $conf->data->get('rpath');
-$conf->data->set('rpath' => q{-L});
-{
-    open STDOUT, '>', "/dev/null" or croak "Unable to open to myout";
-    my $ret = $step->runstep($conf);
-    close STDOUT or croak "Unable to close after myout";
-    ok( $ret, "runstep() returned true value" );
-}
-is($step->result(), 'yes', "Expected result was set");
-# re-set for next test
-$step->set_result(q{});
-$conf->data->set('has_dynamic_linking' => $has_dynamic_linking_orig);
-$conf->data->set('rpath' => $rpath_orig);
-
-$conf->replenish($serialized);
-
-########## no ask; libparrot_ldflags ##########
-
-($args, $step_list_ref) = process_options(
-    {
-        argv => [],
-        mode => q{configure},
-    }
-);
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-my $libparrot_ldflags_orig = $conf->data->get('libparrot_ldflags');
-$conf->data->set('libparrot_ldflags' => 'libparrot.lib');
-{
-    open STDOUT, '>', "/dev/null" or croak "Unable to open to myout";
-    my $ret = $step->runstep($conf);
-    close STDOUT or croak "Unable to close after myout";
-    ok( $ret, "runstep() returned true value" );
-}
-$conf->data->set('libparrot_ldflags' => $libparrot_ldflags_orig);
-
-$conf->replenish($serialized);
-
-########## ask; no has_dynamic_linking ##########
-
-($args, $step_list_ref) = process_options(
-    {
-        argv => [ q{--ask} ],
-        mode => q{configure},
-    }
-);
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-$conf->data->set('has_dynamic_linking' => 0);
-{
-    open STDOUT, '>', "/dev/null" or croak "Unable to open to myout";
-    my $ret = $step->runstep($conf);
-    close STDOUT or croak "Unable to close after myout";
-    ok( $ret, "runstep() returned true value" );
-}
-is($step->result(), 'no', "Expected result was set");
-# re-set for next test
-$step->set_result(q{});
-$conf->data->set('has_dynamic_linking' => $has_dynamic_linking_orig);
-
-$conf->replenish($serialized);
-
-########## ask; parrot_is_shared; has_dynamic_linking ##########
-
-($args, $step_list_ref) = process_options(
-    {
-        argv => [ q{--ask}, q{--parrot_is_shared} ],
-        mode => q{configure},
-    }
-);
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-$conf->data->set('has_dynamic_linking' => 1);
-
-my ( @prompts, $prompt, $object );
-
-$prompt = q{y};
-push @prompts, $prompt;
-
-$object = tie *STDIN, 'Tie::Filehandle::Preempt::Stdin', @prompts;
-can_ok( 'Tie::Filehandle::Preempt::Stdin', ('READLINE') );
-isa_ok( $object, 'Tie::Filehandle::Preempt::Stdin' );
-
-{
-    open STDOUT, '>', "/dev/null" or croak "Unable to open to myout";
-    my $ret = $step->runstep($conf);
-    close STDOUT or croak "Unable to close after myout";
-    ok( $ret, "runstep() returned true value" );
-}
-
-undef $object;
-untie *STDIN;
-is($step->result(), 'yes', "Expected result was set");
-# re-set for next test
-$step->set_result(q{});
-$conf->data->set('has_dynamic_linking' => $has_dynamic_linking_orig);
- at prompts = ();
-
-$conf->replenish($serialized);
-
-########## ask; has_dynamic_linking ##########
-
-($args, $step_list_ref) = process_options(
-    {
-        argv => [ q{--ask} ],
-        mode => q{configure},
-    }
-);
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-$conf->data->set('has_dynamic_linking' => 1);
-$prompt = q{n};
-push @prompts, $prompt;
-$object = tie *STDIN, 'Tie::Filehandle::Preempt::Stdin', @prompts;
-can_ok( 'Tie::Filehandle::Preempt::Stdin', ('READLINE') );
-isa_ok( $object, 'Tie::Filehandle::Preempt::Stdin' );
-{
-    open STDOUT, '>', "/dev/null" or croak "Unable to open to myout";
-    my $ret = $step->runstep($conf);
-    close STDOUT or croak "Unable to close after myout";
-    ok( $ret, "runstep() returned true value" );
-}
-undef $object;
-untie *STDIN;
-is($step->result(), 'no', "Expected result was set");
-# re-set for next test
-$step->set_result(q{});
-$conf->data->set('has_dynamic_linking' => $has_dynamic_linking_orig);
- at prompts = ();
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-inter_libparrot-01.t - test inter::libparrot
-
-=head1 SYNOPSIS
-
-    % prove t/steps/inter_libparrot-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test inter::libparrot.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::inter::libparrot, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/inter_make-01.t
==============================================================================
--- branches/darwinhints/t/steps/inter_make-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,123 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# inter_make-01.t
-
-use strict;
-use warnings;
-use Test::More tests => 18;
-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::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-use Tie::Filehandle::Preempt::Stdin;
-
-########## ask  ##########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [q{--ask}],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new();
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-
-my $pkg = q{inter::make};
-
-$conf->add_steps($pkg);
-
-my $serialized = $conf->pcfreeze();
-
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-
-my ( @prompts, $object );
- at prompts = (q{make});
-$object = tie *STDIN, 'Tie::Filehandle::Preempt::Stdin', @prompts;
-can_ok( 'Tie::Filehandle::Preempt::Stdin', ('READLINE') );
-isa_ok( $object, 'Tie::Filehandle::Preempt::Stdin' );
-
-my $ret = $step->runstep($conf);
-ok( defined $ret, "runstep() returned defined value" );
-
-$object = undef;
-untie *STDIN;
-
-$conf->replenish($serialized);
-
-########## ask  ##########
-
-($args, $step_list_ref) = process_options(
-    {
-        argv => [q{--ask}],
-        mode => q{configure},
-    }
-);
-
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-
-$conf->data->set('gmake_version' => '4.1');
-my $prog = 'gmake';
-inter::make::_set_make_c($conf, $prog);
-is($conf->data->get('make_c'), 'gmake -C',
-    "make_c correctly set when gmake");
-
-$conf->data->set('gmake_version' => undef);
-my $str = q|$(PERL) -e 'chdir shift @ARGV; system q{$(MAKE)}, @ARGV; exit $$?  >> 8;'|;
-$conf->data->set(make_c => $str);
-$prog = 'make';
-inter::make::_set_make_c($conf, $prog);
-is($conf->data->get('make_c'),
-    q|$(PERL) -e 'chdir shift @ARGV; system q{make}, @ARGV; exit $$?  >> 8;'|,
-    "make_c correctly set when gmake");
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-inter_make-01.t - test inter::make
-
-=head1 SYNOPSIS
-
-    % prove t/steps/inter_make-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test inter::make.
-
-B<Note:>  Since F<inter::make> probes for the F<make> program
-found on a particular OS, it will probably be difficult to achieve high
-branch or condition coverage.  The module is likely to discover a
-F<make> program long before it reaches the point where it must prompt
-the user for a response.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::inter::make, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/inter_progs-01.t
==============================================================================
--- branches/darwinhints/t/steps/inter_progs-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,130 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# inter_progs-01.t
-
-use strict;
-use warnings;
-
-use Test::More tests => 24;
-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::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-use Tie::Filehandle::Preempt::Stdin;
-use IO::CaptureOutput qw| capture |;
-
-=for hints_for_testing Testing and refactoring of inter::progs should
-entail understanding of issues discussed in the following RT tickets:
-http://rt.perl.org/rt3/Ticket/Display.html?id=43174; and
-http://rt.perl.org/rt3/Ticket/Display.html?id=41168.
-
-=cut
-
-########## ask ##########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [q{--ask}],
-        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 $pkg = q{inter::progs};
-
-$conf->add_steps($pkg);
-
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-
-my @prompts;
-my $object;
-my ($stdout, $debug, $debug_validity);
-
-foreach my $p (
-    qw|
-        cc
-        link
-        ld
-        ccflags
-        linkflags
-        ldflags
-        libs
-        cxx
-    |
-    )
-{
-    push @prompts, $conf->data->get($p);
-}
-push @prompts, q{y};
-
-$object = tie *STDIN, 'Tie::Filehandle::Preempt::Stdin', @prompts;
-can_ok( 'Tie::Filehandle::Preempt::Stdin', ('READLINE') );
-isa_ok( $object, 'Tie::Filehandle::Preempt::Stdin' );
-
-capture( sub {
-    my $verbose = inter::progs::_get_verbose($conf);
-    my $ask = inter::progs::_prepare_for_interactivity($conf);
-    my $cc;
-    ($conf, $cc) = inter::progs::_get_programs($conf, $verbose, $ask);
-    $debug = inter::progs::_get_debug($conf, $ask);
-    $debug_validity = inter::progs::_is_debug_setting_valid($debug);
-}, \$stdout);
-ok( defined $debug_validity, "'debug_validity' set as expected" );
-
-capture( sub {
-    $conf = inter::progs::_set_debug_and_warn($conf, $debug);
-}, \$stdout);
-ok( defined $conf, "Components of runstep() tested okay" );
-
-$object = undef;
-untie *STDIN;
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-inter_progs-01.t - test inter::progs
-
-=head1 SYNOPSIS
-
-    % prove t/steps/inter_progs-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test inter::progs.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::inter::progs, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/inter_progs-02.t
==============================================================================
--- branches/darwinhints/t/steps/inter_progs-02.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,130 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# inter_progs-02.t
-
-use strict;
-use warnings;
-
-use Test::More tests => 24;
-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::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-use Tie::Filehandle::Preempt::Stdin;
-use IO::CaptureOutput qw| capture |;
-
-=for hints_for_testing Testing and refactoring of inter::progs should
-entail understanding of issues discussed in the following RT tickets:
-http://rt.perl.org/rt3/Ticket/Display.html?id=43174; and
-http://rt.perl.org/rt3/Ticket/Display.html?id=41168.
-
-=cut
-
-########## ask; debugging 0  ##########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [ q{--ask}, q{--debugging=0} ],
-        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 $pkg = q{inter::progs};
-
-$conf->add_steps($pkg);
-
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-
-my @prompts;
-my $object;
-my ($stdout, $debug, $debug_validity);
-
-foreach my $p (
-    qw|
-        cc
-        link
-        ld
-        ccflags
-        linkflags
-        ldflags
-        libs
-        cxx
-    |
-    )
-{
-    push @prompts, $conf->data->get($p);
-}
-push @prompts, q{y};
-
-$object = tie *STDIN, 'Tie::Filehandle::Preempt::Stdin', @prompts;
-can_ok( 'Tie::Filehandle::Preempt::Stdin', ('READLINE') );
-isa_ok( $object, 'Tie::Filehandle::Preempt::Stdin' );
-
-capture( sub {
-    my $verbose = inter::progs::_get_verbose($conf);
-    my $ask = inter::progs::_prepare_for_interactivity($conf);
-    my $cc;
-    ($conf, $cc) = inter::progs::_get_programs($conf, $verbose, $ask);
-    $debug = inter::progs::_get_debug($conf, $ask);
-    $debug_validity = inter::progs::_is_debug_setting_valid($debug);
-}, \$stdout);
-ok( defined $debug_validity, "'debug_validity' set as expected" );
-
-capture( sub {
-    $conf = inter::progs::_set_debug_and_warn($conf, $debug);
-}, \$stdout);
-ok( defined $conf, "Components of runstep() tested okay" );
-
-$object = undef;
-untie *STDIN;
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-inter_progs-02.t - test inter::progs
-
-=head1 SYNOPSIS
-
-    % prove t/steps/inter_progs-02.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test inter::progs.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::inter::progs, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/inter_progs-03.t
==============================================================================
--- branches/darwinhints/t/steps/inter_progs-03.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,130 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# inter_progs-03.t
-
-use strict;
-use warnings;
-
-use Test::More tests => 24;
-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::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-use Tie::Filehandle::Preempt::Stdin;
-use IO::CaptureOutput qw| capture |;
-
-=for hints_for_testing Testing and refactoring of inter::progs should
-entail understanding of issues discussed in the following RT tickets:
-http://rt.perl.org/rt3/Ticket/Display.html?id=43174; and
-http://rt.perl.org/rt3/Ticket/Display.html?id=41168.
-
-=cut
-
-########### ask ##########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [q{--ask}],
-        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 $pkg = q{inter::progs};
-
-$conf->add_steps($pkg);
-
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-
-my @prompts;
-my $object;
-my ($stdout, $debug, $debug_validity);
-
-foreach my $p (
-    qw|
-        cc
-        link
-        ld
-        ccflags
-        linkflags
-        ldflags
-        libs
-        cxx
-    |
-    )
-{
-    push @prompts, $conf->data->get($p);
-}
-push @prompts, q{n};
-
-$object = tie *STDIN, 'Tie::Filehandle::Preempt::Stdin', @prompts;
-can_ok( 'Tie::Filehandle::Preempt::Stdin', ('READLINE') );
-isa_ok( $object, 'Tie::Filehandle::Preempt::Stdin' );
-
-capture( sub {
-    my $verbose = inter::progs::_get_verbose($conf);
-    my $ask = inter::progs::_prepare_for_interactivity($conf);
-    my $cc;
-    ($conf, $cc) = inter::progs::_get_programs($conf, $verbose, $ask);
-    $debug = inter::progs::_get_debug($conf, $ask);
-    $debug_validity = inter::progs::_is_debug_setting_valid($debug);
-}, \$stdout);
-ok( defined $debug_validity, "'debug_validity' set as expected" );
-
-capture( sub {
-    $conf = inter::progs::_set_debug_and_warn($conf, $debug);
-}, \$stdout);
-ok( defined $conf, "Components of runstep() tested okay" );
-
-$object = undef;
-untie *STDIN;
-
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-inter_progs-03.t - test inter::progs
-
-=head1 SYNOPSIS
-
-    % prove t/steps/inter_progs-03.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test inter::progs.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::inter::progs, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/inter_progs-04.t
==============================================================================
--- branches/darwinhints/t/steps/inter_progs-04.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,121 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# inter_progs-04.t
-
-use strict;
-use warnings;
-
-use Test::More tests => 23;
-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::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-use Tie::Filehandle::Preempt::Stdin;
-use IO::CaptureOutput qw| capture |;
-
-=for hints_for_testing Testing and refactoring of inter::progs should
-entail understanding of issues discussed in the following RT tickets:
-http://rt.perl.org/rt3/Ticket/Display.html?id=43174; and
-http://rt.perl.org/rt3/Ticket/Display.html?id=41168.
-
-=cut
-
-########## ask ##########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [q{--ask}],
-        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 $pkg = q{inter::progs};
-
-$conf->add_steps($pkg);
-
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-
-my @prompts;
-my $object;
-my ($stdout, $debug, $debug_validity);
-
-foreach my $p (
-    qw|
-        cc
-        link
-        ld
-        ccflags
-        linkflags
-        ldflags
-        libs
-        cxx
-    |
-    )
-{
-    push @prompts, $conf->data->get($p);
-}
-push @prompts, q{0};
-
-$object = tie *STDIN, 'Tie::Filehandle::Preempt::Stdin', @prompts;
-can_ok( 'Tie::Filehandle::Preempt::Stdin', ('READLINE') );
-isa_ok( $object, 'Tie::Filehandle::Preempt::Stdin' );
-
-my $rv;
-capture( sub {
-    $rv = $step->runstep($conf);
-}, \$stdout);
-ok( ! defined $rv, "runstep returned undef as expected" );
-
-$object = undef;
-untie *STDIN;
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-inter_progs-04.t - test inter::progs
-
-=head1 SYNOPSIS
-
-    % prove t/steps/inter_progs-04.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test inter::progs.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::inter::progs, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/inter_shlibs-01.t
==============================================================================
--- branches/darwinhints/t/steps/inter_shlibs-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,126 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# inter_shlibs-01.t
-
-use strict;
-use warnings;
-use Test::More tests => 21;
-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::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-use Tie::Filehandle::Preempt::Stdin;
-
-########## ask; mock response to prompt  ##########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [q{--ask}],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new;
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-
-my $pkg = q{inter::shlibs};
-$conf->add_steps($pkg);
-
-my $serialized = $conf->pcfreeze();
-
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-
-my ( @prompts, $prompt, $object );
-$prompt = q{foobar};
-push @prompts, $prompt;
-
-$object = tie *STDIN, 'Tie::Filehandle::Preempt::Stdin', @prompts;
-can_ok( 'Tie::Filehandle::Preempt::Stdin', ('READLINE') );
-isa_ok( $object, 'Tie::Filehandle::Preempt::Stdin' );
-
-{
-    open STDOUT, '>', "/dev/null" or croak "Unable to open to myout";
-    my $ret = $step->runstep($conf);
-    close STDOUT or croak "Unable to close after myout";
-    ok( $ret, "runstep() returned true value" );
-    is( $step->result(), $prompt, "Expected result was set" );
-}
-
-undef $object;
-untie *STDIN;
- at prompts = ();
-
-$conf->replenish($serialized);
-
-########## ask; empty response to prompt  ##########
-
-($args, $step_list_ref) = process_options(
-    {
-        argv => [q{--ask}],
-        mode => q{configure},
-    }
-);
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-$prompt = q{ };
-push @prompts, $prompt;
-
-$object = tie *STDIN, 'Tie::Filehandle::Preempt::Stdin', @prompts;
-can_ok( 'Tie::Filehandle::Preempt::Stdin', ('READLINE') );
-isa_ok( $object, 'Tie::Filehandle::Preempt::Stdin' );
-
-{
-    open STDOUT, '>', "/dev/null" or croak "Unable to open to myout";
-    my $ret = $step->runstep($conf);
-    close STDOUT or croak "Unable to close after myout";
-    ok( $ret, "runstep() returned true value" );
-    is( $step->result(), q{done}, "Expected result was set" );
-}
-
-undef $object;
-untie *STDIN;
- at prompts = ();
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-inter_shlibs-01.t - test inter::shlibs
-
-=head1 SYNOPSIS
-
-    % prove t/steps/inter_shlibs-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test inter::shlibs.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::inter::shlibs, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/inter_types-01.t
==============================================================================
--- branches/darwinhints/t/steps/inter_types-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,110 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# inter_types-01.t
-
-use strict;
-use warnings;
-use Test::More tests => 12;
-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::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-use Tie::Filehandle::Preempt::Stdin;
-
-########## no ask ##########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new;
-
-my $pkg = q{inter::types};
-
-$conf->add_steps($pkg);
-
-my $serialized = $conf->pcfreeze();
-
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-my $ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
-
-$conf->replenish($serialized);
-
-########## ask ##########
-
-($args, $step_list_ref) = process_options(
-    {
-        argv => [q{--ask}],
-        mode => q{configure},
-    }
-);
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-
-my ( @prompts, $object );
-
-$conf->options->set('intval' => 'alpha');
-$conf->options->set('floatval' => 'beta');
-$conf->options->set('opcode' => 'gamma');
- at prompts = qw( delta epsilon zeta );
-
-$object = tie *STDIN, 'Tie::Filehandle::Preempt::Stdin', @prompts;
-can_ok( 'Tie::Filehandle::Preempt::Stdin', ('READLINE') );
-isa_ok( $object, 'Tie::Filehandle::Preempt::Stdin' );
-
-{
-    open STDOUT, '>', "/dev/null" or croak "Unable to open to myout";
-    my $ret = $step->runstep($conf);
-    close STDOUT or croak "Unable to close after myout";
-    ok( $ret, "runstep() returned true value" );
-}
-
-undef $object;
-untie *STDIN;
- at prompts = ();
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-inter_types-01.t - test inter::types
-
-=head1 SYNOPSIS
-
-    % prove t/steps/inter_types-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test inter::types.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::inter::types, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/inter_yacc-01.t
==============================================================================
--- branches/darwinhints/t/steps/inter_yacc-01.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,177 +0,0 @@
-#! perl
-# Copyright (C) 2007-2008, Parrot Foundation.
-# $Id$
-# inter_yacc-01.t
-
-use strict;
-use warnings;
-use Test::More tests => 31;
-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::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-use Tie::Filehandle::Preempt::Stdin;
-use IO::CaptureOutput qw | capture |;
-
-########## ask ##########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [q{--ask}],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new();
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-
-my $pkg = q{inter::yacc};
-
-$conf->add_steps($pkg);
-
-my $serialized = $conf->pcfreeze();
-
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-my $ret = $step->runstep($conf);
-ok( defined $ret, "runstep() returned defined value" );
-is( $step->result(), q{skipped},
-    "Step was skipped as expected; no '--maintainer' option" );
-# re-set for next step
-$step->set_result(q{});
-
-$conf->replenish($serialized);
-
-########## ask; maintainer; $ENV{YACC}  ##########
-
-$ENV{YACC} = 'foobar';
-($args, $step_list_ref) = process_options(
-    {
-        argv => [ q{--ask}, q{--maintainer} ],
-        mode => q{configure},
-    }
-);
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-$ret = $step->runstep($conf);
-ok( defined $ret, "runstep() returned defined value" );
-my $result_expected = q{user defined};
-is( $step->result(), $result_expected,
-    "Result was $result_expected because environment variable was set" );
-# re-set for next step
-delete $ENV{YACC};
-$step->set_result('');
-
-$conf->replenish($serialized);
-
-########## ask; maintainer; yacc=bison  ##########
-
-($args, $step_list_ref) = process_options(
-    {
-        argv => [ q{--ask}, q{--maintainer}, q{--yacc=bison} ],
-        mode => q{configure},
-    }
-);
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-my ( @prompts, $object );
- at prompts = map { q{foo_} . $_ } qw| alpha |;
-$object = tie *STDIN, 'Tie::Filehandle::Preempt::Stdin', @prompts;
-can_ok( 'Tie::Filehandle::Preempt::Stdin', ('READLINE') );
-isa_ok( $object, 'Tie::Filehandle::Preempt::Stdin' );
-$ret = $step->runstep($conf);
-ok( defined $ret, "runstep() returned defined value" );
-$result_expected = q{user defined};
-is( $step->result(), $result_expected, "Result was $result_expected" );
-$object = undef;
-untie *STDIN;
-# re-set for next step
-$step->set_result(q{});
- at prompts = ();
-
-$conf->replenish($serialized);
-
-########## ask; maintainer; ##########
-
-($args, $step_list_ref) = process_options(
-    {
-        argv => [ q{--ask}, q{--maintainer} ],
-        mode => q{configure},
-    }
-);
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
- at prompts = q{bison};
-$object = tie *STDIN, 'Tie::Filehandle::Preempt::Stdin', @prompts;
-can_ok( 'Tie::Filehandle::Preempt::Stdin', ('READLINE') );
-isa_ok( $object, 'Tie::Filehandle::Preempt::Stdin' );
-{
-    my $rv;
-    my $stdout;
-    capture ( sub {$rv = $step->runstep($conf)}, \$stdout);
-    my $possible_results = qr/^(
-        no\syacc\sprogram\swas\sfound
-      | yacc\sprogram\sdoes\snot\sexist\sor\sdoes\snot\sunderstand\s--version
-      | could\snot\sunderstand\sbison\sversion\srequirement
-      | found\sbison\sversion.*?but\sat\sleast.*?is\srequired
-      | bison
-    )/x;
-    my @dump_msg = ( Dumper( $step->result() ) =~ /'(.*?)'/ );
-    like( $step->result(), $possible_results,
-        "Response to prompt led to acceptable result:  " . $dump_msg[0] );
-    if ( $dump_msg[0] eq q{no yacc program was found} ) {
-        ok( !$stdout, "No yacc program => no prompts" );
-    }
-    else {
-        ok( $stdout, "prompts were captured" );
-    }
-}
-$object = undef;
-untie *STDIN;
-# re-set for next step
-$step->set_result(q{});
- at prompts = ();
-
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-inter_yacc-01.t - test inter::yacc
-
-=head1 SYNOPSIS
-
-    % prove t/steps/inter_yacc-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test inter::yacc.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::inter::yacc, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: branches/darwinhints/t/steps/inter_yacc-02.t
==============================================================================
--- branches/darwinhints/t/steps/inter_yacc-02.t	Tue Jul  7 10:37:13 2009	(r39916)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,79 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# inter_yacc-02.t
-
-use strict;
-use warnings;
-use Test::More tests =>  12;
-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::Test qw(
-    test_step_thru_runstep
-    test_step_constructor_and_description
-);
-
-########## ask; maintainer; $ENV{TEST_YACC} ##########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [ q{--ask}, q{--maintainer} ],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure->new();
-
-test_step_thru_runstep( $conf, q{init::defaults}, $args );
-
-my $pkg = q{inter::yacc};
-
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-my $ret = $step->runstep($conf);
-is( $ret, undef, "runstep() returned undefined value" );
-my $result_expected = q{no yacc program was found};
-is( $step->result(), $result_expected, "Result was $result_expected" );
-# re-set for next step
-$step->set_result(q{});
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-inter_yacc-02.t - test inter::yacc
-
-=head1 SYNOPSIS
-
-    % prove t/steps/inter_yacc-02.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test inter::yacc.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::inter::yacc, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:


More information about the parrot-commits mailing list