This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Better handling for error-checking
[perl5.git] / ext / DynaLoader / t / DynaLoader.t
index bc96fab..841fa22 100644 (file)
@@ -9,6 +9,7 @@ BEGIN {
 
 use strict;
 use Config;
+use Errno qw(ENOENT);
 use Test::More;
 my %modules;
 
@@ -21,7 +22,7 @@ my %modules;
     'Time::HiRes'=> q| ::is( ref Time::HiRes->can('usleep'),'CODE' ) |,  # 5.7.3
 );
 
-plan tests => 27 + keys(%modules) * 2;
+plan tests => 28 + keys(%modules) * 2;
 
 
 # Try to load the module
@@ -61,13 +62,13 @@ eval { DynaLoader::dl_load_file() };
 like( $@, q{/^Usage: DynaLoader::dl_load_file\(filename, flags=0\)/},
         "calling DynaLoader::dl_load_file() with no argument" );
 
-eval { DynaLoader::dl_load_file(undef) };
+eval { no warnings 'uninitialized'; DynaLoader::dl_load_file(undef) };
 is( $@, '', "calling DynaLoader::dl_load_file() with undefined argument" );     # is this expected ?
 
 eval { DynaLoader::dl_load_file("egg_bacon_sausage_and_spam") };
-is( $@, '', "calling DynaLoader::dl_load_file() with undefined argument" );
-like( DynaLoader::dl_error(), q{/^egg_bacon_sausage_and_spam: cannot open shared object file:/}, 
-        "calling DynaLoader::dl_load_file() with a package without binary object" );
+is( $@, '', "calling DynaLoader::dl_load_file() with a package without binary object" );
+is( 0+$!, ENOENT, "checking errno value" );
+like( DynaLoader::dl_error(), "/$!/", "checking error message returned by dl_error()" );
 
 # ... dl_findfile()
 my @files = ();