From: Rafael Garcia-Suarez <rgarciasuarez@gmail.com>
Date: Thu, 1 Mar 2007 10:30:04 +0000 (+0000)
Subject: A new test by Abigail: Check that certain modules don't
X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=88431378e1356f3c89a703791b4d6c396872635a;p=p5sagit%2Fp5-mst-13.2.git

A new test by Abigail: Check that certain modules don't
get loaded when other modules are used.

p4raw-id: //depot/perl@30435
---

diff --git a/MANIFEST b/MANIFEST
index 8e0559f..02db239 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -3415,6 +3415,7 @@ t/lib/Math/BigInt/Subclass.pm	Empty subclass of BigInt for test
 t/lib/Math/BigRat/Test.pm		Math::BigRat test helper
 t/lib/mypragma.pm		An example user pragma
 t/lib/mypragma.t		Test the example user pragma
+t/lib/no_load.t			Test that some modules don't load others
 t/lib/NoExporter.pm			Part of Test-Simple
 t/lib/proxy_constant_subs.t	Test that Proxy Constant Subs behave correctly
 t/lib/sample-tests/bailout		Test data for Test::Harness
diff --git a/t/lib/no_load.t b/t/lib/no_load.t
new file mode 100644
index 0000000..3f10200
--- /dev/null
+++ b/t/lib/no_load.t
@@ -0,0 +1,41 @@
+#!./perl
+#
+# Check that certain modules don't get loaded when other modules are used.
+#
+
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = qw(. ../lib);
+}
+
+use strict;
+use warnings;
+
+require "test.pl";
+
+#
+# Format: [Module-that-should-not-be-loaded => modules to test]
+#
+my @TESTS = (
+    [Carp  => qw [warnings Exporter]],
+);
+
+my $count = 0;
+$count += @$_ - 1 for @TESTS;
+
+print "1..$count\n";
+
+foreach my $test (@TESTS) {
+    my ($exclude, @modules) = @$test;
+
+    foreach my $module (@modules) {
+        my $prog = <<"        --";
+            use $module;
+            print exists \$INC {'$exclude.pm'} ? "not ok" : "ok";
+        --
+        fresh_perl_is ($prog, "ok", "", "$module does not load $exclude");
+    }
+}
+
+
+__END__