fix codetest failure - ASSERT_ARGS does not have a ; after and
[parrot.git] / t / steps / init / headers-01.t
blob028c81464f13ecf4e3edcc84d80a5ebe226dd0f7
1 #! perl
2 # Copyright (C) 2007, Parrot Foundation.
3 # $Id$
4 # init/headers-01.t
6 use strict;
7 use warnings;
8 use Test::More tests => 7;
9 use Carp;
10 use Cwd;
11 use File::Copy;
12 use File::Temp qw(tempdir);
13 use Tie::File;
14 use lib qw( lib );
15 use_ok('config::init::headers');
16 use Parrot::Configure::Options qw( process_options );
17 use Parrot::Configure::Step::Test;
18 use Parrot::Configure::Test qw(
19     test_step_constructor_and_description
22 my ($args, $step_list_ref) = process_options(
23     {
24         argv => [],
25         mode => q{configure},
26     }
29 my $conf = Parrot::Configure::Step::Test->new;
30 $conf->include_config_results( $args );
32 my $pkg  = q{init::headers};
33 $conf->add_steps($pkg);
34 $conf->options->set( %{$args} );
36 my $step = test_step_constructor_and_description($conf);
38 my $cwd = cwd();
40     my $tdir = tempdir( CLEANUP => 1 );
41     chdir $tdir or croak "Unable to change to tempdir for testing";
42     copy qq{$cwd/MANIFEST}, qq{$tdir/MANIFEST}
43         or croak "Unable to copy MANIFEST for testing";
44     my @lines;
45     tie @lines, 'Tie::File', qq{$tdir/MANIFEST}
46         or croak "Unable to tie to temporary MANIFEST";
47     push @lines, q{include/parrot/phony.h    [main]include};
48     untie @lines;
49     my $ret = $step->runstep($conf);
50     ok( defined $ret, "runstep() returned defined value" );
51     like( $conf->data->get(q{TEMP_nongen_headers}), qr{\$\(INC_DIR\)/phony\.h\\},
52 qq{Header added to MANIFEST for testing purposes correctly detected in Parrot::Configure object data structure}
53     );
55     unlink qq{$tdir/MANIFEST}
56         or croak "Unable to delete file after testing";
57     chdir $cwd
58         or croak "Unable to change back to starting directory after testing";
61 pass("Completed all tests in $0");
63 ################### DOCUMENTATION ###################
65 =head1 NAME
67 init/headers-01.t - test init::headers
69 =head1 SYNOPSIS
71     % prove t/steps/init/headers-01.t
73 =head1 DESCRIPTION
75 The files in this directory test functionality used by F<Configure.pl>.
77 The tests in this file test init::headers.
79 =head1 AUTHOR
81 James E Keenan
83 =head1 SEE ALSO
85 config::init::headers, F<Configure.pl>.
87 =cut
89 # Local Variables:
90 #   mode: cperl
91 #   cperl-indent-level: 4
92 #   fill-column: 100
93 # End:
94 # vim: expandtab shiftwidth=4: