summaryrefslogtreecommitdiff
path: root/t/release-xs-segfault.t
diff options
context:
space:
mode:
Diffstat (limited to 't/release-xs-segfault.t')
-rw-r--r--t/release-xs-segfault.t34
1 files changed, 34 insertions, 0 deletions
diff --git a/t/release-xs-segfault.t b/t/release-xs-segfault.t
new file mode 100644
index 0000000..892ab2c
--- /dev/null
+++ b/t/release-xs-segfault.t
@@ -0,0 +1,34 @@
+
+BEGIN {
+ unless ($ENV{RELEASE_TESTING}) {
+ require Test::More;
+ Test::More::plan(skip_all => 'these tests are for release candidate testing');
+ }
+}
+
+use strict;
+use warnings;
+
+use Test::More;
+
+BEGIN {
+ $ENV{PARAMS_VALIDATE_IMPLEMENTATION} = 'XS';
+ $ENV{PV_WARN_FAILED_IMPLEMENTATION} = 1;
+}
+
+use Params::Validate qw( validate SCALAR );
+
+eval { foo( { a => 1 } ) };
+
+ok(1, 'did not segfault');
+
+done_testing();
+
+sub foo {
+ validate(
+ @_,
+ {
+ a => { type => SCALAR, depends => ['%s%s%s'] },
+ }
+ );
+}