macOS Big SurでCUnitのmake
CUnitを利用したくてmakeしたのでメモ。
CUnitをダウンロードする。 sourceforge.net
$ bunzip2 CUnit-2.1-2-src.tar.bz2 $ tar -xvf CUnit-2.1-2-src.tar $ CUnit-2.1-2 $ ./configure --prefix=/usr/local $ make $ sudo make install
test.c
#include "CUnit/Basic.h" int maxi(int i1, int i2) { return (i1 > i2) ? i1 : i2; } int init_suite_success(void) { return 0; } int clean_suite_success(void) { return 0; } void test_maxi(void) { CU_ASSERT(maxi(0,2) == 2); CU_ASSERT(maxi(0,-2) == 0); CU_ASSERT(maxi(2,2) == 2); } int main() { CU_pSuite pSuite = NULL; if (CUE_SUCCESS != CU_initialize_registry()) { return CU_get_error(); } pSuite = CU_add_suite("suite success", init_suite_success, clean_suite_success); if (pSuite == NULL) { CU_cleanup_registry(); return CU_get_error(); } if (CU_add_test(pSuite, "test maxi", test_maxi) == NULL) { CU_cleanup_registry(); return CU_get_error(); } CU_basic_set_mode(CU_BRM_VERBOSE); CU_basic_run_tests(); CU_basic_show_failures(CU_get_failure_list()); CU_cleanup_registry(); return CU_get_error(); }
$ gcc -o test test.c -lcunit $ ./test CUnit - A unit testing framework for C - Version 2.1-2 http://cunit.sourceforge.net/ Suite: suite success Test: test maxi ...passed Run Summary: Type Total Ran Passed Failed Inactive suites 1 1 n/a 0 0 tests 1 1 1 0 0 asserts 3 3 3 0 n/a Elapsed time = 0.000 seconds