From 092887ea839dbc7e209bd269d420beda89f9e4ff Mon Sep 17 00:00:00 2001 From: schmonz Date: Tue, 26 Mar 2013 15:10:31 +0000 Subject: Bag-compare all vartypes_basictypes, not just two. pkglint greps itself (really) to generate this list of types. Test exhaustively for all types in the list today, so that the tested code can become more civilized tomorrow. Adds a test-time dependency on Test::Deep for cmp_bag(). --- pkgtools/pkglint/Makefile | 3 ++- pkgtools/pkglint/files/pkglint.t | 37 ++++++++++++++++++++++++++++++++----- 2 files changed, 34 insertions(+), 6 deletions(-) (limited to 'pkgtools') diff --git a/pkgtools/pkglint/Makefile b/pkgtools/pkglint/Makefile index 49fe4d3ca17..1587a09a72f 100644 --- a/pkgtools/pkglint/Makefile +++ b/pkgtools/pkglint/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.426 2013/03/26 15:09:35 schmonz Exp $ +# $NetBSD: Makefile,v 1.427 2013/03/26 15:10:31 schmonz Exp $ # Note: if you update the version number, please have a look at the # changes between the CVS tag "pkglint_current" and HEAD. @@ -16,6 +16,7 @@ DEPENDS+= p5-Digest-SHA1-[0-9]*:../../security/p5-Digest-SHA1 DEPENDS+= p5-enum>=1.016:../../devel/p5-enum DEPENDS+= p5-pkgsrc-Dewey>=1.0:../../pkgtools/p5-pkgsrc-Dewey +BUILD_DEPENDS+= p5-Test-Deep-[0-9]*:../../devel/p5-Test-Deep BUILD_DEPENDS+= p5-Test-Trap-[0-9]*:../../devel/p5-Test-Trap PKG_INSTALLATION_TYPES= overwrite pkgviews diff --git a/pkgtools/pkglint/files/pkglint.t b/pkgtools/pkglint/files/pkglint.t index 52e0b139ba8..a32c98af84f 100644 --- a/pkgtools/pkglint/files/pkglint.t +++ b/pkgtools/pkglint/files/pkglint.t @@ -1,11 +1,12 @@ #! @PERL@ -# $NetBSD: pkglint.t,v 1.6 2013/03/26 15:10:03 schmonz Exp $ +# $NetBSD: pkglint.t,v 1.7 2013/03/26 15:10:32 schmonz Exp $ # require 'pkglint.pl'; # so we can test its internals $pkglint::program = 'pkglint.pl'; # because it self-greps for vartypes -use Test::More tests => 37; +use Test::More tests => 36; +use Test::Deep; use Test::Trap; use Config; @@ -31,7 +32,7 @@ sub test_unit { } like($trap->stdout, qr/$stdout_re/sm, qq{stdout matches $stdout_re}); like($trap->stderr, qr/$stderr_re/sm, qq{stderr matches $stderr_re}); - + return @results; } @@ -68,8 +69,34 @@ sub test_get_vartypes_basictypes { my @results = test_unit($unit); my %types = %{$results[0]}; - is($types{BuildlinkDepmethod}, 1, q{a couple expected types are here}); - is($types{YesNo_Indirectly}, 1, q{a couple expected types are here}); + + my @all_vartypes_basictypes = qw( + ARRAY AwkCommand BrokenIn + BuildlinkDepmethod BuildlinkDepth BuildlinkPackages + CFlag Category Comment + Dependency DependencyWithPath + DistSuffix EmulPlatform + FileMode Filemask Filename + Identifier Integer LdFlag License Mail_Address Message Option + Pathlist Pathmask Pathname + Perl5Packlist + PkgName PkgOptionsVar PkgPath PkgRevision + PlatformTriple PrefixPathname + RelativePkgDir RelativePkgPath + Restricted SVR4PkgName + SedCommand SedCommands + ShellCommand ShellWord + Stage String Tool URL Unchecked UserGroupName Varname Version + WrapperReorder WrapperTransform + WrkdirSubdirectory WrksrcSubdirectory + Yes YesNo YesNo_Indirectly + ); + + cmp_bag( + [ keys %types ], + \@all_vartypes_basictypes, + q{types contains all expected and no unexpected types}, + ); } sub test_get_vartypes_map { -- cgit v1.2.3