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