summaryrefslogtreecommitdiff
path: root/dist/Thread-Semaphore/t/02_errs.t
diff options
context:
space:
mode:
Diffstat (limited to 'dist/Thread-Semaphore/t/02_errs.t')
-rw-r--r--dist/Thread-Semaphore/t/02_errs.t47
1 files changed, 47 insertions, 0 deletions
diff --git a/dist/Thread-Semaphore/t/02_errs.t b/dist/Thread-Semaphore/t/02_errs.t
new file mode 100644
index 0000000000..06f0b937ee
--- /dev/null
+++ b/dist/Thread-Semaphore/t/02_errs.t
@@ -0,0 +1,47 @@
+use strict;
+use warnings;
+
+BEGIN {
+ if ($ENV{'PERL_CORE'}){
+ chdir('t');
+ unshift(@INC, '../lib');
+ }
+}
+
+use Thread::Semaphore;
+
+use Test::More 'tests' => 12;
+
+my $err = qr/^Semaphore .* is not .* integer: /;
+
+eval { Thread::Semaphore->new(undef); };
+like($@, $err, $@);
+eval { Thread::Semaphore->new(0.5); };
+like($@, $err, $@);
+eval { Thread::Semaphore->new('foo'); };
+like($@, $err, $@);
+
+my $s = Thread::Semaphore->new();
+ok($s, 'New semaphore');
+
+eval { $s->down(undef); };
+like($@, $err, $@);
+eval { $s->down(-1); };
+like($@, $err, $@);
+eval { $s->down(1.5); };
+like($@, $err, $@);
+eval { $s->down('foo'); };
+like($@, $err, $@);
+
+eval { $s->up(undef); };
+like($@, $err, $@);
+eval { $s->up(-1); };
+like($@, $err, $@);
+eval { $s->up(1.5); };
+like($@, $err, $@);
+eval { $s->up('foo'); };
+like($@, $err, $@);
+
+exit(0);
+
+# EOF