Commit | Line | Data |
49fd6edc |
1 | #!perl |
2 | |
3 | BEGIN { |
4 | chdir 't' if -d 't'; |
5 | @INC = ('../lib'); |
6 | unless ($^O eq "cygwin") { |
7 | print "1..0 # skipped: cygwin specific test\n"; |
8 | exit 0; |
9 | } |
10 | } |
11 | |
12 | use Test::More tests => 4; |
13 | |
14 | is(Cygwin::winpid_to_pid(Cygwin::pid_to_winpid($$)), $$, |
15 | "perl pid translates to itself"); |
16 | |
17 | my $parent = getppid; |
18 | SKIP: { |
19 | skip "test not run from cygwin process", 1 if $parent <= 1; |
20 | is(Cygwin::winpid_to_pid(Cygwin::pid_to_winpid($parent)), $parent, |
21 | "parent pid translates to itself"); |
22 | } |
23 | |
24 | my $catpid = open my $cat, "|cat" or die "Couldn't cat: $!"; |
25 | open my $ps, "ps|" or die "Couldn't do ps: $!"; |
26 | my ($catwinpid) = map /^.\s+$catpid\s+\d+\s+\d+\s+(\d+)/, <$ps>; |
27 | close($ps); |
28 | |
29 | is(Cygwin::winpid_to_pid($catwinpid), $catpid, "winpid to pid"); |
30 | is(Cygwin::pid_to_winpid($catpid), $catwinpid, "pid to winpid"); |
31 | close($cat); |