Commit | Line | Data |
f46d017c |
1 | #!./perl |
2 | |
3 | BEGIN { |
4 | chdir 't' if -d 't'; |
5 | @INC = ('.'); |
6 | } |
7 | |
8 | # don't make this lexical |
9 | $i = 1; |
10 | print "1..3\n"; |
11 | |
12 | sub do_require { |
13 | %INC = (); |
14 | open(REQ,">bleah.pm") or die "Can't write 'bleah.pm': $!"; |
15 | print REQ @_; |
16 | close REQ; |
17 | eval { require "bleah.pm" }; |
18 | my @a; # magic guard for scope violations (must be first lexical in file) |
19 | } |
20 | |
21 | # run-time failure in require |
22 | do_require "0;\n"; |
23 | print "# $@\nnot " unless $@ =~ /did not return a true/; |
24 | print "ok ",$i++,"\n"; |
25 | |
26 | # compile-time failure in require |
27 | do_require "1)\n"; |
28 | print "# $@\nnot " unless $@ =~ /syntax error/; |
29 | print "ok ",$i++,"\n"; |
30 | |
31 | # successful require |
32 | do_require "1"; |
33 | print "# $@\nnot " if $@; |
34 | print "ok ",$i++,"\n"; |
35 | |
36 | unlink 'bleah.pm'; |