Alien-Build-Plugin-Build-Xrepo
view release on metacpan or search on metacpan
t/001_build_plugin.t view on Meta::CPAN
my @repos = map { $_->{url} } grep { $_->{action} eq 'add_repo' } @main::ALL_CALLS;
like "@repos", qr/\Q$lr\E/, 'local repo path passed to the engine add_repo';
is scalar @repos, 1, 'exactly one repo registered';
};
subtest 'missing packages is rejected at alienfile compile' => sub {
my $dir = Path::Tiny->tempdir;
like dies {
alienfile( source => "use alienfile;\nplugin 'Build::Xrepo';\n", stage => "$dir/stage", prefix => "$dir/prefix", root => "$dir/root" );
}, qr[packages], 'packages is a required property';
};
subtest 'interpolate helpers read their own build, not a shared global' => sub {
my $a = driven_build( sf( "['zstd']", version => '1.2.3' ) );
my $b = driven_build( sf( "['ninja']", version => '9.9.9' ) );
my $ia = $a->{build}->meta->interpolator;
my $ib = $b->{build}->meta->interpolator;
like $ia->interpolate( '%{xrepo_version}', $a->{build} ), qr[1\.2\.3], 'A helper sees version from its own build';
like $ib->interpolate( '%{xrepo_version}', $b->{build} ), qr[9\.9\.9], 'B helper sees version from its own build';
is $ia->interpolate( '%{xrepo_cflags}', $a->{build} ), $a->{build}->runtime_prop->{cflags}, 'A helper sees cflags from its own build';
is $ib->interpolate( '%{xrepo_cflags}', $b->{build} ), $b->{build}->runtime_prop->{cflags}, 'B helper sees cflags from its own build';
};
#
( run in 0.810 second using v1.01-cache-2.11-cpan-1236ad508bc )