Alt-FFI-Raw-Platypus
view release on metacpan or search on metacpan
t/ffi_raw.t view on Meta::CPAN
use Test2::V0 -no_srand => 1;
use Test2::Tools::FFI;
use lib 't/lib';
use FFI::Raw;
use Math::BigInt;
use POSIX;
use File::Spec;
use Env qw(@PATH);
use File::Copy qw(cp);
use File::Temp qw(tempdir);
my($shared) = ffi->test->lib;
subtest 'argless' => sub {
my $argless = FFI::Raw->new($shared, 'argless', FFI::Raw::void);
$argless->call;
$argless->();
ok 1, 'survived the call';
};
subtest 'simple-args' => sub {
my $take_one_long = FFI::Raw->new(
$shared, 'take_one_long',
FFI::Raw::void, FFI::Raw::long
);
$take_one_long->call(LONG_MIN);
my $take_one_ulong = FFI::Raw->new(
$shared, 'take_one_ulong',
FFI::Raw::void, FFI::Raw::ulong
);
$take_one_ulong->call(ULONG_MAX);
my $take_one_int = FFI::Raw->new(
$shared, 'take_one_int',
FFI::Raw::void, FFI::Raw::int
);
$take_one_int->call(INT_MIN);
my $take_one_uint = FFI::Raw->new(
$shared, 'take_one_uint',
FFI::Raw::void, FFI::Raw::uint
);
$take_one_uint->call(UINT_MAX);
my $take_one_short = FFI::Raw->new(
$shared, 'take_one_short',
FFI::Raw::void, FFI::Raw::short
);
$take_one_short->call(SHRT_MIN);
my $take_one_ushort = FFI::Raw->new(
$shared, 'take_one_ushort',
FFI::Raw::void, FFI::Raw::ushort
( run in 0.699 second using v1.01-cache-2.11-cpan-d7f47b0818f )