fix codetest failure - ASSERT_ARGS does not have a ; after and
[parrot.git] / t / steps / auto / neg_0-01.t
blob6fc6989a04ec65b8f3334cd1ffa0778a3d4c01c7
1 #! perl
2 # Copyright (C) 2009, Parrot Foundation.
3 # $Id$
4 # auto_neg_0-01.t
6 use strict;
7 use warnings;
8 use Test::More tests => 23;
9 use Carp;
10 use lib qw( lib t/configure/testlib );
11 use_ok('config::auto::neg_0');
12 use Parrot::Configure::Options qw( process_options );
13 use Parrot::Configure::Step::Test;
14 use Parrot::Configure::Test qw(
15     test_step_constructor_and_description
17 use IO::CaptureOutput 'capture';
19 ########### regular ###########
21 my ($args, $step_list_ref) = process_options(
22     {
23         argv => [ ],
24         mode => 'configure',
25     }
28 my $conf = Parrot::Configure::Step::Test->new;
29 $conf->include_config_results( $args );
31 my $pkg = 'auto::neg_0';
33 $conf->add_steps($pkg);
35 my $serialized = $conf->pcfreeze();
37 $conf->options->set( %{$args} );
38 my $step = test_step_constructor_and_description($conf);
39 my $ret = $step->runstep($conf);
40 ok( $ret, 'runstep() returned true value' );
41 ok( defined $step->result(), 'A result has been defined');
43 $conf->replenish($serialized);
45 ##### _evaluate_cc_run() #####
47 ($args, $step_list_ref) = process_options(
48     {
49         argv => [ ],
50         mode => 'configure',
51     }
53 $conf->options->set( %{$args} );
54 $step = test_step_constructor_and_description($conf);
56 my $d_neg_0;
57 my $orig_has_neg_0 = 0;
59 $d_neg_0 = '-0';
61 is( $step->_evaluate_cc_run($conf, $d_neg_0, $orig_has_neg_0),
62     1,
63     '_evaluate_cc_run() completed satisfactorily' );
65 is( $step->result(), 'yes', 'Got expected result');
67 $d_neg_0 = '0';
69 is( $step->_evaluate_cc_run($conf, $d_neg_0, $orig_has_neg_0),
70     0,
71     '_evaluate_cc_run() completed satisfactorily' );
72 is( $step->result(), 'no', 'Got expected result' );
74 $conf->replenish($serialized);
76 ########## --verbose; _evaluate_cc_run() ##########
78 ($args, $step_list_ref) = process_options( {
79     argv => [ q{--verbose} ],
80     mode => q{configure},
81 } );
83 $conf->add_steps($pkg);
84 $conf->options->set( %{$args} );
85 $step = test_step_constructor_and_description($conf);
87 my $has_neg_0;
89 $d_neg_0 = '-0';
91     my ($stdout, $stderr);
92     capture(
93         sub {
94             $has_neg_0 = $step->_evaluate_cc_run(
95                 $conf, $d_neg_0, $orig_has_neg_0
96             ),
97         },
98         \$stdout,
99     );
100     is( $has_neg_0, 1,
101         'Got expected return value from _evaluate_cc_run()' );
102     is( $step->result(), 'yes', 'Got expected result: yes' );
103     like( $stdout, qr/\(yes\)/, 'Got expected verbose output' );
106 $d_neg_0 = '0';
108     my ($stdout, $stderr);
109     capture(
110         sub {
111             $has_neg_0 = $step->_evaluate_cc_run(
112                 $conf, $d_neg_0, $orig_has_neg_0
113             ),
114         },
115         \$stdout,
116     );
117     is( $has_neg_0, 0,
118         'Got expected return value from _evaluate_cc_run()' );
119     is( $step->result(), 'no', 'Got expected result: no' );
120     like( $stdout, qr/\(no\)/, 'Got expected verbose output' );
123 pass("Completed all tests in $0");
125 ################### DOCUMENTATION ###################
127 =head1 NAME
129 auto_neg_0-01.t - test auto::neg_0
131 =head1 SYNOPSIS
133     % prove t/steps/auto_neg_0-01.t
135 =head1 DESCRIPTION
137 The files in this directory test functionality used by F<Configure.pl>.
139 The tests in this file test auto::neg_0.
141 =head1 AUTHOR
143 Reini Urban
145 =head1 SEE ALSO
147 config::auto::neg_0, F<Configure.pl>.
149 =cut
151 # Local Variables:
152 #   mode: cperl
153 #   cperl-indent-level: 4
154 #   fill-column: 100
155 # End:
156 # vim: expandtab shiftwidth=4: