aboutsummaryrefslogtreecommitdiff
path: root/tests/CMakeLists.txt
diff options
context:
space:
mode:
authorDavid Schneider <schneidav81@gmail.com>2016-09-21 15:20:09 +0200
committerAndreas Schneider <asn@cryptomilk.org>2016-09-21 15:20:09 +0200
commit63ddee422eb360a0e224458ef19089682a8b71eb (patch)
tree33c75478ba361f3ffab9b440595ad0e4e0d235ed /tests/CMakeLists.txt
parent7c5572f039530b45cb2e7a798c695a090160ea54 (diff)
downloadcmocka-63ddee422eb360a0e224458ef19089682a8b71eb.tar.gz
cmocka-63ddee422eb360a0e224458ef19089682a8b71eb.tar.xz
cmocka-63ddee422eb360a0e224458ef19089682a8b71eb.zip
tests: Add test_groups test to validate xml output
This is for multiple groups in one test to make sure they do not create invalid xml. Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
Diffstat (limited to 'tests/CMakeLists.txt')
-rw-r--r--tests/CMakeLists.txt73
1 files changed, 58 insertions, 15 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 0422487..68ae4ac 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -12,6 +12,7 @@ set(CMOCKA_TESTS
test_group_setup_fail
test_fixtures
test_group_fixtures
+ test_groups
test_assert_macros
test_assert_macros_fail
test_exception_handler
@@ -142,6 +143,7 @@ set_tests_properties(
set(OUTPUT_TESTS
test_basics
test_assert_macros_fail
+ test_groups
test_skip
test_setup_fail)
@@ -151,32 +153,64 @@ set(TEST_OUTPUT_FMTS
xml)
set(test_basics_tap_out
- "^\t1\\.\\.2[ \n\r]+\tok 1 - null_test_success[ \n\r]+\tok 2 - int_test_success[ \n\r]+ok - tests")
+ "^\t1\\.\\.2"
+ "\tok 1 - null_test_success"
+ "\tok 2 - int_test_success"
+ "ok - tests")
set(test_assert_macros_fail_tap_out
- "^\t1\\.\\.1[ \n\r]+\tnot ok 1 - test_assert_return_code_fail[ \n\r]+\t#[^\n\r]+[\n\r]\t#[^\n\r]+[\n\r]not ok - tests")
-
+ "^\t1\\.\\.1"
+ "\tnot ok 1 - test_assert_return_code_fail"
+ "\t#[^\n\r]+[\n\r]\t#[^\n\r]+[\n\r]not ok - tests")
+set(test_groups_tap_out
+ "^\t1\\.\\.1"
+ "\tok 1 - null_test_success"
+ "ok - test_group1"
+ "\t1\\.\\.1"
+ "\tok 1 - int_test_success"
+ "ok - test_group2")
set(test_skip_tap_out
"not ok 1 # SKIP")
set(test_setup_fail_tap_out
"not ok 1 - int_test_ignored Could not run the test - check test fixtures")
set(test_basics_subunit_out
- "^test: null_test_success[ \n\r]+success: null_test_success")
+ "^test: null_test_success"
+ "success: null_test_success")
set(test_assert_macros_fail_subunit_out
"failure: test_assert_return_code_fail \\[")
+set(test_groups_subunit_out
+ "^test: null_test_success"
+ "success: null_test_success")
set(test_skip_subunit_out
- "^test: test_check_skip[ \n\r]+skip: test_check_skip")
+ "^test: test_check_skip"
+ "skip: test_check_skip")
set(test_setup_fail_subunit_out
"error: int_test_ignored \\[ Could not run the test - check test fixtures \\]")
set(test_basics_xml_out
- "<testsuite name=\"tests\" time=\"[0-9.]+\" tests=\"2\" failures=\"0\" errors=\"0\" skipped=\"0\" >[ \n\r]+<testcase name=\"null_test_success\" time=\"[0-9.]+\" >.*</testcase>")
+ "<testsuite name=\"tests\" time=\"[0-9.]+\" tests=\"2\" failures=\"0\" errors=\"0\" skipped=\"0\" >"
+ "<testcase name=\"null_test_success\" time=\"[0-9.]+\" >.*</testcase>")
set(test_assert_macros_fail_xml_out
- "<testcase name=\"test_assert_return_code_fail\" time=\"[0-9.]+\" >[ \n\r]+<failure>")
+ "<testcase name=\"test_assert_return_code_fail\" time=\"[0-9.]+\" >"
+ "<failure>")
+set(test_groups_xml_out
+ "^<\\?xml version=\"1.0\" encoding=\"UTF-8\" \\?>"
+ "<testsuites>"
+ "<testsuite name=\"test_group1\" time=\"[0-9.]+\" tests=\"1\" failures=\"0\" errors=\"0\" skipped=\"0\" >"
+ "<testcase name=\"null_test_success\" time=\"[0-9.]+\" >"
+ "</testcase>"
+ "</testsuite>"
+ ".*<testsuite name=\"test_group2\" time=\"[0-9.]+\" tests=\"1\" failures=\"0\" errors=\"0\" skipped=\"0\" >"
+ "<testcase name=\"int_test_success\" time=\"[0-9.]+\" >"
+ "</testcase>"
+ "</testsuite>"
+ "</testsuites>")
set(test_skip_xml_out
- "<testcase name=\"test_check_skip\" time=\"[0-9.]+\" >[ \n\r]+<skipped/>")
+ "<testcase name=\"test_check_skip\" time=\"[0-9.]+\" >"
+ "<skipped/>")
set(test_setup_fail_xml_out
- "<testcase name=\"int_test_ignored\" time=\"[0-9.]+\" >[ \n\r]+<failure><!\\[CDATA\\[Test setup failed\\]\\]></failure>")
+ "<testcase name=\"int_test_ignored\" time=\"[0-9.]+\" >"
+ "<failure><!\\[CDATA\\[Test setup failed\\]\\]></failure>")
foreach(_TEST_OUTPUT_FMT ${TEST_OUTPUT_FMTS})
foreach(_OUTPUT_TEST ${OUTPUT_TESTS})
@@ -190,11 +224,20 @@ foreach(_TEST_OUTPUT_FMT ${TEST_OUTPUT_FMTS})
ENVIRONMENT CMOCKA_MESSAGE_OUTPUT=${_TEST_OUTPUT_FMT}
)
- set_tests_properties(
- ${TEST_NAME}
- PROPERTIES
- PASS_REGULAR_EXPRESSION
- ${${TEST_NAME}_out}
- )
+ list(LENGTH ${TEST_NAME}_out len)
+ list(GET ${TEST_NAME}_out 0 output)
+ if(len GREATER 1)
+ list(REMOVE_AT ${TEST_NAME}_out 0)
+ foreach(line ${${TEST_NAME}_out})
+ set(output "${output}[ \n\r]+${line}")
+ endforeach()
+ endif()
+
+ set_tests_properties(
+ ${TEST_NAME}
+ PROPERTIES
+ PASS_REGULAR_EXPRESSION
+ ${output}
+ )
endforeach()
endforeach()