Alien-Xmake
view release on metacpan or search on metacpan
t/00_compile.t view on Meta::CPAN
my $xmake = Alien::Xmake->new;
diag 'Install type: ' . $xmake->install_type;
diag 'Xmake version: ' . $xmake->version;
use Capture::Tiny qw[capture];
my $exe = $xmake->exe;
diag 'Path to exe: ' . $exe;
diag qx[$exe g --theme=plain] if $ENV{AUTOMATED_TESTING};
#
subtest xmake => sub {
diag 'Path to exe: ' . $exe;
my ( $stdout, $stderr, $exit ) = capture { system $exe, '--version' };
is $exit, 0, $exe . ' --version';
diag $stdout if length $stdout;
diag $stderr if length $stderr;
};
#
subtest xrepo => sub {
my ( $stdout, $stderr, $exit ) = capture { system $exe, 'lua', 'private.xrepo', '--version' };
is $exit, 0, $exe . ' --version';
diag $stdout if length $stdout;
diag $stderr if length $stderr;
};
#
done_testing;
t/01_build_cpp.t view on Meta::CPAN
use Capture::Tiny qw[capture];
my $dir = tempdir();
#
use Alien::Xmake;
#
my $xmake = Alien::Xmake->new;
{
my $exe = $xmake->exe;
diag qx[$exe g --theme=plain] if $ENV{AUTOMATED_TESTING};
chdir $dir;
my ( $stdout, $stderr, $exit ) = capture { system $exe, qw[create --quiet --project=test_cpp --language=c++ --template=console] };
ok( ( -d 'test_cpp' ), 'project created' );
#~ ok !$exit, 'project created';
diag $stdout if $exit && length $stdout;
diag $stderr if $exit && length $stderr;
chdir 'test_cpp';
subtest compile => sub {
my $todo = todo 'Require a working compiler'; # outside the scope of Alien::Xmake
diag 'Building project..';
( $stdout, $stderr, $exit ) = capture { system $exe, '--quiet' };
ok !$exit, 'project built';
diag $stdout if $exit && length $stdout;
diag $stderr if $exit && length $stderr;
( $stdout, $stderr, $exit ) = capture { system $exe, 'run' };
ok $stdout =~ /hello world!/, 'project says hello';
diag $stdout if $exit && length $stdout;
diag $stderr if $exit && length $stderr;
}
}
#
done_testing;
( run in 1.315 second using v1.01-cache-2.11-cpan-39bf76dae61 )