diff --git a/src/ioc/dbtemplate/test/msi.plt b/src/ioc/dbtemplate/test/msi.plt index 332defb13..ca87ca1fe 100644 --- a/src/ioc/dbtemplate/test/msi.plt +++ b/src/ioc/dbtemplate/test/msi.plt @@ -11,7 +11,7 @@ use strict; use Test; -BEGIN {plan tests => 11} +BEGIN {plan tests => 12} # Check include/substitute command model ok(msi('-I .. ../t1-template.txt'), slurp('../t1-result.txt')); @@ -56,6 +56,8 @@ ok(msi('-I. -I.. -S ../t10-substitute.txt'), slurp('../t10-result.txt')); # Substitution file, pattern format, with 0 pattern definitions ok(msi('-I. -I.. -S ../t11-substitute.txt'), slurp('../t11-result.txt')); +# Macros in template-file name populated from environment variable +ok(msi('-I. -I.. -S ../t12-substitute.txt', 'TEST_NO=12,PREFIX=t'), slurp('../t12-result.txt')); # Test support routines @@ -68,10 +70,16 @@ sub slurp { } sub msi { - my ($args) = @_; + my ($args, $envstr) = @_; my $exe = ($^O eq 'MSWin32') || ($^O eq 'cygwin') ? '.exe' : ''; my $msi = "./msi-copy$exe"; my $result; + my @envs = split(/,/, $envstr); + foreach (@envs) + { + my ($var, $value) = split /=/, $_; + $ENV{$var} = $value; + } if ($args =~ m/-o / && $args !~ m/-D/) { # An empty result is expected $result = `$msi $args`; @@ -85,5 +93,10 @@ sub msi { if $result eq ''; } while ($result eq '') && (--$count > 0); } + foreach (@envs) + { + my ($var, $value) = split /=/, $_; + delete $ENV{$var}; + } return $result; } diff --git a/src/ioc/dbtemplate/test/t12-result.txt b/src/ioc/dbtemplate/test/t12-result.txt new file mode 100644 index 000000000..6cfcc57da --- /dev/null +++ b/src/ioc/dbtemplate/test/t12-result.txt @@ -0,0 +1,2 @@ +# comment line +a=foo diff --git a/src/ioc/dbtemplate/test/t12-substitute.txt b/src/ioc/dbtemplate/test/t12-substitute.txt new file mode 100644 index 000000000..7a26b6fea --- /dev/null +++ b/src/ioc/dbtemplate/test/t12-substitute.txt @@ -0,0 +1,3 @@ +file $(PREFIX)$(TEST_NO)-template.txt { + { a=foo } +} diff --git a/src/ioc/dbtemplate/test/t12-template.txt b/src/ioc/dbtemplate/test/t12-template.txt new file mode 100644 index 000000000..7958885a7 --- /dev/null +++ b/src/ioc/dbtemplate/test/t12-template.txt @@ -0,0 +1,2 @@ +# comment line +a=$(a)