1*83ee113eSDavid van Moolenbroek /* $NetBSD: t_api.h,v 1.1.1.3 2014/07/12 11:57:56 spz Exp $ */ 2*83ee113eSDavid van Moolenbroek /* 3*83ee113eSDavid van Moolenbroek * Copyright (C) 2004-2007,2009 Internet Systems Consortium, Inc. ("ISC") 4*83ee113eSDavid van Moolenbroek * Copyright (C) 1999-2001 Internet Software Consortium. 5*83ee113eSDavid van Moolenbroek * 6*83ee113eSDavid van Moolenbroek * Permission to use, copy, modify, and/or distribute this software for any 7*83ee113eSDavid van Moolenbroek * purpose with or without fee is hereby granted, provided that the above 8*83ee113eSDavid van Moolenbroek * copyright notice and this permission notice appear in all copies. 9*83ee113eSDavid van Moolenbroek * 10*83ee113eSDavid van Moolenbroek * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH 11*83ee113eSDavid van Moolenbroek * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 12*83ee113eSDavid van Moolenbroek * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, 13*83ee113eSDavid van Moolenbroek * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 14*83ee113eSDavid van Moolenbroek * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 15*83ee113eSDavid van Moolenbroek * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 16*83ee113eSDavid van Moolenbroek * PERFORMANCE OF THIS SOFTWARE. 17*83ee113eSDavid van Moolenbroek */ 18*83ee113eSDavid van Moolenbroek 19*83ee113eSDavid van Moolenbroek /* Id: t_api.h,v 1.4 2009/11/24 02:06:56 sar Exp */ 20*83ee113eSDavid van Moolenbroek 21*83ee113eSDavid van Moolenbroek #ifndef TESTS_T_API_H 22*83ee113eSDavid van Moolenbroek #define TESTS_T_API_H 1 23*83ee113eSDavid van Moolenbroek 24*83ee113eSDavid van Moolenbroek /*! \file tests/t_api.h */ 25*83ee113eSDavid van Moolenbroek 26*83ee113eSDavid van Moolenbroek #include <stdio.h> 27*83ee113eSDavid van Moolenbroek 28*83ee113eSDavid van Moolenbroek #include <omapip/result.h> 29*83ee113eSDavid van Moolenbroek #include <isc/lang.h> 30*83ee113eSDavid van Moolenbroek #include <isc/formatcheck.h> 31*83ee113eSDavid van Moolenbroek 32*83ee113eSDavid van Moolenbroek /* 33*83ee113eSDavid van Moolenbroek * 34*83ee113eSDavid van Moolenbroek * Result codes. 35*83ee113eSDavid van Moolenbroek * 36*83ee113eSDavid van Moolenbroek */ 37*83ee113eSDavid van Moolenbroek 38*83ee113eSDavid van Moolenbroek #define T_PASS 0x1 39*83ee113eSDavid van Moolenbroek #define T_FAIL 0x2 40*83ee113eSDavid van Moolenbroek #define T_UNRESOLVED 0x3 41*83ee113eSDavid van Moolenbroek #define T_UNSUPPORTED 0x4 42*83ee113eSDavid van Moolenbroek #define T_UNTESTED 0x5 43*83ee113eSDavid van Moolenbroek #define T_THREADONLY 0x6 44*83ee113eSDavid van Moolenbroek 45*83ee113eSDavid van Moolenbroek /* 46*83ee113eSDavid van Moolenbroek * 47*83ee113eSDavid van Moolenbroek * Assertion class codes. 48*83ee113eSDavid van Moolenbroek * 49*83ee113eSDavid van Moolenbroek */ 50*83ee113eSDavid van Moolenbroek 51*83ee113eSDavid van Moolenbroek #define T_OPTIONAL 0x0 52*83ee113eSDavid van Moolenbroek #define T_REQUIRED 0x1 53*83ee113eSDavid van Moolenbroek 54*83ee113eSDavid van Moolenbroek /* 55*83ee113eSDavid van Moolenbroek * Misc 56*83ee113eSDavid van Moolenbroek */ 57*83ee113eSDavid van Moolenbroek 58*83ee113eSDavid van Moolenbroek #define T_MAXTOKS 16 59*83ee113eSDavid van Moolenbroek #define T_ARG(n) (*(av + (n))) 60*83ee113eSDavid van Moolenbroek 61*83ee113eSDavid van Moolenbroek typedef void (*PFV)(void); 62*83ee113eSDavid van Moolenbroek 63*83ee113eSDavid van Moolenbroek typedef struct { 64*83ee113eSDavid van Moolenbroek PFV pfv; 65*83ee113eSDavid van Moolenbroek const char *func_name; 66*83ee113eSDavid van Moolenbroek } testspec_t; 67*83ee113eSDavid van Moolenbroek 68*83ee113eSDavid van Moolenbroek extern int T_debug; 69*83ee113eSDavid van Moolenbroek extern testspec_t T_testlist[]; 70*83ee113eSDavid van Moolenbroek 71*83ee113eSDavid van Moolenbroek ISC_LANG_BEGINDECLS 72*83ee113eSDavid van Moolenbroek 73*83ee113eSDavid van Moolenbroek void 74*83ee113eSDavid van Moolenbroek t_assert(const char *component, int anum, int class, const char *what, ...) 75*83ee113eSDavid van Moolenbroek ISC_FORMAT_PRINTF(4, 5); 76*83ee113eSDavid van Moolenbroek 77*83ee113eSDavid van Moolenbroek void 78*83ee113eSDavid van Moolenbroek t_info(const char *format, ...) ISC_FORMAT_PRINTF(1, 2); 79*83ee113eSDavid van Moolenbroek 80*83ee113eSDavid van Moolenbroek void 81*83ee113eSDavid van Moolenbroek t_result(int result); 82*83ee113eSDavid van Moolenbroek 83*83ee113eSDavid van Moolenbroek char * 84*83ee113eSDavid van Moolenbroek t_getenv(const char *name); 85*83ee113eSDavid van Moolenbroek 86*83ee113eSDavid van Moolenbroek char * 87*83ee113eSDavid van Moolenbroek t_fgetbs(FILE *fp); 88*83ee113eSDavid van Moolenbroek 89*83ee113eSDavid van Moolenbroek isc_result_t 90*83ee113eSDavid van Moolenbroek t_dns_result_fromtext(char *result); 91*83ee113eSDavid van Moolenbroek 92*83ee113eSDavid van Moolenbroek unsigned int 93*83ee113eSDavid van Moolenbroek t_dc_method_fromtext(char *dc_method); 94*83ee113eSDavid van Moolenbroek 95*83ee113eSDavid van Moolenbroek int 96*83ee113eSDavid van Moolenbroek t_bustline(char *line, char **toks); 97*83ee113eSDavid van Moolenbroek 98*83ee113eSDavid van Moolenbroek int 99*83ee113eSDavid van Moolenbroek t_eval(const char *filename, int (*func)(char **), int nargs); 100*83ee113eSDavid van Moolenbroek 101*83ee113eSDavid van Moolenbroek ISC_LANG_ENDDECLS 102*83ee113eSDavid van Moolenbroek 103*83ee113eSDavid van Moolenbroek #endif /* TESTS_T_API_H */ 104*83ee113eSDavid van Moolenbroek 105