Changed var names in t/001-math.t
[perl-ctypes:perl-ctypes.git] / t / 001-math.t
1 #!perl -T
2
3 use Test::More tests => 3;
4
5 use Ctypes;
6 use DynaLoader;
7
8 # Adapted from http://github.com/rurban/c-dynalib/blob/master/lib/C/DynaLib.pm, 31/05/2010
9 my ($lib, $func, $sig, $ret);
10
11 if ($^O eq 'cygwin') {
12   $lib = DynaLoader::dl_load_file( "/bin/cygwin1.dll" );
13     ok( defined $lib, 'Load cygwin1.dll' );
14   $func = DynaLoader::dl_find_symbol( $lib, 'sqrt' );
15     ok( defined $func, 'Load sqrt() function' );
16 }
17
18 if ($^O eq 'MSWin32') {
19   $lib = DynaLoader::dl_load_file($ENV{SYSTEMROOT}."\\System32\\MSVCRT.DLL" );
20     ok( defined $lib,   'Load msvcrt.dll' );
21   $func = DynaLoader::dl_find_symbol( $lib, 'cos' );
22     ok( defined $func,   'Load cos() function' );
23 }
24
25 if ($^O =~ /linux/) {
26   my $found = DynaLoader::dl_findfile( '-lm' );
27   $lib = DynaLoader::dl_load_file( $found );
28     ok( defined $lib, 'Load libm' ) or diag( DynaLoader::dl_error() );
29   $func = DynaLoader::dl_find_symbol( $lib, 'sqrt' );
30     ok( defined $func, 'Load sqrt() function' ) or diag( DynaLoader::dl_error() );
31 }
32
33 $sig = "sdd";
34
35 $ret = Ctypes::call( $func, $sig, 16 ) or croak( "Call to Ctypes::call failed: $@" );
36   is( $ret, 4, "Gave 16 to sqrt(), got $ret" );