Commit | Line | Data |
ed4a5f99 |
1 | #!./perl |
2 | |
3 | BEGIN { |
4 | chdir 't' if -d 't'; |
5 | @INC = '../lib'; |
6 | } |
7 | |
8 | use Config; |
9 | use Cwd; |
10 | use strict; |
11 | use warnings; |
12 | |
d19fbd04 |
13 | print "1..10\n"; |
ed4a5f99 |
14 | |
15 | # check imports |
16 | print +(defined(&cwd) && |
17 | defined(&getcwd) && |
18 | defined(&fastcwd) && |
19 | defined(&fastgetcwd) ? |
20 | "" : "not "), "ok 1\n"; |
21 | print +(!defined(&chdir) && |
22 | !defined(&abs_path) && |
23 | !defined(&fast_abs_path) ? |
24 | "" : "not "), "ok 2\n"; |
25 | |
ed4a5f99 |
26 | mkdir "pteerslt", 0777; |
27 | mkdir "pteerslt/path", 0777; |
28 | mkdir "pteerslt/path/to", 0777; |
29 | mkdir "pteerslt/path/to/a", 0777; |
30 | mkdir "pteerslt/path/to/a/dir", 0777; |
31 | Cwd::chdir "pteerslt/path/to/a/dir"; |
32 | my $cwd = cwd; |
33 | my $getcwd = getcwd; |
34 | my $fastcwd = fastcwd; |
35 | my $fastgetcwd = fastgetcwd; |
36 | my $want = "t/pteerslt/path/to/a/dir"; |
d19fbd04 |
37 | print +($cwd =~ m|$want$| ? "" : "not "), "ok 3\n"; |
38 | print +($getcwd =~ m|$want$| ? "" : "not "), "ok 4\n"; |
39 | print +($fastcwd =~ m|$want$| ? "" : "not "), "ok 5\n"; |
40 | print +($fastgetcwd =~ m|$want$| ? "" : "not "), "ok 6\n"; |
ed4a5f99 |
41 | |
42 | # Cwd::chdir should also update $ENV{PWD} |
d19fbd04 |
43 | print +($ENV{PWD} =~ m|$want$| ? "" : "not "), "ok 7\n"; |
ed4a5f99 |
44 | Cwd::chdir ".."; rmdir "dir"; |
45 | Cwd::chdir ".."; rmdir "a"; |
46 | Cwd::chdir ".."; rmdir "to"; |
47 | Cwd::chdir ".."; rmdir "path"; |
48 | Cwd::chdir ".."; rmdir "pteerslt"; |
d19fbd04 |
49 | print +($ENV{PWD} =~ m|\bt$| ? "" : "not "), "ok 8\n"; |
ed4a5f99 |
50 | |
51 | if ($Config{d_symlink}) { |
52 | my @dirs = split " " => $Config{libpth}; |
53 | my $target = pop @dirs; |
54 | symlink $target => "linktest"; |
55 | mkdir "pteerslt"; |
56 | chdir "pteerslt"; |
57 | my $rel = "../../t/linktest"; |
58 | |
59 | my $abs_path = Cwd::abs_path($rel); |
60 | my $fast_abs_path = Cwd::fast_abs_path($rel); |
d19fbd04 |
61 | print +($abs_path eq $target ? "" : "not "), "ok 9\n"; |
62 | print +($fast_abs_path eq $target ? "" : "not "), "ok 10\n"; |
ed4a5f99 |
63 | |
64 | chdir ".."; |
65 | rmdir "pteerslt"; |
66 | unlink "linktest"; |
67 | } else { |
d19fbd04 |
68 | print "ok 9 # Skip: no symlink\n"; |
69 | print "ok 10 # Skip: no symlink\n"; |
ed4a5f99 |
70 | } |