summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Schneider <asn@cryptomilk.org>2013-12-23 16:03:50 +0100
committerAndreas Schneider <asn@cryptomilk.org>2013-12-23 16:03:50 +0100
commitb2a9d09d757d43aec620bc6a611c4ab810258891 (patch)
tree5865e3c78fb8823fd8335423553e07778a0136bc
parent3fca34362115c256fffce3dd68ff878c86153c95 (diff)
downloadcmocka-b2a9d09d757d43aec620bc6a611c4ab810258891.tar.gz
cmocka-b2a9d09d757d43aec620bc6a611c4ab810258891.tar.bz2
cmocka-b2a9d09d757d43aec620bc6a611c4ab810258891.zip
tests: Add test_assert_macros_fail.
-rw-r--r--tests/CMakeLists.txt13
-rw-r--r--tests/test_assert_macros_fail.c30
2 files changed, 42 insertions, 1 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 019cb3e..0e258b4 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -7,8 +7,19 @@ include_directories(
)
set(CMOCKA_TESTS
- test_assert_macros)
+ test_assert_macros
+ test_assert_macros_fail)
foreach(_CMOCKA_TEST ${CMOCKA_TESTS})
add_cmocka_test(${_CMOCKA_TEST} ${_CMOCKA_TEST}.c ${CMOCKA_SHARED_LIBRARY})
endforeach()
+
+### Exceptions
+
+# test_assert_macros_fail
+set_tests_properties(
+ test_assert_macros_fail
+ PROPERTIES
+ PASS_REGULAR_EXPRESSION
+ "\\[ FAILED \\] 1 test"
+)
diff --git a/tests/test_assert_macros_fail.c b/tests/test_assert_macros_fail.c
new file mode 100644
index 0000000..c7c2088
--- /dev/null
+++ b/tests/test_assert_macros_fail.c
@@ -0,0 +1,30 @@
+#include <stdarg.h>
+#include <stddef.h>
+#include <setjmp.h>
+#include <cmocka.h>
+
+#include <errno.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <fcntl.h>
+
+/**************************************
+ *** assert_return_code
+ **************************************/
+static void test_assert_return_code_fail(void **state)
+{
+ int rc;
+
+ (void)state; /* unused */
+
+ rc = open("this_file_doesnt_exist.cmocka", 0);
+ assert_return_code(rc, errno);
+}
+
+int main(void) {
+ const UnitTest tests[] = {
+ unit_test(test_assert_return_code_fail),
+ };
+ return run_tests(tests);
+}