⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.67
Server IP:
50.6.168.112
Server:
Linux server-617809.webnetzimbabwe.com 5.14.0-570.25.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jul 9 04:57:09 EDT 2025 x86_64
Server Software:
Apache
PHP Version:
8.4.10
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home
/
.cpan
/
build
/
Devel-CheckLib-1.16-0
/
t
/
View File Name :
custom-function.t
use strict; # compatible use warnings BEGIN{ if (not $] < 5.006) { require warnings; warnings->import } } use lib 't/lib'; use Capture::Tiny qw(capture); use Config; use File::Spec; use Test::More; eval "use Devel::CheckLib"; if($@ =~ /Couldn't find your C compiler/) { plan skip_all => "Couldn't find your C compiler"; } my $libdir; eval "use Helper qw(create_testlib)"; unless($libdir = create_testlib("bazbam")) { plan skip_all => "Couldn't build a library to test against"; }; my $debug = $ENV{DEVEL_CHECKLIB_DEBUG} || 0; # cases are strings to interpolate into the assert_lib call my %failcases = ( qq{ incpath => 't/inc', libpath => '$libdir', lib => 'bazbam', header => 'headerfile.h', # bar() doesn't exist function => 'bar();' } => 'Can\'t link/include', qq{ incpath => 't/inc', libpath => '$libdir', lib => 'bazbam', header => 'headerfile.h', # libversion returns wrong result function => 'foo();if(libversion() < 5) return 0; else return 1;' } => 'wrong result', ); my %passcases = ( qq{ incpath => 't/inc', libpath => '$libdir', lib => 'bazbam', header => 'headerfile.h', functionbody => 'foo(); return 0;' }, "function exists", qq{ incpath => 't/inc', libpath => '$libdir', lib => 'bazbam', header => 'headerfile.h', functionbody => 'if(libversion() > 5) return 0; else return 1;' }, "function returns right value", qq{ incpath => 't/inc', libpath => '$libdir', lib => 'bazbam', header => 'headerfile.h', functionbody => 'foo();if(libversion() > 5) return 0; else return 1;' }, "function exists and other function returns right value", ); plan tests => scalar(keys %failcases) + scalar(keys %passcases); for my $c (keys %failcases) { my $error; my ($stdout, $stderr) = capture { eval "assert_lib(debug => $debug, $c)"; $error = $@; }; ok($error =~ /^$failcases{$c}/, "failed to build: $failcases{$c}") || diag("$c\n$@\n\tSTDOUT: $stdout\n\tSTDERR: $stderr\n"); } for my $c ( keys %passcases ) { my $error; my ($stdout, $stderr) = capture { eval "assert_lib(debug => $debug, $c)"; $error = $@; }; is($error, q{}, "$passcases{$c}") || diag("\tSTDOUT: $stdout\n\tSTDERR: $stderr\n"); }