remove lib/tests as nothing uses it anymore
This commit is contained in:
5
configure
vendored
5
configure
vendored
@@ -24157,7 +24157,7 @@ ac_config_commands="$ac_config_commands chmod"
|
||||
# elsewhere if there's a good reason for doing so.
|
||||
#
|
||||
|
||||
ac_config_files="$ac_config_files make/Makefile make/mkdep Makefile bin/Makefile bin/check/Makefile bin/confgen/Makefile bin/confgen/unix/Makefile bin/delv/Makefile bin/dig/Makefile bin/dnssec/Makefile bin/named/Makefile bin/named/unix/Makefile bin/nsupdate/Makefile bin/pkcs11/Makefile bin/python/Makefile bin/python/isc/Makefile bin/python/isc/utils.py bin/python/isc/tests/Makefile bin/python/dnssec-checkds.py bin/python/dnssec-coverage.py bin/python/dnssec-keymgr.py bin/python/isc/__init__.py bin/python/isc/checkds.py bin/python/isc/coverage.py bin/python/isc/dnskey.py bin/python/isc/eventlist.py bin/python/isc/keydict.py bin/python/isc/keyevent.py bin/python/isc/keymgr.py bin/python/isc/keyseries.py bin/python/isc/keyzone.py bin/python/isc/policy.py bin/python/isc/rndc.py bin/python/isc/tests/dnskey_test.py bin/python/isc/tests/policy_test.py bin/rndc/Makefile bin/tests/Makefile bin/tests/headerdep_test.sh bin/tests/optional/Makefile bin/tests/pkcs11/Makefile bin/tests/pkcs11/benchmarks/Makefile bin/tests/system/Makefile bin/tests/system/conf.sh bin/tests/system/dlz/prereq.sh bin/tests/system/dlzexternal/Makefile bin/tests/system/dlzexternal/ns1/dlzs.conf bin/tests/system/dyndb/Makefile bin/tests/system/dyndb/driver/Makefile bin/tests/system/inline/checkdsa.sh bin/tests/system/pipelined/Makefile bin/tests/system/rndc/Makefile bin/tests/system/rpz/Makefile bin/tests/system/rsabigexponent/Makefile bin/tests/system/tkey/Makefile bin/tests/virtual-time/Makefile bin/tests/virtual-time/conf.sh bin/tools/Makefile contrib/scripts/check-secure-delegation.pl contrib/scripts/zone-edit.sh doc/Makefile doc/arm/Makefile doc/arm/noteversion.xml doc/arm/pkgversion.xml doc/arm/releaseinfo.xml doc/doxygen/Doxyfile doc/doxygen/Makefile doc/doxygen/doxygen-input-filter doc/misc/Makefile doc/tex/Makefile doc/tex/armstyle.sty doc/xsl/Makefile doc/xsl/isc-docbook-chunk.xsl doc/xsl/isc-docbook-html.xsl doc/xsl/isc-manpage.xsl doc/xsl/isc-notes-html.xsl isc-config.sh lib/Makefile lib/bind9/Makefile lib/bind9/include/Makefile lib/bind9/include/bind9/Makefile lib/dns/Makefile lib/dns/include/Makefile lib/dns/include/dns/Makefile lib/dns/include/dst/Makefile lib/dns/tests/Makefile lib/irs/Makefile lib/irs/include/Makefile lib/irs/include/irs/Makefile lib/irs/include/irs/netdb.h lib/irs/include/irs/platform.h lib/irs/tests/Makefile lib/isc/$arch/Makefile lib/isc/$arch/include/Makefile lib/isc/$arch/include/isc/Makefile lib/isc/$thread_dir/Makefile lib/isc/$thread_dir/include/Makefile lib/isc/$thread_dir/include/isc/Makefile lib/isc/Makefile lib/isc/include/Makefile lib/isc/include/isc/Makefile lib/isc/include/isc/platform.h lib/isc/include/pk11/Makefile lib/isc/include/pkcs11/Makefile lib/isc/tests/Makefile lib/isc/nls/Makefile lib/isc/unix/Makefile lib/isc/unix/include/Makefile lib/isc/unix/include/isc/Makefile lib/isc/unix/include/pkcs11/Makefile lib/isccc/Makefile lib/isccc/include/Makefile lib/isccc/include/isccc/Makefile lib/isccfg/Makefile lib/isccfg/include/Makefile lib/isccfg/include/isccfg/Makefile lib/isccfg/tests/Makefile lib/ns/Makefile lib/ns/include/Makefile lib/ns/include/ns/Makefile lib/ns/tests/Makefile lib/tests/Makefile lib/tests/include/Makefile lib/tests/include/tests/Makefile lib/samples/Makefile lib/samples/Makefile-postinstall unit/Makefile unit/unittest.sh"
|
||||
ac_config_files="$ac_config_files make/Makefile make/mkdep Makefile bin/Makefile bin/check/Makefile bin/confgen/Makefile bin/confgen/unix/Makefile bin/delv/Makefile bin/dig/Makefile bin/dnssec/Makefile bin/named/Makefile bin/named/unix/Makefile bin/nsupdate/Makefile bin/pkcs11/Makefile bin/python/Makefile bin/python/isc/Makefile bin/python/isc/utils.py bin/python/isc/tests/Makefile bin/python/dnssec-checkds.py bin/python/dnssec-coverage.py bin/python/dnssec-keymgr.py bin/python/isc/__init__.py bin/python/isc/checkds.py bin/python/isc/coverage.py bin/python/isc/dnskey.py bin/python/isc/eventlist.py bin/python/isc/keydict.py bin/python/isc/keyevent.py bin/python/isc/keymgr.py bin/python/isc/keyseries.py bin/python/isc/keyzone.py bin/python/isc/policy.py bin/python/isc/rndc.py bin/python/isc/tests/dnskey_test.py bin/python/isc/tests/policy_test.py bin/rndc/Makefile bin/tests/Makefile bin/tests/headerdep_test.sh bin/tests/optional/Makefile bin/tests/pkcs11/Makefile bin/tests/pkcs11/benchmarks/Makefile bin/tests/system/Makefile bin/tests/system/conf.sh bin/tests/system/dlz/prereq.sh bin/tests/system/dlzexternal/Makefile bin/tests/system/dlzexternal/ns1/dlzs.conf bin/tests/system/dyndb/Makefile bin/tests/system/dyndb/driver/Makefile bin/tests/system/inline/checkdsa.sh bin/tests/system/pipelined/Makefile bin/tests/system/rndc/Makefile bin/tests/system/rpz/Makefile bin/tests/system/rsabigexponent/Makefile bin/tests/system/tkey/Makefile bin/tests/virtual-time/Makefile bin/tests/virtual-time/conf.sh bin/tools/Makefile contrib/scripts/check-secure-delegation.pl contrib/scripts/zone-edit.sh doc/Makefile doc/arm/Makefile doc/arm/noteversion.xml doc/arm/pkgversion.xml doc/arm/releaseinfo.xml doc/doxygen/Doxyfile doc/doxygen/Makefile doc/doxygen/doxygen-input-filter doc/misc/Makefile doc/tex/Makefile doc/tex/armstyle.sty doc/xsl/Makefile doc/xsl/isc-docbook-chunk.xsl doc/xsl/isc-docbook-html.xsl doc/xsl/isc-manpage.xsl doc/xsl/isc-notes-html.xsl isc-config.sh lib/Makefile lib/bind9/Makefile lib/bind9/include/Makefile lib/bind9/include/bind9/Makefile lib/dns/Makefile lib/dns/include/Makefile lib/dns/include/dns/Makefile lib/dns/include/dst/Makefile lib/dns/tests/Makefile lib/irs/Makefile lib/irs/include/Makefile lib/irs/include/irs/Makefile lib/irs/include/irs/netdb.h lib/irs/include/irs/platform.h lib/irs/tests/Makefile lib/isc/$arch/Makefile lib/isc/$arch/include/Makefile lib/isc/$arch/include/isc/Makefile lib/isc/$thread_dir/Makefile lib/isc/$thread_dir/include/Makefile lib/isc/$thread_dir/include/isc/Makefile lib/isc/Makefile lib/isc/include/Makefile lib/isc/include/isc/Makefile lib/isc/include/isc/platform.h lib/isc/include/pk11/Makefile lib/isc/include/pkcs11/Makefile lib/isc/tests/Makefile lib/isc/nls/Makefile lib/isc/unix/Makefile lib/isc/unix/include/Makefile lib/isc/unix/include/isc/Makefile lib/isc/unix/include/pkcs11/Makefile lib/isccc/Makefile lib/isccc/include/Makefile lib/isccc/include/isccc/Makefile lib/isccfg/Makefile lib/isccfg/include/Makefile lib/isccfg/include/isccfg/Makefile lib/isccfg/tests/Makefile lib/ns/Makefile lib/ns/include/Makefile lib/ns/include/ns/Makefile lib/ns/tests/Makefile lib/samples/Makefile lib/samples/Makefile-postinstall unit/Makefile unit/unittest.sh"
|
||||
|
||||
|
||||
#
|
||||
@@ -25279,9 +25279,6 @@ do
|
||||
"lib/ns/include/Makefile") CONFIG_FILES="$CONFIG_FILES lib/ns/include/Makefile" ;;
|
||||
"lib/ns/include/ns/Makefile") CONFIG_FILES="$CONFIG_FILES lib/ns/include/ns/Makefile" ;;
|
||||
"lib/ns/tests/Makefile") CONFIG_FILES="$CONFIG_FILES lib/ns/tests/Makefile" ;;
|
||||
"lib/tests/Makefile") CONFIG_FILES="$CONFIG_FILES lib/tests/Makefile" ;;
|
||||
"lib/tests/include/Makefile") CONFIG_FILES="$CONFIG_FILES lib/tests/include/Makefile" ;;
|
||||
"lib/tests/include/tests/Makefile") CONFIG_FILES="$CONFIG_FILES lib/tests/include/tests/Makefile" ;;
|
||||
"lib/samples/Makefile") CONFIG_FILES="$CONFIG_FILES lib/samples/Makefile" ;;
|
||||
"lib/samples/Makefile-postinstall") CONFIG_FILES="$CONFIG_FILES lib/samples/Makefile-postinstall" ;;
|
||||
"unit/Makefile") CONFIG_FILES="$CONFIG_FILES unit/Makefile" ;;
|
||||
|
||||
@@ -5396,9 +5396,6 @@ AC_CONFIG_FILES([
|
||||
lib/ns/include/Makefile
|
||||
lib/ns/include/ns/Makefile
|
||||
lib/ns/tests/Makefile
|
||||
lib/tests/Makefile
|
||||
lib/tests/include/Makefile
|
||||
lib/tests/include/tests/Makefile
|
||||
lib/samples/Makefile
|
||||
lib/samples/Makefile-postinstall
|
||||
unit/Makefile
|
||||
|
||||
@@ -15,7 +15,7 @@ top_srcdir = @top_srcdir@
|
||||
# Attempt to disable parallel processing.
|
||||
.NOTPARALLEL:
|
||||
.NO_PARALLEL:
|
||||
SUBDIRS = isc isccc dns ns isccfg bind9 irs tests samples
|
||||
SUBDIRS = isc isccc dns ns isccfg bind9 irs samples
|
||||
TARGETS =
|
||||
|
||||
@BIND9_MAKE_RULES@
|
||||
|
||||
@@ -1,48 +0,0 @@
|
||||
# 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.
|
||||
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
|
||||
@BIND9_MAKE_INCLUDES@
|
||||
|
||||
CINCLUDES = ${DNS_INCLUDES} ${ISC_INCLUDES} ${TEST_INCLUDES}
|
||||
CDEFINES =
|
||||
CWARNINGS =
|
||||
|
||||
ISCLIBS = ../../lib/isc/libisc.@A@ @ISC_OPENSSL_LIBS@
|
||||
ISCCCLIBS = ../../lib/isccc/libisccc.@A@
|
||||
|
||||
ISCDEPLIBS = ../../lib/isc/libisc.@A@
|
||||
ISCCCDEPLIBS = libisccc.@A@
|
||||
|
||||
OBJS = t_api.@O@
|
||||
|
||||
SRCS = t_api.c
|
||||
|
||||
SUBDIRS = include
|
||||
TARGETS = timestamp
|
||||
|
||||
@BIND9_MAKE_RULES@
|
||||
|
||||
libt_api.@SA@: ${OBJS}
|
||||
${AR} ${ARFLAGS} $@ ${OBJS}
|
||||
${RANLIB} $@
|
||||
|
||||
libt_api.la: ${OBJS}
|
||||
${LIBTOOL_MODE_LINK} \
|
||||
${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libt_api.la -rpath ${libdir} \
|
||||
${OBJS} ${ISCLIBS} ${LIBS} @LIBTOOL_ALLOW_UNDEFINED@ @LIBTOOL_IN_MAIN@
|
||||
|
||||
timestamp: libt_api.@A@
|
||||
touch timestamp
|
||||
|
||||
clean distclean::
|
||||
rm -f t_api.@O@ libt_api.@A@ timestamp
|
||||
@@ -1,3 +0,0 @@
|
||||
#! .
|
||||
|
||||
T_testlist
|
||||
@@ -1,19 +0,0 @@
|
||||
# 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.
|
||||
|
||||
# $Id: Makefile.in,v 1.11 2007/06/19 23:47:24 tbox Exp $
|
||||
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
|
||||
SUBDIRS = tests
|
||||
TARGETS =
|
||||
|
||||
@BIND9_MAKE_RULES@
|
||||
@@ -1,21 +0,0 @@
|
||||
# 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.
|
||||
|
||||
# $Id: Makefile.in,v 1.9 2007/06/19 23:47:24 tbox Exp $
|
||||
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
|
||||
VERSION=@BIND9_VERSION@
|
||||
|
||||
SUBDIRS =
|
||||
TARGETS =
|
||||
|
||||
@BIND9_MAKE_RULES@
|
||||
@@ -1,109 +0,0 @@
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
/* $Id: t_api.h,v 1.24 2010/06/08 23:50:24 tbox Exp $ */
|
||||
|
||||
#ifndef TESTS_T_API_H
|
||||
#define TESTS_T_API_H 1
|
||||
|
||||
/*! \file tests/t_api.h */
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#include <isc/lang.h>
|
||||
#include <isc/platform.h>
|
||||
#include <isc/result.h>
|
||||
#include <isc/formatcheck.h>
|
||||
|
||||
/*
|
||||
*
|
||||
* Result codes.
|
||||
*
|
||||
*/
|
||||
|
||||
#define T_PASS 0x1
|
||||
#define T_FAIL 0x2
|
||||
#define T_UNRESOLVED 0x3
|
||||
#define T_SKIPPED 0x4
|
||||
#define T_UNTESTED 0x5
|
||||
#define T_THREADONLY 0x6
|
||||
#define T_PKCS11ONLY 0x7
|
||||
|
||||
/*
|
||||
*
|
||||
* Assertion class codes.
|
||||
*
|
||||
*/
|
||||
|
||||
#define T_OPTIONAL 0x0
|
||||
#define T_REQUIRED 0x1
|
||||
|
||||
/*
|
||||
* Misc
|
||||
*/
|
||||
|
||||
#define T_MAXTOKS 16
|
||||
#define T_ARG(n) (*(av + (n)))
|
||||
|
||||
typedef void (*PFV)(void);
|
||||
|
||||
typedef struct {
|
||||
PFV pfv;
|
||||
const char *func_name;
|
||||
} testspec_t;
|
||||
|
||||
LIBTESTS_EXTERNAL_DATA extern int T_debug;
|
||||
#ifndef WIN32
|
||||
extern testspec_t T_testlist[];
|
||||
#endif
|
||||
|
||||
ISC_LANG_BEGINDECLS
|
||||
|
||||
#ifdef WIN32
|
||||
void
|
||||
t_settests(const testspec_t list[]);
|
||||
|
||||
int
|
||||
t_main(int argc, char **argv);
|
||||
#endif
|
||||
|
||||
void
|
||||
t_assert(const char *component, int anum, int tclass, const char *what, ...)
|
||||
ISC_FORMAT_PRINTF(4, 5);
|
||||
|
||||
void
|
||||
t_info(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
|
||||
|
||||
void
|
||||
t_result(int result);
|
||||
|
||||
char *
|
||||
t_getenv(const char *name);
|
||||
|
||||
char *
|
||||
t_fgetbs(FILE *fp);
|
||||
|
||||
isc_result_t
|
||||
t_dns_result_fromtext(char *result);
|
||||
|
||||
unsigned int
|
||||
t_dc_method_fromtext(char *dc_method);
|
||||
|
||||
int
|
||||
t_bustline(char *line, char **toks);
|
||||
|
||||
int
|
||||
t_eval(const char *filename, int (*func)(char **), int nargs);
|
||||
|
||||
ISC_LANG_ENDDECLS
|
||||
|
||||
#endif /* TESTS_T_API_H */
|
||||
|
||||
@@ -1,851 +0,0 @@
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
/* $Id: t_api.c,v 1.68 2010/12/21 04:20:23 marka Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include <ctype.h>
|
||||
#include <errno.h>
|
||||
#include <limits.h>
|
||||
#include <signal.h>
|
||||
#include <stdarg.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <time.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#ifndef WIN32
|
||||
#include <sys/wait.h>
|
||||
#else
|
||||
#include <direct.h>
|
||||
#endif
|
||||
|
||||
#include <isc/boolean.h>
|
||||
#include <isc/commandline.h>
|
||||
#include <isc/platform.h>
|
||||
#include <isc/print.h>
|
||||
#include <isc/string.h>
|
||||
#include <isc/mem.h>
|
||||
|
||||
#include <dns/compress.h>
|
||||
#include <dns/result.h>
|
||||
|
||||
#include "include/tests/t_api.h"
|
||||
|
||||
static const char *Usage =
|
||||
"\t-a : run all tests\n"
|
||||
"\t-b <dir> : chdir to dir before running tests"
|
||||
"\t-c <config_file> : use specified config file\n"
|
||||
"\t-d <debug_level> : set debug level to debug_level\n"
|
||||
"\t-h : print test info\n"
|
||||
"\t-u : print usage info\n"
|
||||
"\t-n <test_name> : run specified test name\n"
|
||||
"\t-t <test_number> : run specified test number\n"
|
||||
"\t-x : don't execute tests in a subproc\n"
|
||||
"\t-q <timeout> : use 'timeout' as the timeout value\n";
|
||||
/*!<
|
||||
* -a --> run all tests
|
||||
* -b dir --> chdir to dir before running tests
|
||||
* -c config --> use config file 'config'
|
||||
* -d --> turn on api debugging
|
||||
* -h --> print out available test names
|
||||
* -u --> print usage info
|
||||
* -n name --> run test named name
|
||||
* -tn --> run test n
|
||||
* -x --> don't execute testcases in a subproc
|
||||
* -q timeout --> use 'timeout' as the timeout value
|
||||
*/
|
||||
|
||||
#define T_MAXTESTS 256 /*% must be 0 mod 8 */
|
||||
#define T_MAXENV 256
|
||||
#define T_DEFAULT_CONFIG "t_config"
|
||||
#define T_BUFSIZ 256
|
||||
#define T_BIGBUF 4096
|
||||
|
||||
#define T_TCTOUT 60
|
||||
|
||||
int T_debug;
|
||||
int T_timeout;
|
||||
pid_t T_pid;
|
||||
static const char * T_config;
|
||||
static char T_tvec[T_MAXTESTS / 8];
|
||||
static char * T_env[T_MAXENV + 1];
|
||||
static char T_buf[T_BIGBUF];
|
||||
static char * T_dir;
|
||||
#ifdef WIN32
|
||||
static testspec_t T_testlist[T_MAXTESTS];
|
||||
#endif
|
||||
|
||||
static int
|
||||
t_initconf(const char *path);
|
||||
|
||||
static int
|
||||
t_dumpconf(const char *path);
|
||||
|
||||
static int
|
||||
t_putinfo(const char *key, const char *info);
|
||||
|
||||
static char *
|
||||
t_getdate(char *buf, size_t buflen);
|
||||
|
||||
static void
|
||||
printhelp(void);
|
||||
|
||||
static void
|
||||
printusage(void);
|
||||
|
||||
static int T_int;
|
||||
|
||||
static void
|
||||
t_sighandler(int sig) {
|
||||
T_int = sig;
|
||||
}
|
||||
|
||||
int
|
||||
#ifndef WIN32
|
||||
main(int argc, char **argv)
|
||||
#else
|
||||
t_main(int argc, char **argv)
|
||||
#endif
|
||||
{
|
||||
int c;
|
||||
int tnum;
|
||||
#ifndef WIN32
|
||||
int subprocs;
|
||||
pid_t deadpid;
|
||||
int status;
|
||||
#endif
|
||||
int len;
|
||||
isc_boolean_t first;
|
||||
testspec_t *pts;
|
||||
#ifndef WIN32
|
||||
struct sigaction sa;
|
||||
#endif
|
||||
|
||||
isc_mem_debugging = ISC_MEM_DEBUGRECORD;
|
||||
first = ISC_TRUE;
|
||||
#ifndef WIN32
|
||||
subprocs = 1;
|
||||
#endif
|
||||
T_timeout = T_TCTOUT;
|
||||
|
||||
/*
|
||||
* -a option is now default.
|
||||
*/
|
||||
memset(T_tvec, 0xff, sizeof(T_tvec));
|
||||
|
||||
/*
|
||||
* Parse args.
|
||||
*/
|
||||
while ((c = isc_commandline_parse(argc, argv, ":at:c:d:n:huxq:b:"))
|
||||
!= -1) {
|
||||
if (c == 'a') {
|
||||
/*
|
||||
* Flag all tests to be run.
|
||||
*/
|
||||
memset(T_tvec, 0xff, sizeof(T_tvec));
|
||||
}
|
||||
else if (c == 'b') {
|
||||
T_dir = isc_commandline_argument;
|
||||
}
|
||||
else if (c == 't') {
|
||||
tnum = atoi(isc_commandline_argument);
|
||||
if ((tnum > 0) && (tnum < T_MAXTESTS)) {
|
||||
if (first) {
|
||||
/*
|
||||
* Turn off effect of -a default
|
||||
* and allow multiple -t and -n
|
||||
* options.
|
||||
*/
|
||||
memset(T_tvec, 0, sizeof(T_tvec));
|
||||
first = ISC_FALSE;
|
||||
}
|
||||
/*
|
||||
* Flag test tnum to be run.
|
||||
*/
|
||||
tnum -= 1;
|
||||
T_tvec[tnum / 8] |= (0x01 << (tnum % 8));
|
||||
}
|
||||
}
|
||||
else if (c == 'c') {
|
||||
T_config = isc_commandline_argument;
|
||||
}
|
||||
else if (c == 'd') {
|
||||
T_debug = atoi(isc_commandline_argument);
|
||||
}
|
||||
else if (c == 'n') {
|
||||
pts = &T_testlist[0];
|
||||
tnum = 0;
|
||||
while (pts->pfv != NULL) {
|
||||
if (! strcmp(pts->func_name,
|
||||
isc_commandline_argument)) {
|
||||
if (first) {
|
||||
memset(T_tvec, 0,
|
||||
sizeof(T_tvec));
|
||||
first = ISC_FALSE;
|
||||
}
|
||||
T_tvec[tnum/8] |= (0x01 << (tnum%8));
|
||||
break;
|
||||
}
|
||||
++pts;
|
||||
++tnum;
|
||||
}
|
||||
if (pts->pfv == NULL) {
|
||||
fprintf(stderr, "no such test %s\n",
|
||||
isc_commandline_argument);
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
else if (c == 'h') {
|
||||
printhelp();
|
||||
exit(0);
|
||||
}
|
||||
else if (c == 'u') {
|
||||
printusage();
|
||||
exit(0);
|
||||
}
|
||||
else if (c == 'x') {
|
||||
#ifndef WIN32
|
||||
subprocs = 0;
|
||||
#endif
|
||||
}
|
||||
else if (c == 'q') {
|
||||
T_timeout = atoi(isc_commandline_argument);
|
||||
}
|
||||
else if (c == ':') {
|
||||
fprintf(stderr, "Option -%c requires an argument\n",
|
||||
isc_commandline_option);
|
||||
exit(1);
|
||||
}
|
||||
else if (c == '?') {
|
||||
fprintf(stderr, "Unrecognized option -%c\n",
|
||||
isc_commandline_option);
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Set cwd.
|
||||
*/
|
||||
|
||||
if (T_dir != NULL && chdir(T_dir) != 0) {
|
||||
fprintf(stderr, "chdir %s failed\n", T_dir);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/*
|
||||
* We don't want buffered output.
|
||||
*/
|
||||
|
||||
(void)setbuf(stdout, NULL);
|
||||
(void)setbuf(stderr, NULL);
|
||||
|
||||
/*
|
||||
* Setup signals.
|
||||
*/
|
||||
|
||||
#ifndef WIN32
|
||||
sa.sa_flags = 0;
|
||||
sigfillset(&sa.sa_mask);
|
||||
|
||||
sa.sa_handler = t_sighandler;
|
||||
(void)sigaction(SIGINT, &sa, NULL);
|
||||
(void)sigaction(SIGALRM, &sa, NULL);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Output start stanza to journal.
|
||||
*/
|
||||
|
||||
snprintf(T_buf, sizeof(T_buf), "%s:", argv[0]);
|
||||
len = strlen(T_buf);
|
||||
(void) t_getdate(T_buf + len, T_BIGBUF - len);
|
||||
t_putinfo("S", T_buf);
|
||||
|
||||
/*
|
||||
* Setup the test environment using the config file.
|
||||
*/
|
||||
|
||||
if (T_config == NULL)
|
||||
T_config = T_DEFAULT_CONFIG;
|
||||
|
||||
t_initconf(T_config);
|
||||
if (T_debug)
|
||||
t_dumpconf(T_config);
|
||||
|
||||
/*
|
||||
* Now invoke all the test cases.
|
||||
*/
|
||||
|
||||
tnum = 0;
|
||||
pts = &T_testlist[0];
|
||||
while (pts->pfv != NULL) {
|
||||
if (T_tvec[tnum / 8] & (0x01 << (tnum % 8))) {
|
||||
#ifndef WIN32
|
||||
if (subprocs) {
|
||||
T_pid = fork();
|
||||
if (T_pid == 0) {
|
||||
(*pts->pfv)();
|
||||
exit(0);
|
||||
} else if (T_pid > 0) {
|
||||
|
||||
T_int = 0;
|
||||
sa.sa_handler = t_sighandler;
|
||||
(void)sigaction(SIGALRM, &sa, NULL);
|
||||
alarm(T_timeout);
|
||||
|
||||
deadpid = (pid_t) -1;
|
||||
while (deadpid != T_pid) {
|
||||
deadpid =
|
||||
waitpid(T_pid, &status, 0);
|
||||
if (deadpid == T_pid) {
|
||||
if (WIFSIGNALED(status)) {
|
||||
if (WTERMSIG(status) ==
|
||||
SIGTERM)
|
||||
t_info(
|
||||
"the test case timed out\n");
|
||||
else
|
||||
t_info(
|
||||
"the test case caused exception %d\n",
|
||||
WTERMSIG(status));
|
||||
t_result(T_UNRESOLVED);
|
||||
}
|
||||
} else if ((deadpid == -1) &&
|
||||
(errno == EINTR) &&
|
||||
T_int) {
|
||||
kill(T_pid, SIGTERM);
|
||||
T_int = 0;
|
||||
}
|
||||
else if ((deadpid == -1) &&
|
||||
((errno == ECHILD) ||
|
||||
(errno == ESRCH)))
|
||||
break;
|
||||
}
|
||||
|
||||
alarm(0);
|
||||
sa.sa_handler = SIG_IGN;
|
||||
(void)sigaction(SIGALRM, &sa, NULL);
|
||||
} else {
|
||||
t_info("fork failed, errno == %d\n",
|
||||
errno);
|
||||
t_result(T_UNRESOLVED);
|
||||
}
|
||||
}
|
||||
else {
|
||||
(*pts->pfv)();
|
||||
}
|
||||
#else
|
||||
(*pts->pfv)();
|
||||
#endif
|
||||
}
|
||||
++pts;
|
||||
++tnum;
|
||||
}
|
||||
|
||||
snprintf(T_buf, sizeof(T_buf), "%s:", argv[0]);
|
||||
len = strlen(T_buf);
|
||||
(void) t_getdate(T_buf + len, T_BIGBUF - len);
|
||||
t_putinfo("E", T_buf);
|
||||
|
||||
return(0);
|
||||
}
|
||||
|
||||
void
|
||||
t_assert(const char *component, int anum, int tclass, const char *what, ...) {
|
||||
va_list args;
|
||||
char buf[T_BIGBUF];
|
||||
|
||||
(void)printf("T:%s:%d:%s\n", component, anum, tclass == T_REQUIRED ?
|
||||
"A" : "C");
|
||||
|
||||
/*
|
||||
* Format text to a buffer.
|
||||
*/
|
||||
va_start(args, what);
|
||||
(void)vsnprintf(buf, sizeof(buf), what, args);
|
||||
va_end(args);
|
||||
|
||||
(void)t_putinfo("A", buf);
|
||||
(void)printf("\n");
|
||||
}
|
||||
|
||||
void
|
||||
t_info(const char *format, ...) {
|
||||
va_list args;
|
||||
char buf[T_BIGBUF];
|
||||
|
||||
va_start(args, format);
|
||||
(void) vsnprintf(buf, sizeof(buf), format, args);
|
||||
va_end(args);
|
||||
(void) t_putinfo("I", buf);
|
||||
}
|
||||
|
||||
void
|
||||
t_result(int result) {
|
||||
const char *p;
|
||||
|
||||
switch (result) {
|
||||
case T_PASS:
|
||||
p = "PASS";
|
||||
break;
|
||||
case T_FAIL:
|
||||
p = "FAIL";
|
||||
break;
|
||||
case T_UNRESOLVED:
|
||||
p = "UNRESOLVED";
|
||||
break;
|
||||
case T_SKIPPED:
|
||||
p = "SKIPPED";
|
||||
break;
|
||||
case T_UNTESTED:
|
||||
p = "UNTESTED";
|
||||
break;
|
||||
case T_THREADONLY:
|
||||
p = "THREADONLY";
|
||||
break;
|
||||
case T_PKCS11ONLY:
|
||||
p = "PKCS11ONLY";
|
||||
break;
|
||||
default:
|
||||
p = "UNKNOWN";
|
||||
break;
|
||||
}
|
||||
printf("R:%s\n", p);
|
||||
}
|
||||
|
||||
char *
|
||||
t_getenv(const char *name) {
|
||||
char *n;
|
||||
char **p;
|
||||
size_t len;
|
||||
|
||||
n = NULL;
|
||||
if (name && *name) {
|
||||
|
||||
p = &T_env[0];
|
||||
len = strlen(name);
|
||||
|
||||
while (*p != NULL) {
|
||||
if (strncmp(*p, name, len) == 0) {
|
||||
if ( *(*p + len) == '=') {
|
||||
n = *p + len + 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
++p;
|
||||
}
|
||||
}
|
||||
return(n);
|
||||
}
|
||||
|
||||
/*
|
||||
*
|
||||
* Read in the config file at path, initializing T_env.
|
||||
*
|
||||
* note: no format checking for now ...
|
||||
*
|
||||
*/
|
||||
|
||||
static int
|
||||
t_initconf(const char *path) {
|
||||
|
||||
int n;
|
||||
int rval;
|
||||
char **p;
|
||||
FILE *fp;
|
||||
|
||||
rval = -1;
|
||||
|
||||
fp = fopen(path, "r");
|
||||
if (fp != NULL) {
|
||||
n = 0;
|
||||
p = &T_env[0];
|
||||
while (n < T_MAXENV) {
|
||||
*p = t_fgetbs(fp);
|
||||
if (*p == NULL)
|
||||
break;
|
||||
if ((**p == '#') || (strchr(*p, '=') == NULL)) {
|
||||
/*
|
||||
* Skip comments and other junk.
|
||||
*/
|
||||
(void)free(*p);
|
||||
continue;
|
||||
}
|
||||
++p; ++n;
|
||||
}
|
||||
(void)fclose(fp);
|
||||
rval = 0;
|
||||
}
|
||||
|
||||
return (rval);
|
||||
}
|
||||
|
||||
/*
|
||||
*
|
||||
* Dump T_env to stdout.
|
||||
*
|
||||
*/
|
||||
|
||||
static int
|
||||
t_dumpconf(const char *path) {
|
||||
int rval;
|
||||
char **p;
|
||||
FILE *fp;
|
||||
|
||||
rval = -1;
|
||||
fp = fopen(path, "r");
|
||||
if (fp != NULL) {
|
||||
p = &T_env[0];
|
||||
while (*p != NULL) {
|
||||
printf("C:%s\n", *p);
|
||||
++p;
|
||||
}
|
||||
(void) fclose(fp);
|
||||
rval = 0;
|
||||
}
|
||||
return(rval);
|
||||
}
|
||||
|
||||
/*
|
||||
*
|
||||
* Read a newline or EOF terminated string from fp.
|
||||
* On success:
|
||||
* return a malloc'd buf containing the string with
|
||||
* the newline converted to a '\0'.
|
||||
* On error:
|
||||
* return NULL.
|
||||
*
|
||||
* Caller is responsible for freeing buf.
|
||||
*
|
||||
*/
|
||||
|
||||
char *
|
||||
t_fgetbs(FILE *fp) {
|
||||
int c;
|
||||
size_t n;
|
||||
size_t size;
|
||||
char *buf, *old;
|
||||
char *p;
|
||||
|
||||
n = 0;
|
||||
size = T_BUFSIZ;
|
||||
old = buf = (char *) malloc(T_BUFSIZ * sizeof(char));
|
||||
|
||||
if (buf != NULL) {
|
||||
p = buf;
|
||||
while ((c = fgetc(fp)) != EOF) {
|
||||
|
||||
if ((c == '\r') || (c == '\n'))
|
||||
break;
|
||||
|
||||
*p++ = c;
|
||||
++n;
|
||||
if ( n >= size ) {
|
||||
size += T_BUFSIZ;
|
||||
buf = (char *)realloc(buf,
|
||||
size * sizeof(char));
|
||||
if (buf == NULL)
|
||||
goto err;
|
||||
old = buf;
|
||||
p = buf + n;
|
||||
}
|
||||
}
|
||||
*p = '\0';
|
||||
if (c == EOF && n == 0U) {
|
||||
free(buf);
|
||||
return (NULL);
|
||||
}
|
||||
return (buf);
|
||||
} else {
|
||||
err:
|
||||
if (old != NULL)
|
||||
free(old);
|
||||
fprintf(stderr, "malloc/realloc failed %d", errno);
|
||||
return(NULL);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
*
|
||||
* Put info to log, using key.
|
||||
* For now, just dump it out.
|
||||
* Later format into pretty lines.
|
||||
*
|
||||
*/
|
||||
|
||||
static int
|
||||
t_putinfo(const char *key, const char *info) {
|
||||
int rval;
|
||||
|
||||
/*
|
||||
* For now.
|
||||
*/
|
||||
rval = printf("%s:%s", key, info);
|
||||
return(rval);
|
||||
}
|
||||
|
||||
static char *
|
||||
t_getdate(char *buf, size_t buflen) {
|
||||
size_t n;
|
||||
time_t t;
|
||||
struct tm *p;
|
||||
#if defined(ISC_PLATFORM_USETHREADS) && !defined(WIN32)
|
||||
struct tm tm;
|
||||
#endif
|
||||
|
||||
t = time(NULL);
|
||||
#if defined(ISC_PLATFORM_USETHREADS) && !defined(WIN32)
|
||||
p = localtime_r(&t, &tm);
|
||||
#else
|
||||
p = localtime(&t);
|
||||
#endif
|
||||
n = strftime(buf, buflen - 1, "%A %d %B %H:%M:%S %Y\n", p);
|
||||
return(n != 0U ? buf : NULL);
|
||||
}
|
||||
|
||||
/*
|
||||
* Some generally used utilities.
|
||||
*/
|
||||
static const struct dns_errormap {
|
||||
isc_result_t result;
|
||||
const char *text;
|
||||
} dns_errormap[] = {
|
||||
{ ISC_R_SUCCESS, "ISC_R_SUCCESS" },
|
||||
{ ISC_R_EXISTS, "ISC_R_EXISTS" },
|
||||
{ ISC_R_NOTFOUND, "ISC_R_NOTFOUND" },
|
||||
{ ISC_R_NOSPACE, "ISC_R_NOSPACE" },
|
||||
{ ISC_R_UNEXPECTED, "ISC_R_UNEXPECTED" },
|
||||
{ ISC_R_UNEXPECTEDEND, "ISC_R_UNEXPECTEDEND" },
|
||||
{ ISC_R_RANGE, "ISC_R_RANGE" },
|
||||
{ DNS_R_LABELTOOLONG, "DNS_R_LABELTOOLONG" },
|
||||
{ DNS_R_BADESCAPE, "DNS_R_BADESCAPE" },
|
||||
/* { DNS_R_BADBITSTRING, "DNS_R_BADBITSTRING" }, */
|
||||
/* { DNS_R_BITSTRINGTOOLONG, "DNS_R_BITSTRINGTOOLONG"}, */
|
||||
{ DNS_R_EMPTYLABEL, "DNS_R_EMPTYLABEL" },
|
||||
{ DNS_R_BADDOTTEDQUAD, "DNS_R_BADDOTTEDQUAD" },
|
||||
{ DNS_R_UNKNOWN, "DNS_R_UNKNOWN" },
|
||||
{ DNS_R_BADLABELTYPE, "DNS_R_BADLABELTYPE" },
|
||||
{ DNS_R_BADPOINTER, "DNS_R_BADPOINTER" },
|
||||
{ DNS_R_TOOMANYHOPS, "DNS_R_TOOMANYHOPS" },
|
||||
{ DNS_R_DISALLOWED, "DNS_R_DISALLOWED" },
|
||||
{ DNS_R_EXTRATOKEN, "DNS_R_EXTRATOKEN" },
|
||||
{ DNS_R_EXTRADATA, "DNS_R_EXTRADATA" },
|
||||
{ DNS_R_TEXTTOOLONG, "DNS_R_TEXTTOOLONG" },
|
||||
{ DNS_R_SYNTAX, "DNS_R_SYNTAX" },
|
||||
{ DNS_R_BADCKSUM, "DNS_R_BADCKSUM" },
|
||||
{ DNS_R_BADAAAA, "DNS_R_BADAAAA" },
|
||||
{ DNS_R_NOOWNER, "DNS_R_NOOWNER" },
|
||||
{ DNS_R_NOTTL, "DNS_R_NOTTL" },
|
||||
{ DNS_R_BADCLASS, "DNS_R_BADCLASS" },
|
||||
{ DNS_R_PARTIALMATCH, "DNS_R_PARTIALMATCH" },
|
||||
{ DNS_R_NEWORIGIN, "DNS_R_NEWORIGIN" },
|
||||
{ DNS_R_UNCHANGED, "DNS_R_UNCHANGED" },
|
||||
{ DNS_R_BADTTL, "DNS_R_BADTTL" },
|
||||
{ DNS_R_NOREDATA, "DNS_R_NOREDATA" },
|
||||
{ DNS_R_CONTINUE, "DNS_R_CONTINUE" },
|
||||
{ DNS_R_DELEGATION, "DNS_R_DELEGATION" },
|
||||
{ DNS_R_GLUE, "DNS_R_GLUE" },
|
||||
{ DNS_R_DNAME, "DNS_R_DNAME" },
|
||||
{ DNS_R_CNAME, "DNS_R_CNAME" },
|
||||
{ DNS_R_NXDOMAIN, "DNS_R_NXDOMAIN" },
|
||||
{ DNS_R_NXRRSET, "DNS_R_NXRRSET" },
|
||||
{ DNS_R_BADDB, "DNS_R_BADDB" },
|
||||
{ DNS_R_ZONECUT, "DNS_R_ZONECUT" },
|
||||
{ DNS_R_NOTZONETOP, "DNS_R_NOTZONETOP" },
|
||||
{ DNS_R_SEENINCLUDE, "DNS_R_SEENINCLUDE" },
|
||||
{ DNS_R_SINGLETON, "DNS_R_SINGLETON" },
|
||||
{ (isc_result_t)0, NULL }
|
||||
};
|
||||
|
||||
isc_result_t
|
||||
t_dns_result_fromtext(char *name) {
|
||||
|
||||
isc_result_t result;
|
||||
const struct dns_errormap *pmap;
|
||||
|
||||
result = ISC_R_UNEXPECTED;
|
||||
|
||||
pmap = dns_errormap;
|
||||
while (pmap->text != NULL) {
|
||||
if (strcmp(name, pmap->text) == 0)
|
||||
break;
|
||||
++pmap;
|
||||
}
|
||||
|
||||
if (pmap->text != NULL)
|
||||
result = pmap->result;
|
||||
|
||||
return (result);
|
||||
}
|
||||
|
||||
static const struct dc_method_map {
|
||||
unsigned int dc_method;
|
||||
const char *text;
|
||||
} dc_method_map[] = {
|
||||
|
||||
{ DNS_COMPRESS_NONE, "DNS_COMPRESS_NONE" },
|
||||
{ DNS_COMPRESS_GLOBAL14, "DNS_COMPRESS_GLOBAL14" },
|
||||
{ DNS_COMPRESS_ALL, "DNS_COMPRESS_ALL" },
|
||||
{ 0, NULL }
|
||||
};
|
||||
|
||||
unsigned int
|
||||
t_dc_method_fromtext(char *name) {
|
||||
unsigned int dc_method;
|
||||
const struct dc_method_map *pmap;
|
||||
|
||||
dc_method = DNS_COMPRESS_NONE;
|
||||
|
||||
pmap = dc_method_map;
|
||||
while (pmap->text != NULL) {
|
||||
if (strcmp(name, pmap->text) == 0)
|
||||
break;
|
||||
++pmap;
|
||||
}
|
||||
|
||||
if (pmap->text != NULL)
|
||||
dc_method = pmap->dc_method;
|
||||
|
||||
return(dc_method);
|
||||
}
|
||||
|
||||
int
|
||||
t_bustline(char *line, char **toks) {
|
||||
int cnt;
|
||||
char *p;
|
||||
|
||||
cnt = 0;
|
||||
if (line && *line) {
|
||||
while ((p = strtok(line, "\t")) && (cnt < T_MAXTOKS)) {
|
||||
*toks++ = p;
|
||||
line = NULL;
|
||||
++cnt;
|
||||
}
|
||||
}
|
||||
return(cnt);
|
||||
}
|
||||
|
||||
static void
|
||||
printhelp(void) {
|
||||
int cnt;
|
||||
testspec_t *pts;
|
||||
|
||||
cnt = 1;
|
||||
pts = &T_testlist[0];
|
||||
|
||||
printf("Available tests:\n");
|
||||
while (pts->func_name) {
|
||||
printf("\t%d\t%s\n", cnt, pts->func_name);
|
||||
++pts;
|
||||
++cnt;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
printusage(void) {
|
||||
printf("Usage:\n%s\n", Usage);
|
||||
}
|
||||
|
||||
int
|
||||
t_eval(const char *filename, int (*func)(char **), int nargs) {
|
||||
FILE *fp;
|
||||
char *p;
|
||||
int line;
|
||||
int cnt;
|
||||
int result;
|
||||
int tresult;
|
||||
int nfails;
|
||||
int nprobs;
|
||||
int npass;
|
||||
char *tokens[T_MAXTOKS + 1];
|
||||
|
||||
tresult = T_UNTESTED;
|
||||
npass = 0;
|
||||
nfails = 0;
|
||||
nprobs = 0;
|
||||
|
||||
fp = fopen(filename, "r");
|
||||
if (fp != NULL) {
|
||||
line = 0;
|
||||
while ((p = t_fgetbs(fp)) != NULL) {
|
||||
|
||||
++line;
|
||||
|
||||
/*
|
||||
* Skip comment lines.
|
||||
*/
|
||||
if ((isspace((unsigned char)*p)) || (*p == '#')) {
|
||||
(void)free(p);
|
||||
continue;
|
||||
}
|
||||
|
||||
cnt = t_bustline(p, tokens);
|
||||
if (cnt == nargs) {
|
||||
tresult = func(tokens);
|
||||
switch (tresult) {
|
||||
case T_PASS:
|
||||
++npass;
|
||||
break;
|
||||
case T_FAIL:
|
||||
++nfails;
|
||||
break;
|
||||
case T_SKIPPED:
|
||||
case T_UNTESTED:
|
||||
break;
|
||||
default:
|
||||
++nprobs;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
t_info("bad format in %s at line %d\n",
|
||||
filename, line);
|
||||
++nprobs;
|
||||
}
|
||||
|
||||
(void)free(p);
|
||||
}
|
||||
(void)fclose(fp);
|
||||
} else {
|
||||
t_info("Missing datafile %s\n", filename);
|
||||
++nprobs;
|
||||
}
|
||||
|
||||
result = T_UNRESOLVED;
|
||||
|
||||
if (nfails == 0 && nprobs == 0 && npass > 0)
|
||||
result = T_PASS;
|
||||
else if (nfails > 0)
|
||||
result = T_FAIL;
|
||||
else if (npass == 0)
|
||||
result = tresult;
|
||||
|
||||
return (result);
|
||||
}
|
||||
|
||||
#ifdef WIN32
|
||||
void
|
||||
t_settests(const testspec_t list[]) {
|
||||
int tnum;
|
||||
const testspec_t *pts;
|
||||
|
||||
memset(T_testlist, 0, sizeof(T_testlist));
|
||||
|
||||
pts = &list[0];
|
||||
for (tnum = 0; tnum < T_MAXTESTS - 1; pts++, tnum++) {
|
||||
if (pts->pfv == NULL)
|
||||
break;
|
||||
T_testlist[tnum] = *pts;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -1,51 +0,0 @@
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
#include <windows.h>
|
||||
#include <signal.h>
|
||||
|
||||
/*
|
||||
* Called when we enter the DLL
|
||||
*/
|
||||
__declspec(dllexport) BOOL WINAPI DllMain(HINSTANCE hinstDLL,
|
||||
DWORD fdwReason, LPVOID lpvReserved)
|
||||
{
|
||||
switch (fdwReason) {
|
||||
/*
|
||||
* The DLL is loading due to process
|
||||
* initialization or a call to LoadLibrary.
|
||||
*/
|
||||
case DLL_PROCESS_ATTACH:
|
||||
break;
|
||||
|
||||
/* The attached process creates a new thread. */
|
||||
case DLL_THREAD_ATTACH:
|
||||
break;
|
||||
|
||||
/* The thread of the attached process terminates. */
|
||||
case DLL_THREAD_DETACH:
|
||||
break;
|
||||
|
||||
/*
|
||||
* The DLL is unloading from a process due to
|
||||
* process termination or a call to FreeLibrary.
|
||||
*/
|
||||
case DLL_PROCESS_DETACH:
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return (TRUE);
|
||||
}
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
LIBRARY libtests
|
||||
|
||||
; Exported Functions
|
||||
EXPORTS
|
||||
t_assert
|
||||
t_bustline
|
||||
t_dc_method_fromtext
|
||||
t_dns_result_fromtext
|
||||
t_eval
|
||||
t_fgetbs
|
||||
t_getenv
|
||||
t_info
|
||||
t_main
|
||||
t_result
|
||||
t_settests
|
||||
@@ -1,33 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="libtests.def" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="DLLMain.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\t_api.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\include\tests\t_api.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -1,121 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|@PLATFORM@">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>@PLATFORM@</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|@PLATFORM@">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>@PLATFORM@</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{F6F08940-7597-4FEE-9CE0-E09A009C45A3}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>libtests</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<OutDir>..\..\..\Build\$(Configuration)\</OutDir>
|
||||
<IntDir>.\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>..\..\..\Build\$(Configuration)\</OutDir>
|
||||
<IntDir>.\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBTESTS_EXPORTS;%(PreprocessorDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>./;../../../;include;../include;../../isc/win32;../../isc/win32/include;../../isc/include;../../dns/include;@LIBXML2_INC@%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeaderOutputFile>.\$(Configuration)\$(TargetName).pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>.\$(Configuration)\</AssemblerListingLocation>
|
||||
<ObjectFileName>.\$(Configuration)\</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
|
||||
<BrowseInformation>true</BrowseInformation>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>../../isc/win32/$(Configuration);../../dns/win32/$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<ModuleDefinitionFile>.\libtests.def</ModuleDefinitionFile>
|
||||
<ImportLibrary>.\$(Configuration)\$(ProjectName).lib</ImportLibrary>
|
||||
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>@INTRINSIC@</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBTESTS_EXPORTS;%(PreprocessorDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>./;../../../;include;../include;../../isc/win32;../../isc/win32/include;../../isc/include;../../dns/include;@LIBXML2_INC@%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<StringPooling>true</StringPooling>
|
||||
<PrecompiledHeaderOutputFile>.\$(Configuration)\$(TargetName).pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>.\$(Configuration)\</AssemblerListingLocation>
|
||||
<ObjectFileName>.\$(Configuration)\</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalLibraryDirectories>../../isc/win32/$(Configuration);../../dns/win32/$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<ModuleDefinitionFile>.\libtests.def</ModuleDefinitionFile>
|
||||
<ImportLibrary>.\$(Configuration)\$(ProjectName).lib</ImportLibrary>
|
||||
<LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
|
||||
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<None Include="libtests.def" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\t_api.c" />
|
||||
<ClCompile Include="DLLMain.c" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\include\tests\t_api.h" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
@@ -1,3 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
</Project>
|
||||
@@ -4144,17 +4144,6 @@
|
||||
./lib/samples/win32/update.vcxproj.filters.in X 2014,2015,2018
|
||||
./lib/samples/win32/update.vcxproj.in X 2014,2015,2016,2017,2018
|
||||
./lib/samples/win32/update.vcxproj.user X 2014,2018
|
||||
./lib/tests/Makefile.in MAKE 1998,1999,2000,2001,2003,2004,2007,2009,2012,2016,2017,2018
|
||||
./lib/tests/T_testlist.imp X 2004,2018
|
||||
./lib/tests/include/Makefile.in MAKE 1998,1999,2000,2001,2004,2007,2012,2016,2018
|
||||
./lib/tests/include/tests/Makefile.in MAKE 1999,2000,2001,2004,2007,2012,2015,2016,2018
|
||||
./lib/tests/include/tests/t_api.h C 1999,2000,2001,2004,2005,2006,2007,2010,2013,2014,2016,2017,2018
|
||||
./lib/tests/t_api.c C 1999,2000,2001,2002,2003,2004,2005,2007,2008,2009,2010,2013,2014,2016,2017,2018
|
||||
./lib/tests/win32/DLLMain.c C 2013,2016,2018
|
||||
./lib/tests/win32/libtests.def X 2013,2018
|
||||
./lib/tests/win32/libtests.vcxproj.filters.in X 2013,2015,2018
|
||||
./lib/tests/win32/libtests.vcxproj.in X 2013,2015,2016,2017,2018
|
||||
./lib/tests/win32/libtests.vcxproj.user X 2013,2018
|
||||
./lib/win32/bindevt/bindevt.c C 2000,2001,2004,2007,2016,2018
|
||||
./lib/win32/bindevt/bindevt.mc MC 2001,2004,2007,2016,2018
|
||||
./lib/win32/bindevt/bindevt.vcxproj.filters.in X 2013,2015,2018
|
||||
|
||||
Reference in New Issue
Block a user