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 1.787 second using v1.01-cache-2.11-cpan-1236ad508bc )