fix codetest failure - ASSERT_ARGS does not have a ; after and
[parrot.git] / t / steps / inter / progs-04.t
blob7964ee041992b08d4225b965225f07c387e643c8
1 #! perl
2 # Copyright (C) 2007, Parrot Foundation.
3 # $Id$
4 # inter/progs-04.t
6 use strict;
7 use warnings;
9 use Test::More tests =>  8;
10 use Carp;
11 use lib qw( lib t/configure/testlib );
12 use_ok('config::inter::progs');
13 use Parrot::Configure::Options qw( process_options );
14 use Parrot::Configure::Step::Test;
15 use Parrot::Configure::Test qw(
16     test_step_constructor_and_description
18 use Tie::Filehandle::Preempt::Stdin;
19 use IO::CaptureOutput qw| capture |;
21 =for hints_for_testing Testing and refactoring of inter::progs should
22 entail understanding of issues discussed in
23 https://trac.parrot.org/parrot/ticket/854
25 =cut
27 ########## ask ##########
29 my ($args, $step_list_ref) = process_options(
30     {
31         argv => [q{--ask}],
32         mode => q{configure},
33     }
36 my $conf = Parrot::Configure::Step::Test->new;
37 $conf->include_config_results( $args );
39 my $pkg = q{inter::progs};
41 $conf->add_steps($pkg);
43 $conf->options->set( %{$args} );
44 my $step = test_step_constructor_and_description($conf);
46 my @prompts;
47 my $object;
48 my ($stdout, $debug, $debug_validity);
50 foreach my $p (
51     qw|
52         cc
53         link
54         ld
55         ccflags
56         linkflags
57         ldflags
58         libs
59     |
60     )
62     push @prompts, $conf->data->get($p);
64 push @prompts, q{0};
66 $object = tie *STDIN, 'Tie::Filehandle::Preempt::Stdin', @prompts;
67 can_ok( 'Tie::Filehandle::Preempt::Stdin', ('READLINE') );
68 isa_ok( $object, 'Tie::Filehandle::Preempt::Stdin' );
70 my $rv;
71 capture( sub {
72     $rv = $step->runstep($conf);
73 }, \$stdout);
74 ok( ! defined $rv, "runstep returned undef as expected" );
76 $object = undef;
77 untie *STDIN;
79 pass("Completed all tests in $0");
81 ################### DOCUMENTATION ###################
83 =head1 NAME
85 inter/progs-04.t - test inter::progs
87 =head1 SYNOPSIS
89     % prove t/steps/inter/progs-04.t
91 =head1 DESCRIPTION
93 The files in this directory test functionality used by F<Configure.pl>.
95 The tests in this file test inter::progs.
97 =head1 AUTHOR
99 James E Keenan
101 =head1 SEE ALSO
103 config::inter::progs, F<Configure.pl>.
105 =cut
107 # Local Variables:
108 #   mode: cperl
109 #   cperl-indent-level: 4
110 #   fill-column: 100
111 # End:
112 # vim: expandtab shiftwidth=4: