Index: sys/netinet/libalias/tests/Makefile =================================================================== --- /dev/null +++ sys/netinet/libalias/tests/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +.include + +ATF_TESTS_C+= aliasdb_test + +SRCS.aliasdb_test= aliasdb_test.c + +LIBADD+= alias + +.include Index: sys/netinet/libalias/tests/aliasdb_test.c =================================================================== --- /dev/null +++ sys/netinet/libalias/tests/aliasdb_test.c @@ -0,0 +1,45 @@ +#include +#include +#include + +ATF_TC(singleinit); +ATF_TC_HEAD(singleinit, env) +{ + atf_tc_set_md_var(env, "descr", "Create an instance"); +} +ATF_TC_BODY(singleinit, dummy) +{ + struct libalias *la; + + la = LibAliasInit(NULL); + ATF_CHECK_MSG(la != NULL, "Creating an instance failed."); + LibAliasUninit(la); +} + +ATF_TC(multiinit); +ATF_TC_HEAD(multiinit, env) +{ + atf_tc_set_md_var(env, "descr", "Recreate an instance multiple times"); +} +ATF_TC_BODY(multiinit, dummy) +{ + struct libalias *la; + int i; + + la = LibAliasInit(NULL); + for(i = 1; i < 30; i++) { + struct libalias *lo = la; + + la = LibAliasInit(la); + ATF_CHECK_MSG(la == lo, "Recreating moved the instance in round: %d", i); + } + LibAliasUninit(la); +} + +ATF_TP_ADD_TCS(aliasdb) +{ + ATF_TP_ADD_TC(aliasdb, singleinit); + ATF_TP_ADD_TC(aliasdb, multiinit); + + return atf_no_error(); +}