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 )