xref: /openbsd-src/gnu/usr.bin/perl/ext/POSIX/t/iscrash (revision b8851fcc53cbe24fd20b090f26dd149e353f6174)
1*b8851fccSafresh1# test file for checking that the  is*() functions don't crash
2*b8851fccSafresh1use Win32API::File qw(SetErrorMode SEM_NOGPFAULTERRORBOX SEM_NOOPENFILEERRORBOX);
3*b8851fccSafresh1use strict;
4*b8851fccSafresh1use threads;
5*b8851fccSafresh1use POSIX qw(isalpha islower);
6*b8851fccSafresh1
7*b8851fccSafresh1SetErrorMode(SEM_NOGPFAULTERRORBOX | SEM_NOOPENFILEERRORBOX);
8*b8851fccSafresh1
9*b8851fccSafresh1use warnings; # we want the warnings code to run
10*b8851fccSafresh1$SIG{__WARN__} = sub {}; # but don't want to display them
11*b8851fccSafresh1
12*b8851fccSafresh1my $t1 = threads->create(sub { isalpha("c") });
13*b8851fccSafresh1$t1->join;
14*b8851fccSafresh1
15*b8851fccSafresh1islower("a");
16*b8851fccSafresh1
17*b8851fccSafresh1my $t2 = threads->create(sub { isalpha("a") });
18*b8851fccSafresh1$t2->join;
19*b8851fccSafresh1
20*b8851fccSafresh1print "ok\n";
21