pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/pkgtools/lintpkgsrc/files
Module Name: pkgsrc
Committed By: rillig
Date: Wed Aug 10 07:12:52 UTC 2022
Modified Files:
pkgsrc/pkgtools/lintpkgsrc/files: lintpkgsrc.pl
pkgsrc/pkgtools/lintpkgsrc/files/t: parse_makefile.t
Log Message:
lintpkgsrc: cleanup
Mostly remove redundant punctuation around 'push' and 'defined'.
To generate a diff of this commit:
cvs rdiff -u -r1.68 -r1.69 pkgsrc/pkgtools/lintpkgsrc/files/lintpkgsrc.pl
cvs rdiff -u -r1.4 -r1.5 pkgsrc/pkgtools/lintpkgsrc/files/t/parse_makefile.t
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/pkgtools/lintpkgsrc/files/lintpkgsrc.pl
diff -u pkgsrc/pkgtools/lintpkgsrc/files/lintpkgsrc.pl:1.68 pkgsrc/pkgtools/lintpkgsrc/files/lintpkgsrc.pl:1.69
--- pkgsrc/pkgtools/lintpkgsrc/files/lintpkgsrc.pl:1.68 Wed Aug 10 06:08:15 2022
+++ pkgsrc/pkgtools/lintpkgsrc/files/lintpkgsrc.pl Wed Aug 10 07:12:52 2022
@@ -1,6 +1,6 @@
#!@PERL5@
-# $NetBSD: lintpkgsrc.pl,v 1.68 2022/08/10 06:08:15 rillig Exp $
+# $NetBSD: lintpkgsrc.pl,v 1.69 2022/08/10 07:12:52 rillig Exp $
# Written by David Brownlee <abs%netbsd.org@localhost>.
#
@@ -52,13 +52,13 @@ sub pkgname($self) {
}
sub var($self, $key, $val = undef) {
- (defined $val)
+ defined $val
? ($self->{vars}->{$key} = $val)
: $self->{vars}->{$key};
}
sub vars($self) {
- keys %{$self->{vars}};
+ keys $self->{vars}->%*;
}
# Pkgs collects all versions of a given PKGBASE, e.g. apache-1.3.27 and
@@ -82,7 +82,7 @@ sub pkgbase($self) {
# Returns all available versions of the package, in decreasing
# alphabetical(!) order.
sub versions($self) {
- return sort { $b cmp $a } keys %{$self->{pkgvers}};
+ reverse sort keys $self->{pkgvers}->%*;
}
sub add($self, $pkgbase, $pkgversion) {
@@ -95,10 +95,9 @@ sub add($self, $pkgbase, $pkgversion) {
# pkgver($pkgversion) returns the PkgVer, or undef.
sub pkgver($self, $pkgversion = undef) {
my $pkgvers = $self->{pkgvers};
- if (@_ > 1) {
- return $pkgvers->{$pkgversion};
- }
- return sort { $b->pkgversion cmp $a->pkgversion } values %{$pkgvers};
+ defined $pkgversion
+ ? $pkgvers->{$pkgversion}
+ : sort { $b->pkgversion cmp $a->pkgversion } values %$pkgvers;
}
# XXX: Returns the alphabetically(!) highest PkgVer.
@@ -116,14 +115,12 @@ sub new($class) {
}
sub add($self, $pkgbase, $pkgversion) {
- if (!$self->{$pkgbase}) {
- $self->{$pkgbase} = Pkgs->new($pkgbase);
- }
- $self->{$pkgbase}->add($pkgbase, $pkgversion);
+ my $pkgs = ($self->{$pkgbase} ||= Pkgs->new($pkgbase));
+ $pkgs->add($pkgbase, $pkgversion);
}
sub numpkgver($self) {
- scalar($self->pkgver);
+ scalar $self->pkgver;
}
# pkgver() returns all PkgVers, sorted by pkgbase, then by version in
@@ -137,29 +134,26 @@ sub pkgver($self, $pkgbase = undef, $pkg
if (!defined $pkgbase) {
my (@pkgvers);
foreach my $pkg ($self->pkgs) {
- push(@pkgvers, $pkg->pkgver);
+ push @pkgvers, $pkg->pkgver;
}
return @pkgvers;
}
my $pkgs = $self->{$pkgbase};
- if (defined $pkgs) {
- return defined $pkgversion
- ? $pkgs->pkgver($pkgversion)
- : $pkgs->pkgver();
- }
- return;
+ defined $pkgs && defined $pkgversion
+ ? $pkgs->pkgver($pkgversion)
+ : defined $pkgs
+ ? $pkgs->pkgver
+ : ();
}
# pkgs() returns all Pkgs, sorted by pkgbase.
#
# pkgs($pkgbase) returns the Pkgs, or undef.
sub pkgs($self, $pkgbase = undef) {
- if (defined $pkgbase) {
- return $self->{$pkgbase};
- } else {
- return sort { $a->pkgbase cmp $b->pkgbase } values %$self;
- }
+ defined $pkgbase
+ ? $self->{$pkgbase}
+ : sort { $a->pkgbase cmp $b->pkgbase } values %$self;
}
package main;
@@ -185,13 +179,11 @@ my (
my $magic_undefined = 'M_a_G_i_C_uNdEfInEd';
sub debug(@) {
- ($opt{D}) && print STDERR 'DEBUG: ', @_;
+ $opt{D} and print STDERR 'DEBUG: ', @_;
}
sub verbose(@) {
- if (-t STDERR) {
- print STDERR @_;
- }
+ -t STDERR and print STDERR @_;
}
sub fail($msg) {
@@ -208,7 +200,7 @@ sub listdir($base, $dir = undef) {
my (@list, @thislist);
$thisdir = $base;
- if (defined($dir)) {
+ if (defined $dir) {
$thisdir .= "/$dir";
$dir .= '/';
} else {
@@ -216,13 +208,13 @@ sub listdir($base, $dir = undef) {
}
opendir(DIR, $thisdir) || fail("Unable to opendir($thisdir): $!");
- @thislist = grep(substr($_, 0, 1) ne '.' && $_ ne 'CVS', readdir(DIR));
+ @thislist = grep { substr($_, 0, 1) ne '.' && $_ ne 'CVS' } readdir(DIR);
closedir(DIR);
foreach my $entry (@thislist) {
if (-d "$thisdir/$entry") {
- push(@list, listdir($base, "$dir$entry"));
+ push @list, listdir($base, "$dir$entry");
} else {
- push(@list, "$dir$entry");
+ push @list, "$dir$entry";
}
}
@list;
@@ -239,22 +231,20 @@ sub split_pkgversion($pkgversion) {
$pkgversion = lc($pkgversion);
# See pkgtools/pkg_install/files/lib/dewey.c.
- my (@temp);
- push(@temp, ($pkgversion =~ s/nb(\d+)//) ? +$1 : 0);
+ my @temp = ($pkgversion =~ s/nb(\d+)//) ? +$1 : 0;
foreach my $elem (split(/(pl|pre|rc|beta|alpha|\D)/, $pkgversion)) {
if ($elem =~ /\d/) {
- push(@temp, +$elem);
+ push @temp, +$elem;
} elsif ($elem eq 'pl' || $elem eq '.' || $elem eq '_') {
- push(@temp, 0);
+ push @temp, 0;
} elsif ($elem eq 'pre' || $elem eq 'rc') {
- push(@temp, -1);
+ push @temp, -1;
} elsif ($elem eq 'beta') {
- push(@temp, -2);
+ push @temp, -2;
} elsif ($elem eq 'alpha') {
- push(@temp, -3);
+ push @temp, -3;
} elsif ('a' le $elem && $elem le 'z') {
- push(@temp, 0);
- push(@temp, ord($elem) - ord('a') + 1);
+ push @temp, 0, ord($elem) - ord('a') + 1;
}
}
@temp;
@@ -270,26 +260,19 @@ sub pkgversioncmp($va, $op, $vb) {
}
$cmp ||= $nb_a <=> $nb_b;
- if ($op eq '<') {
- $cmp < 0;
- } elsif ($op eq '<=') {
- $cmp <= 0;
- } elsif ($op eq '>') {
- $cmp > 0;
- } else {
- $cmp >= 0;
- }
+ $op eq '<' ? $cmp < 0
+ : $op eq '<=' ? $cmp <= 0
+ : $op eq '>' ? $cmp > 0
+ : $cmp >= 0;
}
# Return a copy of $value in which trivial variable expressions are replaced
# with their variable values.
sub expand_var($value, $vars) {
while ($value =~ /\$\{([-\w.]+)\}/) {
- if (defined($vars->{$1})) {
- $value = $` . $vars->{$1} . $';
- } else {
- $value = $` . $magic_undefined . $';
- }
+ $value = defined $vars->{$1}
+ ? "$`$vars->{$1}$'"
+ : "$`$magic_undefined$'";
}
$value;
}
@@ -305,7 +288,6 @@ sub parse_eval_make_false($line, $vars)
debug("conditional: $test\n");
- # XXX Could do something with target
while ($test =~ /(target|empty|make|defined|exists)\s*\(([^()]+)\)/) {
my ($testname, $varname) = ($1, $2);
my $var;
@@ -336,15 +318,16 @@ sub parse_eval_make_false($line, $vars)
}
if ($testname eq 'exists') {
- $_ = (-e $varname) ? 1 : 0;
+ $_ = -e $varname ? 1 : 0;
} elsif ($testname eq 'defined') {
- $_ = defined($var) ? 1 : 0;
+ $_ = defined $var ? 1 : 0;
} elsif ($testname eq 'empty') {
- $_ = ((not defined($var) or (length($var) == 0)) ? 1 : 0);
+ $_ = !defined $var || $var eq '' ? 1 : 0;
} else {
+ # XXX Could do something with target
$_ = 0;
}
@@ -354,9 +337,9 @@ sub parse_eval_make_false($line, $vars)
while ($test =~ /([^\s()\|\&]+)\s+(!=|==)\s+([^\s()]+)/) {
if ($2 eq '==') {
- $_ = ($1 eq $3) ? 1 : 0;
+ $_ = $1 eq $3 ? 1 : 0;
} else {
- $_ = ($1 ne $3) ? 1 : 0;
+ $_ = $1 ne $3 ? 1 : 0;
}
$test =~ s/[^\s()\|\&]+\s+(!=|==)\s+[^\s()]+/$_/;
}
@@ -427,12 +410,12 @@ sub parse_makefile_line_include($file, $
my $NEWCURDIR = $incfile;
$NEWCURDIR =~ s#/[^/]*$##;
- push(@$incdirs, $NEWCURDIR)
+ push @$incdirs, $NEWCURDIR
unless grep { $_ eq $NEWCURDIR } @$incdirs;
- unshift(@$lines, ".CURDIR=" . $vars->{'.CURDIR'});
+ unshift @$lines, ".CURDIR=" . $vars->{'.CURDIR'};
chomp(my @inc_lines = <FILE>);
- unshift(@$lines, @inc_lines);
- unshift(@$lines, ".CURDIR=$NEWCURDIR");
+ unshift @$lines, @inc_lines;
+ unshift @$lines, ".CURDIR=$NEWCURDIR";
close(FILE);
}
@@ -472,8 +455,9 @@ sub expand_modifiers($file, $varname, $l
debug("$file: substitutelist $varname ($result) $subvar (@mods)\n");
foreach (@mods) {
- if (m#(U)(.*)#) {
- $result ||= $2;
+ # FIXME: Add '^' anchor.
+ if (m# (U) (.*) #x) {
+ $result ||= "fallback:$2";
} elsif (m# ([CS]) (.) ([^/\@]+) \2 ([^/\@]*) \2 ([1g]*) #x) {
# TODO: Use non-greedy repetitions above.
# TODO: Properly handle separators other than '/' and '@'.
@@ -525,8 +509,8 @@ sub parse_makefile_vars($file, $cwd = un
chomp(@lines = <FILE>);
close(FILE);
- push(@incdirs, '.');
- push(@incdirs, dirname($file));
+ push @incdirs, '.';
+ push @incdirs, dirname($file);
# Some Makefiles depend on these being set
if ($file eq '/etc/mk.conf') {
@@ -544,7 +528,7 @@ sub parse_makefile_vars($file, $cwd = un
$vars{'.CURDIR'} = getcwd;
}
- push(@incdirs, $vars{'.CURDIR'});
+ push @incdirs, $vars{'.CURDIR'};
if ($opt{L}) {
print "$file\n";
}
@@ -560,22 +544,20 @@ sub parse_makefile_vars($file, $cwd = un
# Conditionals
#
if (m#^ \. \s* if(|def|ndef) \s+ (.*) #x) {
- my ($type, $false);
-
- $type = $1;
+ my $type = $1;
if ($if_false[$#if_false]) {
- push(@if_false, 2);
+ push @if_false, 2;
} elsif ($type eq '') {
# Straight if
- push(@if_false, parse_eval_make_false($2, \%vars));
+ push @if_false, parse_eval_make_false($2, \%vars);
} else {
- $false = !defined($vars{expand_var($2, \%vars)});
+ my $false = !defined $vars{expand_var($2, \%vars)};
if ($type eq 'ndef') {
$false = !$false;
}
- push(@if_false, $false ? 1 : 0);
+ push @if_false, $false ? 1 : 0;
}
debug("$file: .if$type (! @if_false)\n");
@@ -651,10 +633,9 @@ sub get_default_makefile_vars() {
$default_vars->{OPSYS},
$default_vars->{OS_VERSION},
$default_vars->{MACHINE}
- ) = (split);
- if (!$default_vars->{MACHINE}) {
- die('Unable to extract machine from uname');
- }
+ ) = split;
+ $default_vars->{MACHINE}
+ or die('Unable to extract machine from uname');
# Handle systems without uname -p (NetBSD pre 1.4)
chomp($default_vars->{MACHINE_ARCH} = `uname -p 2>/dev/null`);
@@ -664,18 +645,14 @@ sub get_default_makefile_vars() {
chomp($default_vars->{MACHINE_ARCH} = `sysctl -n hw.machine_arch`);
}
- if (!$default_vars->{MACHINE_ARCH}) {
- $default_vars->{MACHINE_ARCH} = $default_vars->{MACHINE};
- }
+ $default_vars->{MACHINE_ARCH} ||= $default_vars->{MACHINE};
$default_vars->{OBJECT_FMT} = 'x';
$default_vars->{LOWER_OPSYS} = lc($default_vars->{OPSYS});
- if ($opt{P}) {
- $default_vars->{PKGSRCDIR} = realpath($opt{P});
- } else {
- $default_vars->{PKGSRCDIR} = $conf_pkgsrcdir;
- }
+ $default_vars->{PKGSRCDIR} = $opt{P}
+ ? realpath($opt{P})
+ : $conf_pkgsrcdir;
$default_vars->{DESTDIR} = '';
$default_vars->{LOCALBASE} = '/usr/pkg';
@@ -693,6 +670,7 @@ sub get_default_makefile_vars() {
}
}
+ # XXX: repeated from above?
if ($opt{P}) {
$default_vars->{PKGSRCDIR} = realpath($opt{P});
}
@@ -727,28 +705,26 @@ sub get_default_makefile_vars() {
#
sub invalid_version($pkgmatch) {
my ($fail, $ok);
- my (@pkgmatches, @todo);
+ my (@pkgmatches);
- @todo = ($pkgmatch);
+ my @todo = ($pkgmatch);
# We handle {} here, everything else in package_globmatch
while ($pkgmatch = shift @todo) {
if ($pkgmatch =~ /(.*)\{([^{}]+)}(.*)/) {
foreach (split(',', $2)) {
- push(@todo, "$1$_$3");
+ push @todo, "$1$_$3";
}
} else {
- push(@pkgmatches, $pkgmatch);
+ push @pkgmatches, $pkgmatch;
}
}
foreach $pkgmatch (@pkgmatches) {
my ($pkg, $badver) = package_globmatch($pkgmatch);
- if (defined($badver)) {
- my ($pkgs);
-
- if ($pkgs = $pkgdb->pkgs($pkg)) {
+ if (defined $badver) {
+ if (my $pkgs = $pkgdb->pkgs($pkg)) {
$fail .=
"Version mismatch: '$pkg' $badver vs "
. join(',', $pkgs->versions) . "\n";
@@ -756,28 +732,19 @@ sub invalid_version($pkgmatch) {
$fail .= "Unknown package: '$pkg' version $badver\n";
}
} else {
-
# If we find one match, don't bitch about others
$ok = 1;
}
}
- $ok && ($fail = undef);
- $fail;
+ $ok ? undef : $fail;
}
-# Use pkg_info to list installed packages
-#
sub list_installed_packages() {
- my (@pkgs);
-
- open(PKG_INFO, 'pkg_info -e "*" |') || fail("Unable to run pkg_info: $!");
- while (defined(my $pkg = <PKG_INFO>)) {
- chomp($pkg);
- push(@pkgs, canonicalize_pkgname($pkg));
- }
+ open(PKG_INFO, 'pkg_info -e "*" |')
+ or fail("Unable to run pkg_info: $!");
+ chomp(my @pkgs = <PKG_INFO>);
close(PKG_INFO);
-
- @pkgs;
+ map { $_ = canonicalize_pkgname($_) } @pkgs;
}
# List top level pkgsrc categories
@@ -798,18 +765,15 @@ sub list_pkgsrc_categories($pkgsrcdir) {
# For a given category, list potentially valid pkgdirs
#
sub list_pkgsrc_pkgdirs($pkgsrcdir, $cat) {
- my (@pkgdirs);
-
- if (!opendir(CAT, "$pkgsrcdir/$cat")) {
- die("Unable to opendir($pkgsrcdir/$cat): $!");
- }
- @pkgdirs =
- sort grep($_ ne 'Makefile'
- && $_ ne 'pkg'
- && $_ ne 'CVS'
- && substr($_, 0, 1) ne '.',
- readdir(CAT));
- closedir(CAT);
+ opendir(CAT, "$pkgsrcdir/$cat")
+ or die("Unable to opendir($pkgsrcdir/$cat): $!");
+ my @pkgdirs = sort grep {
+ $_ ne 'Makefile'
+ && $_ ne 'pkg'
+ && $_ ne 'CVS'
+ && substr($_, 0, 1) ne '.'
+ } readdir(CAT);
+ closedir(CAT) or die;
@pkgdirs;
}
@@ -905,12 +869,12 @@ sub package_globmatch($pkgmatch) {
($matchpkgname, $matchver) = ($1, $2);
if (defined $pkgdb->pkgs($matchpkgname)) {
- push(@pkgnames, $matchpkgname);
+ push @pkgnames, $matchpkgname;
} elsif ($regex = glob2regex($matchpkgname)) {
foreach my $pkg ($pkgdb->pkgs) {
if ($pkg->pkgbase =~ /$regex/) {
- push(@pkgnames, $pkg->pkgbase);
+ push @pkgnames, $pkg->pkgbase;
}
}
}
@@ -1145,7 +1109,7 @@ sub pkgsrc_check_depends() {
$depend = canonicalize_pkgname($depend);
if (($msg = invalid_version($depend))) {
- if (!defined($err)) {
+ if (!defined $err) {
print $pkgver->pkgname . " DEPENDS errors:\n";
}
$err = 1;
@@ -1217,7 +1181,7 @@ sub scan_pkgsrc_distfiles_vs_distinfo($p
if (!defined($dist = $distfiles{$distn})) {
$bad_distfiles{$distn} = 1;
} elsif ($dist->{sum} ne 'IGNORE') {
- push(@{$sumfiles{ $dist->{sumtype} }}, $distn);
+ push @{$sumfiles{ $dist->{sumtype} }}, $distn;
}
}
} },
@@ -1248,9 +1212,9 @@ sub scan_pkgsrc_distfiles_vs_distinfo($p
}
my $pid = open3(my $in, my $out, undef, 'xargs', 'digest', $sum);
- defined($pid) || fail 'fork';
+ defined $pid || fail 'fork';
my $pid2 = fork();
- defined($pid2) || fail 'fork';
+ defined $pid2 || fail 'fork';
if ($pid2) {
close($in);
} else {
@@ -1354,7 +1318,7 @@ sub check_prebuilt_packages() {
if (!defined $pkgver) {
if ($opt{p}) {
print "$File::Find::dir/$_\n";
- push(@matched_prebuiltpackages, "$File::Find::dir/$_");
+ push @matched_prebuiltpackages, "$File::Find::dir/$_";
}
# Pick probably the last version
@@ -1363,12 +1327,12 @@ sub check_prebuilt_packages() {
if ($opt{R} && $pkgver->var('RESTRICTED')) {
print "$File::Find::dir/$_\n";
- push(@matched_prebuiltpackages, "$File::Find::dir/$_");
+ push @matched_prebuiltpackages, "$File::Find::dir/$_";
}
if ($opt{O} && $pkgver->var('OSVERSION_SPECIFIC')) {
print "$File::Find::dir/$_\n";
- push(@matched_prebuiltpackages, "$File::Find::dir/$_");
+ push @matched_prebuiltpackages, "$File::Find::dir/$_";
}
}
@@ -1386,7 +1350,7 @@ sub check_prebuilt_packages() {
$dest = "$File::Find::dir/$dest";
}
if (!$prebuilt_pkgdir_cache{$dest}) {
- push(@prebuilt_pkgdirs, $dest);
+ push @prebuilt_pkgdirs, $dest;
}
}
}
@@ -1432,7 +1396,7 @@ sub remove_distfiles($pkgsrcdir, $pkgdis
if ($pkgname =~ /^([^*?[]+)-([\d*?[].*)/) {
foreach my $pkgver ($pkgdb->pkgver($1)) {
next if $pkgver->var('dir') =~ /-current/;
- push(@installed, $pkgver);
+ push @installed, $pkgver;
last;
}
}
@@ -1452,7 +1416,7 @@ sub remove_distfiles($pkgsrcdir, $pkgdis
$dn =~ s/^(\.\/)*//;
if (!defined $distfiles{$dn}) {
$distfiles{$dn}{name} = $dn;
- push(@pkgdistfiles, $dn);
+ push @pkgdistfiles, $dn;
}
}
close(DISTINFO);
@@ -1478,7 +1442,7 @@ sub remove_distfiles($pkgsrcdir, $pkgdis
}
}
if ($found != 1) {
- push(@orphan, $dldf);
+ push @orphan, $dldf;
print "Orphaned file: $dldf\n";
}
$found = 0;
@@ -1505,7 +1469,7 @@ sub remove_distfiles($pkgsrcdir, $pkgdis
}
}
if ($found == 1) {
- push(@parent, $pkgdf);
+ push @parent, $pkgdf;
print "Parented file: $pkgdf\n";
}
$found = 0;
@@ -1601,7 +1565,7 @@ sub check_outdated_installed_packages($p
foreach my $pkgver ($pkgdb->pkgver($1)) {
next if $pkgver->var('dir') =~ /-current/;
- push(@update, $pkgver);
+ push @update, $pkgver;
last;
}
}
@@ -1632,7 +1596,7 @@ sub check_outdated_installed_packages($p
print "\nRunning '$conf_make fetch-list | sh' for each package:\n";
foreach my $pkgver (@update) {
my $pkgpath = $pkgver->var('dir');
- defined($pkgpath)
+ defined $pkgpath
or fail('Cannot determine ' . $pkgver->pkgbase . ' directory');
print "$pkgsrcdir/$pkgpath\n";
@@ -1707,6 +1671,14 @@ sub main() {
}
}
+sub export_for_test() {
+ ({
+ 'opt' => \%opt,
+ 'default_vars' => $default_vars,
+ 'pkgdb' => $pkgdb,
+ });
+}
+
if (caller()) {
# To allow easy testing of the code.
# TODO: reduce the use of global variables, or make them accessible
Index: pkgsrc/pkgtools/lintpkgsrc/files/t/parse_makefile.t
diff -u pkgsrc/pkgtools/lintpkgsrc/files/t/parse_makefile.t:1.4 pkgsrc/pkgtools/lintpkgsrc/files/t/parse_makefile.t:1.5
--- pkgsrc/pkgtools/lintpkgsrc/files/t/parse_makefile.t:1.4 Tue Aug 9 20:51:46 2022
+++ pkgsrc/pkgtools/lintpkgsrc/files/t/parse_makefile.t Wed Aug 10 07:12:52 2022
@@ -1,4 +1,4 @@
-# $NetBSD: parse_makefile.t,v 1.4 2022/08/09 20:51:46 rillig Exp $
+# $NetBSD: parse_makefile.t,v 1.5 2022/08/10 07:12:52 rillig Exp $
use strict;
use warnings;
@@ -52,5 +52,23 @@ sub test_parse_makefile_vars() {
ok($vars->{VAR}, 'value');
}
+sub test_expand_modifiers() {
+ my $vars = {
+ REF => 'VALUE',
+ };
+ export_for_test()->{opt}->{D} = 1;
+
+ expand_modifiers('file.mk', 'VAR', '<', 'REF', 'S,U,X,', '>', $vars);
+
+ # FIXME: Should be 'VALXE', but the 'U' is wrongly interpreted as a
+ # ':U' modifier.
+ ok($vars->{VAR}, '<VALUE>');
+
+ expand_modifiers('file.mk', 'VAR', '<', 'REF', 'S,VAL,H,', '>', $vars);
+
+ ok($vars->{VAR}, '<HUE>');
+}
+
test_expand_var();
test_parse_makefile_vars();
+test_expand_modifiers();
Home |
Main Index |
Thread Index |
Old Index