您的位置:首页 > 健康 > 美食 > CUnit使用初体验

CUnit使用初体验

2024/10/6 6:02:30 来源:https://blog.csdn.net/leiqiangq/article/details/142020395  浏览:    关键词:CUnit使用初体验

1. 源码下载 

https://sourceforge.net/projects/cunit/

2. 安装

tar  -jxvf  CUnit-2.1-3.tar.bz2

cd  CUnit-2.1-3

 libtoolize -f -c -i

mv configure.in configure.ac

aclocal

 autoconf

autoheader

automake  --add-missing

automake

chmod u+x configure

 ./configure -prefix=/opt/cunit

make

make install

3. 编写

 env.ini

export  LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/cunit/lib/

Makefile

all:gcc -o test main.c -I/opt/cunit/include -L/opt/cunit/lib -lcunit

main.c

#include <signal.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>#include <CUnit/Automated.h>
#include <CUnit/Basic.h>
#include <CUnit/CUnit.h>
#include <CUnit/Console.h>
#include <CUnit/TestDB.h>
#include <assert.h>int suite_success_init(void){return 0;
}int suite_success_clean(void){return 0;
}
void test_fun1(void){printf("hello cunit\n");
}
void test_fun2(void){//测试函数编写
}
CU_TestInfo test_cases1[] = {{"test1", test_fun1},{"test2", test_fun2},CU_TEST_INFO_NULL
};
CU_TestInfo test_cases2[] = {CU_TEST_INFO_NULL
};CU_SuiteInfo suites[] = {{"test_cases1:", suite_success_init, suite_success_clean, NULL, NULL, test_cases1},{"test_cases2:", suite_success_init, suite_success_clean, NULL, NULL, test_cases2},CU_SUITE_INFO_NULL
};int main(int argc, char **argv)
{if (CU_initialize_registry()) {fprintf(stderr, " Initialization of Test Registry failed. ");exit(EXIT_FAILURE);} else {assert(NULL != CU_get_registry());assert(!CU_is_test_running());if (CUE_SUCCESS != CU_register_suites(suites)) {exit(EXIT_FAILURE);}
#if 0/**** Automated Mode *****************/CU_set_output_filename("TestMax");CU_automated_run_tests();CU_list_tests_to_file();
#else//***** Basice Mode *******************CU_basic_set_mode(CU_BRM_VERBOSE);CU_basic_run_tests();
#endifCU_cleanup_registry();return CU_get_error();}return 0;
}

5. 执行

 source env.ini

make

./test

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com