Refactored version.pl test suite.
[nasm/perl-rewrite.git] / perl / t / version-make.t
blob8eff06ef92c6f5c027433550e745d7153b86860b
1 #!/usr/bin/env perl
2 # <major>.<minor>[.<subminor>][pl<patchlevel>]]<tail>
3 use strict;
4 use warnings;
5 use lib qw'. t';
6 use version_input;
8 our %test = version_input::load(
9 filter =>[qw'version major minor subminor patchlevel']
13 use Test::More;
14 eval "use Test::More 'tests' => ".(scalar keys %test);
15 die $@ if $@;
20 my %map = (
21 ver => 'version',
22 major_ver => 'major',
23 minor_ver => 'minor',
24 subminor_ver => 'subminor',
25 patchlevel_ver => 'patchlevel'
28 for my $test ( sort keys %test ){
29 my $expected = $test{$test};
30 my $returned = `echo $test | perl version.pl make`;
32 my %got;
33 while( scalar $returned =~ m{
35 NASM_(\w+)=(.+?)\n
36 }xgcs
38 $got{lc $1} = $2;
41 for my $key ( keys %map ){
42 if( defined $got{$key} ){
43 my $value = $map{$key};
44 $got{$value} = $got{$key} if defined $value;
45 delete $got{$key};
49 is_deeply(\%got,$expected);
51 __END__
52 NASM_VER=2.06rc8
53 NASM_MAJOR_VER=2
54 NASM_MINOR_VER=5
55 NASM_SUBMINOR_VER=99
56 NASM_PATCHLEVEL_VER=98