Reworked test files for better error reporting
[nasm/perl-rewrite.git] / perl / t / version / make.t
blobbfca93e76a4777e205482a4c7248b3ae351bf962
1 #!/usr/bin/env perl
2 use strict;
3 use warnings;
5 use lib qw't perl/t ..';
7 my %MODULES = (
8 'YAML::XS', 'qw[:all]',
9 'version::input', '',
12 use Test::More;
14 # Load the testing modules
15 foreach my $MODULE ( keys %MODULES ) {
16 eval "use $MODULE $MODULES{$MODULE}";
17 if ( $@ ) {
18 plan( skip_all => "$MODULE not available for testing" );
23 our %test = load(
24 filter =>[qw'version major minor subminor patchlevel']
28 plan( tests => scalar keys %test );
31 my %map = (
32 ver => 'version',
33 major_ver => 'major',
34 minor_ver => 'minor',
35 subminor_ver => 'subminor',
36 patchlevel_ver => 'patchlevel'
39 for my $test ( sort keys %test ){
40 my $expected = $test{$test};
41 my $returned = `echo $test | perl version.pl make`;
43 my %got;
44 while( $returned =~ m{
46 NASM_(\w+)=(.+?)\n
47 }xgcs
49 $got{lc $1} = $2;
52 for my $key ( keys %map ){
53 if( defined $got{$key} ){
54 my $value = $map{$key};
55 $got{$value} = $got{$key} if defined $value;
56 delete $got{$key};
60 is_deeply(\%got,$expected,$test);
62 __END__
63 NASM_VER=2.06rc10
64 NASM_MAJOR_VER=2
65 NASM_MINOR_VER=5
66 NASM_SUBMINOR_VER=99
67 NASM_PATCHLEVEL_VER=100