Commit | Line | Data |
988174c1 |
1 | #!./perl |
2 | |
72b16652 |
3 | BEGIN { |
4 | chdir 't' if -d 't'; |
20822f61 |
5 | @INC = '../lib'; |
72b16652 |
6 | } |
7 | |
988174c1 |
8 | eval 'opendir(NOSUCH, "no/such/directory");'; |
9 | if ($@) { print "1..0\n"; exit; } |
10 | |
735302bd |
11 | print "1..12\n"; |
988174c1 |
12 | |
1236053a |
13 | for $i (1..2000) { |
14 | local *OP; |
15 | opendir(OP, "op") or die "can't opendir: $!"; |
16 | # should auto-closedir() here |
17 | } |
18 | |
988174c1 |
19 | if (opendir(OP, "op")) { print "ok 1\n"; } else { print "not ok 1\n"; } |
a0d0e21e |
20 | @D = grep(/^[^\.].*\.t$/i, readdir(OP)); |
988174c1 |
21 | closedir(OP); |
22 | |
89eb5450 |
23 | open $man, "<../MANIFEST" or die "Can't open ../MANIFEST: $!"; |
24 | my $expect; |
25 | while (<$man>) { |
26 | ++$expect if m!^t/op/[^/]+\t!; |
27 | } |
28 | my ($min, $max) = ($expect - 10, $expect + 10); |
c19e406d |
29 | if (@D > $min && @D < $max) { print "ok 2\n"; } |
30 | else { |
31 | printf "not ok 2 # counting op/*.t, expect $min < %d < $max files\n", |
32 | scalar @D; |
33 | } |
988174c1 |
34 | |
35 | @R = sort @D; |
2f52a358 |
36 | @G = sort <op/*.t>; |
a0d0e21e |
37 | if ($G[0] =~ m#.*\](\w+\.t)#i) { |
38 | # grep is to convert filespecs returned from glob under VMS to format |
39 | # identical to that returned by readdir |
40 | @G = grep(s#.*\](\w+\.t).*#op/$1#i,<op/*.t>); |
41 | } |
7b903762 |
42 | while (@R && @G && $G[0] eq 'op/'.$R[0]) { |
988174c1 |
43 | shift(@R); |
44 | shift(@G); |
45 | } |
46 | if (@R == 0 && @G == 0) { print "ok 3\n"; } else { print "not ok 3\n"; } |
a28cd5c9 |
47 | |
48 | if (opendir($fh, "op")) { print "ok 4\n"; } else { print "not ok 4\n"; } |
49 | if (ref($fh) eq 'GLOB') { print "ok 5\n"; } else { print "not ok 5\n"; } |
50 | if (opendir($fh[0], "op")) { print "ok 6\n"; } else { print "not ok 6\n"; } |
51 | if (ref($fh[0]) eq 'GLOB') { print "ok 7\n"; } else { print "not ok 7\n"; } |
52 | if (opendir($fh{abc}, "op")) { print "ok 8\n"; } else { print "not ok 8\n"; } |
53 | if (ref($fh{abc}) eq 'GLOB') { print "ok 9\n"; } else { print "not ok 9\n"; } |
54 | if ("$fh" ne "$fh[0]") { print "ok 10\n"; } else { print "not ok 10\n"; } |
55 | if ("$fh" ne "$fh{abc}") { print "ok 11\n"; } else { print "not ok 11\n"; } |
735302bd |
56 | # See that perl does not segfault upon readdir($x="."); |
57 | # http://rt.perl.org/rt3/Ticket/Display.html?id=68182 |
58 | eval { |
59 | my $x = "."; |
60 | my @files = readdir($x); |
61 | }; |
62 | print "ok 12\n"; |