ATF (Automated Testing Framework) 自动化测试框架。
测试示例代码:
// The t_example_1.cpp test program. #include <atf-c++.hpp> #include <cmath> #include <cstdio> #include <cstring> ATF_TEST_CASE(pow_func); ATF_TEST_CASE_HEAD(pow_func) { set_md_var("descr", "Checks the pow function"); } ATF_TEST_CASE_BODY(pow_func) { using std::pow; ATF_CHECK_EQUAL(pow(2.0, 0.0), 1); ATF_CHECK_EQUAL(pow(2.0, 1.0), 2); ATF_CHECK_EQUAL(pow(2.0, 2.0), 4); ATF_CHECK_EQUAL(pow(2.0, 3.0), 8); } ATF_TEST_CASE(snprintf_func); ATF_TEST_CASE_HEAD(snprintf_func) { set_md_var("descr", "Checks the snprintf function"); } ATF_TEST_CASE_BODY(snprintf_func) { using std::snprintf; using std::strcmp; char buf[80]; snprintf(buf, 80, "Hello"); ATF_CHECK(strcmp(buf, "Hello") == 0); snprintf(buf, 80, "Hello %d", 5); ATF_CHECK(strcmp(buf, "Hello 5") == 0); snprintf(buf, 80, "Hello %s", "world"); ATF_CHECK(strcmp(buf, "Hello world") == 0); } ATF_INIT_TEST_CASES(tcs) { ATF_ADD_TEST_CASE(tcs, pow_func); ATF_ADD_TEST_CASE(tcs, snprintf_func); }