bind9/lib/isccc/tests/result_test.c

85 lines
1.6 KiB
C
Raw Normal View History

2018-11-09 18:21:44 -05:00
/*
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
#if HAVE_CMOCKA
#include <stdarg.h>
#include <stddef.h>
#include <setjmp.h>
#include <stdlib.h>
#include <string.h>
#define UNIT_TESTING
#include <cmocka.h>
2018-11-09 18:21:44 -05:00
#include <isc/result.h>
#include <isc/util.h>
#include <isccc/result.h>
/*
* Check tables are populated.
*/
static void
tables(void **state) {
2018-11-09 18:21:44 -05:00
const char *str;
isc_result_t result;
UNUSED(state);
2018-11-09 18:21:44 -05:00
isccc_result_register();
for (result = ISC_RESULTCLASS_ISCCC;
result < (ISC_RESULTCLASS_ISCCC + ISCCC_R_NRESULTS);
result++)
{
2018-11-09 18:21:44 -05:00
str = isc_result_toid(result);
assert_non_null(str);
assert_string_not_equal(str,
"(result code text not available)");
2018-11-09 18:21:44 -05:00
str = isc_result_totext(result);
assert_non_null(str);
assert_string_not_equal(str,
"(result code text not available)");
2018-11-09 18:21:44 -05:00
}
str = isc_result_toid(result);
assert_non_null(str);
assert_string_equal(str, "(result code text not available)");
2018-11-09 18:21:44 -05:00
str = isc_result_totext(result);
assert_non_null(str);
assert_string_equal(str, "(result code text not available)");
2018-11-09 18:21:44 -05:00
}
int
main(void) {
const struct CMUnitTest tests[] = {
cmocka_unit_test(tables),
};
return (cmocka_run_group_tests(tests, NULL, NULL));
}
2018-11-09 18:21:44 -05:00
#else /* HAVE_CMOCKA */
#include <stdio.h>
int
main(void) {
printf("1..0 # Skipped: cmocka not available\n");
return (0);
2018-11-09 18:21:44 -05:00
}
#endif