8 plan skip_all => "POSIX is unavailable"
9 if $Config{extensions} !~ m!\bPOSIX\b!;
12 use POSIX ':termios_h';
15 if !eval "POSIX::Termios->new; 1" && $@ =~ /termios not implemented/;
19 my $termios = eval { POSIX::Termios->new };
20 is( $@, '', "calling POSIX::Termios->new" );
21 isa_ok( $termios, "POSIX::Termios", "\tchecking the type of the object" );
24 foreach my $name (qw(STDIN STDOUT STDERR)) {
25 my $handle = $::{$name};
27 skip("$name not a tty", 2) unless -t $handle;
28 my $fileno = fileno $handle;
29 my $r = eval { $termios->getattr($fileno) };
30 is($@, '', "calling getattr($fileno) for $name");
31 isnt($r, undef, "returned value ($r) is defined");
36 for my $i (0..NCCS-1) {
37 my $r = eval { $termios->getcc($i) };
38 is( $@, '', "calling getcc($i)" );
39 like($r, qr/\A-?[0-9]+\z/, 'returns an integer');
42 for my $method (qw(getcflag getiflag getispeed getlflag getoflag getospeed)) {
43 my $r = eval { $termios->$method() };
44 is( $@, '', "calling $method()" );
45 like($r, qr/\A-?[0-9]+\z/, 'returns an integer');