Example #1
0
ATF_TC_BODY(build_cxx_o, tc)
{
    init_and_run_h_tc(&ATF_TC_NAME(h_build_cxx_o_ok),
             &ATF_TC_PACK_NAME(h_build_cxx_o_ok), "stdout", "stderr");
    ATF_CHECK(grep_file("stdout", "-o test.o"));
    ATF_CHECK(grep_file("stdout", "-c test.cpp"));

    init_and_run_h_tc(&ATF_TC_NAME(h_build_cxx_o_fail),
             &ATF_TC_PACK_NAME(h_build_cxx_o_fail), "stdout", "stderr");
    ATF_CHECK(grep_file("stdout", "-o test.o"));
    ATF_CHECK(grep_file("stdout", "-c test.cpp"));
    ATF_CHECK(grep_file("stderr", "test.cpp"));
    ATF_CHECK(grep_file("stderr", "UNDEFINED_SYMBOL"));
}
Example #2
0
ATF_TC_BODY(build_c_o, tc)
{
    init_and_run_h_tc(&ATF_TC_NAME(h_build_c_o_ok),
             &ATF_TC_PACK_NAME(h_build_c_o_ok), "stdout", "stderr");
    ATF_CHECK(atf_utils_grep_file("-o test.o", "stdout"));
    ATF_CHECK(atf_utils_grep_file("-c test.c", "stdout"));

    init_and_run_h_tc(&ATF_TC_NAME(h_build_c_o_fail),
             &ATF_TC_PACK_NAME(h_build_c_o_fail), "stdout", "stderr");
    ATF_CHECK(atf_utils_grep_file("-o test.o", "stdout"));
    ATF_CHECK(atf_utils_grep_file("-c test.c", "stdout"));
    ATF_CHECK(atf_utils_grep_file("test.c", "stderr"));
    ATF_CHECK(atf_utils_grep_file("UNDEFINED_SYMBOL", "stderr"));
}
Example #3
0
ATF_TC_BODY(build_cpp, tc)
{
    init_and_run_h_tc(&ATF_TC_NAME(h_build_cpp_ok),
             &ATF_TC_PACK_NAME(h_build_cpp_ok), "stdout", "stderr");
    ATF_CHECK(grep_file("stdout", "-o.*test.p"));
    ATF_CHECK(grep_file("stdout", "test.c"));
    ATF_CHECK(grep_file("test.p", "foo bar"));

    init_and_run_h_tc(&ATF_TC_NAME(h_build_cpp_fail),
             &ATF_TC_PACK_NAME(h_build_cpp_fail), "stdout", "stderr");
    ATF_CHECK(grep_file("stdout", "-o test.p"));
    ATF_CHECK(grep_file("stdout", "test.c"));
    ATF_CHECK(grep_file("stderr", "test.c"));
    ATF_CHECK(grep_file("stderr", "non-existent.h"));
}
Example #4
0
atf_require_errno_semicolons(void)
{
    /* Check that ATF_REQUIRE_ERRNO does not contain a semicolon that would
     * cause an empty-statement that confuses some compilers. */
    ATF_REQUIRE_ERRNO(1, 1 == 1);
    ATF_REQUIRE_ERRNO(2, 2 == 2);
}

/* Test case names should not be expanded during instatiation so that they
 * can have the exact same name as macros. */
#define TEST_MACRO_1 invalid + name
#define TEST_MACRO_2 invalid + name
#define TEST_MACRO_3 invalid + name
ATF_TC(TEST_MACRO_1);
ATF_TC_HEAD(TEST_MACRO_1, tc) { if (tc != NULL) {} }
ATF_TC_BODY(TEST_MACRO_1, tc) { if (tc != NULL) {} }
atf_tc_t *test_name_1 = &ATF_TC_NAME(TEST_MACRO_1);
void (*head_1)(atf_tc_t *) = ATF_TC_HEAD_NAME(TEST_MACRO_1);
void (*body_1)(const atf_tc_t *) = ATF_TC_BODY_NAME(TEST_MACRO_1);
ATF_TC_WITH_CLEANUP(TEST_MACRO_2);
ATF_TC_HEAD(TEST_MACRO_2, tc) { if (tc != NULL) {} }
ATF_TC_BODY(TEST_MACRO_2, tc) { if (tc != NULL) {} }
ATF_TC_CLEANUP(TEST_MACRO_2, tc) { if (tc != NULL) {} }
atf_tc_t *test_name_2 = &ATF_TC_NAME(TEST_MACRO_2);
void (*head_2)(atf_tc_t *) = ATF_TC_HEAD_NAME(TEST_MACRO_2);
void (*body_2)(const atf_tc_t *) = ATF_TC_BODY_NAME(TEST_MACRO_2);
void (*cleanup_2)(const atf_tc_t *) = ATF_TC_CLEANUP_NAME(TEST_MACRO_2);
ATF_TC_WITHOUT_HEAD(TEST_MACRO_3);
ATF_TC_BODY(TEST_MACRO_3, tc) { if (tc != NULL) {} }
atf_tc_t *test_name_3 = &ATF_TC_NAME(TEST_MACRO_3);
void (*body_3)(const atf_tc_t *) = ATF_TC_BODY_NAME(TEST_MACRO_3);