X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=tests%2FCMakeLists.txt;h=2f985a5ca0421dd71deea02d93c8388febef34a1;hb=7364469189558a8720b60880940a41e1a0d20452;hp=82cc046da1b7da21e0a2c8855dd510d5ca161797;hpb=e6e99619e760076198281daa5042edb4f9840509;p=platform%2Fupstream%2Fcmocka.git diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 82cc046..2f985a5 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -7,20 +7,39 @@ include_directories( ) set(CMOCKA_TESTS + test_alloc + test_group_setup_fail test_fixtures + test_group_fixtures test_assert_macros test_assert_macros_fail test_exception_handler - test_basics) + test_basics + test_skip + test_setup_fail) foreach(_CMOCKA_TEST ${CMOCKA_TESTS}) - add_cmocka_test(${_CMOCKA_TEST} ${_CMOCKA_TEST}.c ${CMOCKA_SHARED_LIBRARY}) + add_cmocka_test(${_CMOCKA_TEST} ${_CMOCKA_TEST}.c ${CMOCKA_STATIC_LIBRARY}) endforeach() +### Special Cases +if (${CMAKE_C_COMPILER_ID} MATCHES "(GNU|Clang)") + set_source_files_properties(test_cmockery.c PROPERTIES COMPILE_FLAGS "-Wno-deprecated-declarations") +endif() +add_cmocka_test(test_cmockery test_cmockery.c ${CMOCKA_STATIC_LIBRARY}) + ### Exceptions # test_assert_macros_fail set_tests_properties( + test_skip + PROPERTIES + PASS_REGULAR_EXPRESSION + "\\[ SKIPPED \\] test_check_skip" +) + +# test_assert_macros_fail +set_tests_properties( test_assert_macros_fail PROPERTIES PASS_REGULAR_EXPRESSION @@ -28,9 +47,126 @@ set_tests_properties( ) # test_exception_handler +if (WIN32) + set_tests_properties( + test_exception_handler + PROPERTIES + PASS_REGULAR_EXPRESSION + "EXCEPTION_ACCESS_VIOLATION occurred at") +else() + set_tests_properties( + test_exception_handler + PROPERTIES + PASS_REGULAR_EXPRESSION + "Test failed with exception: (Segmentation fault|Segmentation Fault|11)" + ) +endif (WIN32) + set_tests_properties( - test_exception_handler + test_setup_fail + PROPERTIES + WILL_FAIL + 1 +) + +set_tests_properties( + test_group_setup_fail + PROPERTIES + WILL_FAIL + 1 +) + +add_test (test_setup_fail_1_failed test_setup_fail) +set_tests_properties( + test_setup_fail_1_failed + PROPERTIES + PASS_REGULAR_EXPRESSION + "\\[ ERROR \\] int_test_ignored" +) + +add_test (test_setup_fail_1_passed test_setup_fail) +set_tests_properties( + test_setup_fail_1_passed PROPERTIES PASS_REGULAR_EXPRESSION - "Test failed with exception: (Segmentation fault|Segmentation Fault|11)" + "\\[ PASSED \\] 1 test\\(s\\)." ) + +add_test (test_setup_fail_match_failed test_setup_fail) +set_tests_properties( + test_setup_fail_match_failed + PROPERTIES + PASS_REGULAR_EXPRESSION + "\\[ ERROR \\] int_test_ignored" +) + +add_test (test_setup_fail_match_passed test_setup_fail) +set_tests_properties( + test_setup_fail_match_passed + PROPERTIES + PASS_REGULAR_EXPRESSION + "\\[ OK \\] int_test_success" +) + +### Output formats + +# test output of success, failure, skip, fixture failure +set(OUTPUT_TESTS + test_basics + test_assert_macros_fail + test_skip + test_setup_fail) + +set(TEST_OUTPUT_FMTS + tap + subunit + 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") +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") + +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") +set(test_assert_macros_fail_subunit_out + "failure: test_assert_return_code_fail \\[") +set(test_skip_subunit_out + "^test: test_check_skip[ \n\r]+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 + "[ \n\r]+.*") +set(test_assert_macros_fail_xml_out + "[ \n\r]+") +set(test_skip_xml_out + "[ \n\r]+") +set(test_setup_fail_xml_out + "[ \n\r]+") + +foreach(_TEST_OUTPUT_FMT ${TEST_OUTPUT_FMTS}) + foreach(_OUTPUT_TEST ${OUTPUT_TESTS}) + set(TEST_NAME ${_OUTPUT_TEST}_${_TEST_OUTPUT_FMT}) + add_test(${TEST_NAME} ${_OUTPUT_TEST}) + + set_property( + TEST + ${TEST_NAME} + PROPERTY + ENVIRONMENT CMOCKA_MESSAGE_OUTPUT=${_TEST_OUTPUT_FMT} + ) + + set_tests_properties( + ${TEST_NAME} + PROPERTIES + PASS_REGULAR_EXPRESSION + ${${TEST_NAME}_out} + ) + endforeach() +endforeach()