Add a test to see that signals are caught as failures
authorRichard Levitte <levitte@openssl.org>
Fri, 18 Mar 2016 11:16:53 +0000 (12:16 +0100)
committerRichard Levitte <levitte@openssl.org>
Fri, 18 Mar 2016 14:25:23 +0000 (15:25 +0100)
Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Emilia Käsper <emilia@openssl.org>
test/aborttest.c [new file with mode: 0644]
test/build.info
test/recipes/01-test_abort.t [new file with mode: 0644]

diff --git a/test/aborttest.c b/test/aborttest.c
new file mode 100644 (file)
index 0000000..98aeddf
--- /dev/null
@@ -0,0 +1,17 @@
+/*
+ * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
+ *
+ * Licensed under the OpenSSL licenses, (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * https://www.openssl.org/source/license.html
+ * or in the file LICENSE in the source distribution.
+ */
+
+#include <openssl/crypto.h>
+
+int main(int argc, char **argv)
+{
+    OPENSSL_die("Voluntary abort", __FILE__, __LINE__);
+    return 0;
+}
index cd5d8cd..74f83a3 100644 (file)
@@ -1,5 +1,6 @@
 {- use File::Spec::Functions qw/catdir rel2abs/; -}
 PROGRAMS=\
+        aborttest \
         nptest bntest \
         ectest ecdsatest ecdhtest gmdifftest pbelutest ideatest \
         md2test md4test md5test \
@@ -15,6 +16,10 @@ PROGRAMS=\
         packettest asynctest secmemtest srptest memleaktest \
         dtlsv1listentest ct_test threadstest afalgtest
 
+SOURCE[aborttest]=aborttest.c
+INCLUDE[aborttest]={- rel2abs(catdir($builddir,"../include")) -} ../include
+DEPEND[aborttest]=../libcrypto
+
 SOURCE[nptest]=nptest.c
 INCLUDE[nptest]={- rel2abs(catdir($builddir,"../include")) -} ../include
 DEPEND[nptest]=../libcrypto
diff --git a/test/recipes/01-test_abort.t b/test/recipes/01-test_abort.t
new file mode 100644 (file)
index 0000000..4a6cf97
--- /dev/null
@@ -0,0 +1,9 @@
+#! /usr/bin/perl
+
+use OpenSSL::Test;
+
+setup("test_abort");
+
+plan tests => 1;
+
+is(run(test(["aborttest"])), 0, "Testing that abort is caught correctly");