Change 34404 by [EMAIL PROTECTED] on 2008/09/23 12:00:05

        Fix tests for the case of -Du_usedl

Affected files ...

... //depot/perl/ext/DynaLoader/t/DynaLoader.t#14 edit

Differences ...

==== //depot/perl/ext/DynaLoader/t/DynaLoader.t#14 (text) ====
Index: perl/ext/DynaLoader/t/DynaLoader.t
--- perl/ext/DynaLoader/t/DynaLoader.t#13~31073~        2007-04-25 
05:15:55.000000000 -0700
+++ perl/ext/DynaLoader/t/DynaLoader.t  2008-09-23 05:00:05.000000000 -0700
@@ -42,15 +42,23 @@
 
 # Check functions
 can_ok( 'DynaLoader' => 'bootstrap'               ); # defined in Perl section
-can_ok( 'DynaLoader' => 'dl_error'                ); # defined in XS section
-can_ok( 'DynaLoader' => 'dl_find_symbol'          ); # defined in XS section
-can_ok( 'DynaLoader' => 'dl_install_xsub'         ); # defined in XS section
-can_ok( 'DynaLoader' => 'dl_load_file'            ); # defined in XS section
 can_ok( 'DynaLoader' => 'dl_load_flags'           ); # defined in Perl section
-can_ok( 'DynaLoader' => 'dl_undef_symbols'        ); # defined in XS section
-SKIP: {
-    skip "unloading unsupported on $^O", 1 if ($^O eq 'VMS' || $^O eq 
'darwin');
-    can_ok( 'DynaLoader' => 'dl_unload_file'          ); # defined in XS 
section
+can_ok( 'DynaLoader' => 'dl_error'                ); # defined in XS section
+if ($Config{usedl}) {
+    can_ok( 'DynaLoader' => 'dl_find_symbol'      ); # defined in XS section
+    can_ok( 'DynaLoader' => 'dl_install_xsub'     ); # defined in XS section
+    can_ok( 'DynaLoader' => 'dl_load_file'        ); # defined in XS section
+    can_ok( 'DynaLoader' => 'dl_undef_symbols'    ); # defined in XS section
+    SKIP: {
+        skip "unloading unsupported on $^O", 1 if ($^O eq 'VMS' || $^O eq 
'darwin');
+        can_ok( 'DynaLoader' => 'dl_unload_file'  ); # defined in XS section
+    }
+} else {
+    foreach my $symbol (qw(dl_find_symbol dl_install_sub dl_load_file
+                          dl_undef_symbols dl_unload_file)) {
+       is(DynaLoader->can($symbol), undef,
+          "Without dynamic loading, DynaLoader should not have $symbol");
+    }
 }
 
 TODO: {
@@ -68,16 +76,24 @@
         "calling DynaLoader::bootstrap() with no argument" );
 
 eval { package egg_bacon_sausage_and_spam; 
DynaLoader::bootstrap("egg_bacon_sausage_and_spam") };
-like( $@, q{/^Can't locate loadable object for module 
egg_bacon_sausage_and_spam/},
+if ($Config{usedl}) {
+    like( $@, q{/^Can't locate loadable object for module 
egg_bacon_sausage_and_spam/},
+        "calling DynaLoader::bootstrap() with a package without binary object" 
);
+} else {
+     like( $@, q{/^Can't load module egg_bacon_sausage_and_spam/},
         "calling DynaLoader::bootstrap() with a package without binary object" 
);
+}
 
 # .. for dl_load_file()
-eval { DynaLoader::dl_load_file() };
-like( $@, q{/^Usage: DynaLoader::dl_load_file\(filename, flags=0\)/},
-        "calling DynaLoader::dl_load_file() with no argument" );
+SKIP: {
+    skip "no dl_load_file with dl_none.xs", 2 unless $Config{usedl};
+    eval { DynaLoader::dl_load_file() };
+    like( $@, q{/^Usage: DynaLoader::dl_load_file\(filename, flags=0\)/},
+            "calling DynaLoader::dl_load_file() with no argument" );
 
-eval { no warnings 'uninitialized'; DynaLoader::dl_load_file(undef) };
-is( $@, '', "calling DynaLoader::dl_load_file() with undefined argument" );    
 # is this expected ?
+    eval { no warnings 'uninitialized'; DynaLoader::dl_load_file(undef) };
+    is( $@, '', "calling DynaLoader::dl_load_file() with undefined argument" 
);     # is this expected ?
+}
 
 my ($dlhandle, $dlerr);
 eval { $dlhandle = DynaLoader::dl_load_file("egg_bacon_sausage_and_spam") };
End of Patch.

Reply via email to