xref: /openbsd/gnu/usr.bin/perl/ext/Fcntl/t/autoload.t (revision 898184e3)
1#!./perl -w
2
3use strict;
4use Test::More;
5
6require Fcntl;
7
8# SEEK_SET intentionally included to test the skip functionality.
9foreach my $symbol (qw(SEEK_SET O_BINARY S_ENFMT)) {
10    my $full_name = "Fcntl::$symbol";
11    if (defined eval $full_name) {
12	foreach my $code ($full_name, "$full_name()") {
13	    my $value = eval $code;
14	    like ($value, qr/^[0-9]+$/, "$code is defined on this system");
15	}
16    } else {
17	foreach my $code ($full_name, "$full_name()") {
18	    my $value = eval $code;
19	    like ($@,
20		  qr/^Your vendor has not defined Fcntl macro $symbol, used at \(eval [0-9]+\) line 1\n\z/,
21		  "Expected error message for $symbol, not defined on this system");
22	}
23    }
24}
25
26my $value = eval 'Fcntl::S_ISPIE()';
27is($value, undef, "Fcntl::S_ISPIE isn't valid");
28like ($@,
29      qr/^S_ISPIE is not a valid Fcntl macro at \(eval [0-9]+\) line 1\n\z/,
30      "Expected error message for S_ISPIE");
31
32done_testing();
33