From: Evan Hunt Date: Tue, 27 Feb 2018 18:20:28 +0000 (-0800) Subject: migrate t_mem to lib/isc/tests/mem_test X-Git-Tag: v9.13.0~101^2~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=979f054702878ed74b9a7b22c636fc2fc5cf1659;p=thirdparty%2Fbind9.git migrate t_mem to lib/isc/tests/mem_test --- diff --git a/bin/tests/.gitignore b/bin/tests/.gitignore index 06c3af5e21e..bff3505d700 100644 --- a/bin/tests/.gitignore +++ b/bin/tests/.gitignore @@ -8,7 +8,6 @@ t_atomic t_db gsstest t_dst -t_mem t_names t_rbt t_resolver diff --git a/bin/tests/Makefile.in b/bin/tests/Makefile.in index 6e3c8647363..4bdaac7accb 100644 --- a/bin/tests/Makefile.in +++ b/bin/tests/Makefile.in @@ -32,7 +32,7 @@ ISCCFGDEPLIBS = ../../lib/isccfg/libisccfg.@A@ LIBS = @LIBS@ -SUBDIR = atomic db dst mem names rbt resolver \ +SUBDIR = atomic db dst names rbt resolver \ tasks timers system @PKCS11_TOOLS@ optional TESTDIRS = system diff --git a/bin/tests/mem/Makefile.in b/bin/tests/mem/Makefile.in deleted file mode 100644 index cd83865005f..00000000000 --- a/bin/tests/mem/Makefile.in +++ /dev/null @@ -1,47 +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 = ${TEST_INCLUDES} ${ISC_INCLUDES} - -CDEFINES = -CWARNINGS = - -ISCLIBS = ../../../lib/isc/libisc.@A@ @ISC_OPENSSL_LIBS@ -TAPILIBS = ../../../lib/tests/libt_api.@A@ - -ISCDEPLIBS = ../../../lib/isc/libisc.@A@ -TAPIDEPLIBS = ../../../lib/tests/libt_api.@A@ - -DEPLIBS = ${TAPIDEPLIBS} ${ISCDEPLIBS} - -LIBS = ${TAPILIBS} ${ISCLIBS} @LIBS@ - -TARGETS = t_mem@EXEEXT@ - -SRCS = t_mem.c - -@BIND9_MAKE_RULES@ - -t_mem@EXEEXT@: t_mem.@O@ ${DEPLIBS} - ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ t_mem.@O@ ${LIBS} - -test: t_mem@EXEEXT@ - -@./t_mem@EXEEXT@ -b @srcdir@ -q 450 -a - -testhelp: - @./t_mem@EXEEXT@ -h - -clean distclean:: - rm -f ${TARGETS} diff --git a/bin/tests/mem/t_mem.c b/bin/tests/mem/t_mem.c deleted file mode 100644 index a6081aa2878..00000000000 --- a/bin/tests/mem/t_mem.c +++ /dev/null @@ -1,209 +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_mem.c,v 1.15 2009/01/22 23:47:54 tbox Exp $ */ - -#include - -#include - -#include - -/* - * Adapted from the original mempool_test.c program. - */ -isc_mem_t *mctx; - -#define MP1_FREEMAX 10 -#define MP1_FILLCNT 10 -#define MP1_MAXALLOC 30 - -#define MP2_FREEMAX 25 -#define MP2_FILLCNT 25 - -static int -memtest(void) { - int nfails; - void *items1[50]; - void *items2[50]; - void *tmp; - isc_mempool_t *mp1, *mp2; - isc_result_t isc_result; - unsigned int i, j; - int rval; - - - nfails = 0; - mctx = NULL; - isc_result = isc_mem_create(0, 0, &mctx); - if (isc_result != ISC_R_SUCCESS) { - t_info("isc_mem_create failed %s\n", - isc_result_totext(isc_result)); - ++nfails; - return(nfails); - } - - mp1 = NULL; - isc_result = isc_mempool_create(mctx, 24, &mp1); - if (isc_result != ISC_R_SUCCESS) { - t_info("isc_mempool_create failed %s\n", - isc_result_totext(isc_result)); - ++nfails; - return(nfails); - } - - mp2 = NULL; - isc_result = isc_mempool_create(mctx, 31, &mp2); - if (isc_result != ISC_R_SUCCESS) { - t_info("isc_mempool_create failed %s\n", - isc_result_totext(isc_result)); - ++nfails; - return(nfails); - } - - if (T_debug) - isc_mem_stats(mctx, stderr); - - t_info("setting freemax to %d\n", MP1_FREEMAX); - isc_mempool_setfreemax(mp1, MP1_FREEMAX); - t_info("setting fillcount to %d\n", MP1_FILLCNT); - isc_mempool_setfillcount(mp1, MP1_FILLCNT); - t_info("setting maxalloc to %d\n", MP1_MAXALLOC); - isc_mempool_setmaxalloc(mp1, MP1_MAXALLOC); - - /* - * Allocate MP1_MAXALLOC items from the pool. This is our max. - */ - for (i = 0; i < MP1_MAXALLOC; i++) { - items1[i] = isc_mempool_get(mp1); - if (items1[i] == NULL) { - t_info("isc_mempool_get unexpectedly failed\n"); - ++nfails; - } - } - - /* - * Try to allocate one more. This should fail. - */ - tmp = isc_mempool_get(mp1); - if (tmp != NULL) { - t_info("isc_mempool_get unexpectedly succeeded\n"); - ++nfails; - } - - /* - * Free the first 11 items. Verify that there are 10 free items on - * the free list (which is our max). - */ - - for (i = 0; i < 11; i++) { - isc_mempool_put(mp1, items1[i]); - items1[i] = NULL; - } - - rval = isc_mempool_getfreecount(mp1); - if (rval != 10) { - t_info("isc_mempool_getfreecount returned %d, expected %d\n", - rval, MP1_FREEMAX); - ++nfails; - } - - rval = isc_mempool_getallocated(mp1); - if (rval != 19) { - t_info("isc_mempool_getallocated returned %d, expected %d\n", - rval, MP1_MAXALLOC - 11); - ++nfails; - } - - if (T_debug) - isc_mem_stats(mctx, stderr); - - /* - * Now, beat up on mp2 for a while. Allocate 50 items, then free - * them, then allocate 50 more, etc. - */ - - t_info("setting freemax to %d\n", MP2_FREEMAX); - isc_mempool_setfreemax(mp2, 25); - t_info("setting fillcount to %d\n", MP2_FILLCNT); - isc_mempool_setfillcount(mp2, 25); - - t_info("exercising the memory pool\n"); - for (j = 0; j < 500000; j++) { - for (i = 0; i < 50; i++) { - items2[i] = isc_mempool_get(mp2); - if (items2[i] == NULL) { - t_info("items2[%d] is unexpectedly null\n", i); - ++nfails; - } - } - for (i = 0; i < 50; i++) { - isc_mempool_put(mp2, items2[i]); - items2[i] = NULL; - } - if (j % 50000 == 0) - t_info("...\n"); - } - - /* - * Free all the other items and blow away this pool. - */ - for (i = 11; i < MP1_MAXALLOC; i++) { - isc_mempool_put(mp1, items1[i]); - items1[i] = NULL; - } - - isc_mempool_destroy(&mp1); - - if (T_debug) - isc_mem_stats(mctx, stderr); - - isc_mempool_destroy(&mp2); - - if (T_debug) - isc_mem_stats(mctx, stderr); - - isc_mem_destroy(&mctx); - - return(nfails); -} - -static const char *a1 = - "the memory module supports the creation of memory contexts " - "and the management of memory pools."; -static void -t1(void) { - int rval; - int result; - - t_assert("mem", 1, T_REQUIRED, "%s", a1); - - rval = memtest(); - - if (rval == 0) - result = T_PASS; - else - result = T_FAIL; - t_result(result); -} - -testspec_t T_testlist[] = { - { (PFV) t1, "basic memory subsystem" }, - { (PFV) 0, NULL } -}; - -#ifdef WIN32 -int -main(int argc, char **argv) { - t_settests(T_testlist); - return (t_main(argc, argv)); -} -#endif diff --git a/bin/tests/mem/win32/t_mem.vcxproj.filters.in b/bin/tests/mem/win32/t_mem.vcxproj.filters.in deleted file mode 100644 index fc1bf6f77d3..00000000000 --- a/bin/tests/mem/win32/t_mem.vcxproj.filters.in +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/bin/tests/mem/win32/t_mem.vcxproj.in b/bin/tests/mem/win32/t_mem.vcxproj.in deleted file mode 100644 index c4815f12289..00000000000 --- a/bin/tests/mem/win32/t_mem.vcxproj.in +++ /dev/null @@ -1,110 +0,0 @@ - - - - - Debug - @PLATFORM@ - - - Release - @PLATFORM@ - - - - {627F32A9-267F-41CA-827C-1FD04DE20A56} - Win32Proj - t_mem - - - - Application - true - MultiByte - - - Application - false - true - MultiByte - - - - - - - - - - - - - true - ..\..\..\..\Build\$(Configuration)\ - .\$(Configuration)\ - - - false - ..\..\..\..\Build\$(Configuration)\ - .\$(Configuration)\ - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - .\$(Configuration)\$(TargetName).pch - .\$(Configuration)\ - .\$(Configuration)\ - $(OutDir)$(TargetName).pdb - true - .\;..\..\..\..\;@LIBXML2_INC@..\..\..\..\lib\isc\win32;..\..\..\..\lib\isc\win32\include;..\..\..\..\lib\isc\include;..\..\..\..\lib\tests\include;%(AdditionalIncludeDirectories) - CompileAsC - - - Console - true - ..\..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt) - ..\..\..\..\lib\isc\win32\$(Configuration);..\..\..\..\lib\tests\win32\$(Configuration);%(AdditionalLibraryDirectories) - @LIBXML2_LIB@libisc.lib;libtests.lib;ws2_32.lib;%(AdditionalDependencies) - - - - - Level3 - - - MaxSpeed - true - @INTRINSIC@ - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - OnlyExplicitInline - false - true - .\$(Configuration)\$(TargetName).pch - .\$(Configuration)\ - .\$(Configuration)\ - $(OutDir)$(TargetName).pdb - .\;..\..\..\..\;@LIBXML2_INC@..\..\..\..\lib\isc\win32;..\..\..\..\lib\isc\win32\include;..\..\..\..\lib\isc\include;..\..\..\..\lib\tests\include;%(AdditionalIncludeDirectories) - CompileAsC - - - Console - false - true - true - ..\..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt) - Default - ..\..\..\..\lib\isc\win32\$(Configuration);..\..\..\..\lib\tests\win32\$(Configuration);%(AdditionalLibraryDirectories) - @LIBXML2_LIB@libisc.lib;libtests.lib;ws2_32.lib;%(AdditionalDependencies) - - - - - - - - - diff --git a/bin/tests/mem/win32/t_mem.vcxproj.user b/bin/tests/mem/win32/t_mem.vcxproj.user deleted file mode 100644 index 695b5c78b91..00000000000 --- a/bin/tests/mem/win32/t_mem.vcxproj.user +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/configure b/configure index b3570c155ec..69251d7266e 100755 --- a/configure +++ b/configure @@ -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/atomic/Makefile bin/tests/db/Makefile bin/tests/dst/Makefile bin/tests/dst/Kdh.+002+18602.key bin/tests/dst/Kdh.+002+18602.private bin/tests/dst/Kdh.+002+48957.key bin/tests/dst/Kdh.+002+48957.private bin/tests/dst/Ktest.+001+00002.key bin/tests/dst/Ktest.+001+54622.key bin/tests/dst/Ktest.+001+54622.private bin/tests/dst/Ktest.+003+23616.key bin/tests/dst/Ktest.+003+23616.private bin/tests/dst/Ktest.+003+49667.key bin/tests/dst/dst_2_data bin/tests/dst/t2_data_1 bin/tests/dst/t2_data_2 bin/tests/dst/t2_dsasig bin/tests/dst/t2_rsasig bin/tests/headerdep_test.sh bin/tests/mem/Makefile bin/tests/names/Makefile bin/tests/optional/Makefile bin/tests/pkcs11/Makefile bin/tests/pkcs11/benchmarks/Makefile bin/tests/rbt/Makefile bin/tests/resolver/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/tasks/Makefile bin/tests/timers/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/atomic/Makefile bin/tests/db/Makefile bin/tests/dst/Makefile bin/tests/dst/Kdh.+002+18602.key bin/tests/dst/Kdh.+002+18602.private bin/tests/dst/Kdh.+002+48957.key bin/tests/dst/Kdh.+002+48957.private bin/tests/dst/Ktest.+001+00002.key bin/tests/dst/Ktest.+001+54622.key bin/tests/dst/Ktest.+001+54622.private bin/tests/dst/Ktest.+003+23616.key bin/tests/dst/Ktest.+003+23616.private bin/tests/dst/Ktest.+003+49667.key bin/tests/dst/dst_2_data bin/tests/dst/t2_data_1 bin/tests/dst/t2_data_2 bin/tests/dst/t2_dsasig bin/tests/dst/t2_rsasig bin/tests/headerdep_test.sh bin/tests/names/Makefile bin/tests/optional/Makefile bin/tests/pkcs11/Makefile bin/tests/pkcs11/benchmarks/Makefile bin/tests/rbt/Makefile bin/tests/resolver/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/tasks/Makefile bin/tests/timers/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" # @@ -25215,7 +25215,6 @@ do "bin/tests/dst/t2_dsasig") CONFIG_FILES="$CONFIG_FILES bin/tests/dst/t2_dsasig" ;; "bin/tests/dst/t2_rsasig") CONFIG_FILES="$CONFIG_FILES bin/tests/dst/t2_rsasig" ;; "bin/tests/headerdep_test.sh") CONFIG_FILES="$CONFIG_FILES bin/tests/headerdep_test.sh" ;; - "bin/tests/mem/Makefile") CONFIG_FILES="$CONFIG_FILES bin/tests/mem/Makefile" ;; "bin/tests/names/Makefile") CONFIG_FILES="$CONFIG_FILES bin/tests/names/Makefile" ;; "bin/tests/optional/Makefile") CONFIG_FILES="$CONFIG_FILES bin/tests/optional/Makefile" ;; "bin/tests/pkcs11/Makefile") CONFIG_FILES="$CONFIG_FILES bin/tests/pkcs11/Makefile" ;; diff --git a/configure.in b/configure.in index d567d4b5304..8ba8f056fbb 100644 --- a/configure.in +++ b/configure.in @@ -5332,7 +5332,6 @@ AC_CONFIG_FILES([ bin/tests/dst/t2_dsasig bin/tests/dst/t2_rsasig bin/tests/headerdep_test.sh - bin/tests/mem/Makefile bin/tests/names/Makefile bin/tests/optional/Makefile bin/tests/pkcs11/Makefile diff --git a/lib/isc/tests/mem_test.c b/lib/isc/tests/mem_test.c index f5515098183..218299ef65a 100644 --- a/lib/isc/tests/mem_test.c +++ b/lib/isc/tests/mem_test.c @@ -38,6 +38,108 @@ default_memfree(void *arg, void *ptr) { free(ptr); } +ATF_TC(isc_mem); +ATF_TC_HEAD(isc_mem, tc) { + atf_tc_set_md_var(tc, "descr", "general memory system tests"); +} + +#define MP1_FREEMAX 10 +#define MP1_FILLCNT 10 +#define MP1_MAXALLOC 30 + +#define MP2_FREEMAX 25 +#define MP2_FILLCNT 25 + +ATF_TC_BODY(isc_mem, tc) { + isc_result_t result; + void *items1[50]; + void *items2[50]; + void *tmp; + isc_mem_t *localmctx = NULL; + isc_mempool_t *mp1 = NULL, *mp2 = NULL; + unsigned int i, j; + int rval; + + result = isc_test_begin(NULL, ISC_TRUE); + ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); + + result = isc_mem_create(0, 0, &localmctx); + ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); + + result = isc_mempool_create(localmctx, 24, &mp1); + ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); + + result = isc_mempool_create(localmctx, 31, &mp2); + ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); + + isc_mempool_setfreemax(mp1, MP1_FREEMAX); + isc_mempool_setfillcount(mp1, MP1_FILLCNT); + isc_mempool_setmaxalloc(mp1, MP1_MAXALLOC); + + /* + * Allocate MP1_MAXALLOC items from the pool. This is our max. + */ + for (i = 0; i < MP1_MAXALLOC; i++) { + items1[i] = isc_mempool_get(mp1); + ATF_CHECK(items1[i] != NULL); + } + + /* + * Try to allocate one more. This should fail. + */ + tmp = isc_mempool_get(mp1); + ATF_CHECK_EQ(tmp, NULL); + + /* + * Free the first 11 items. Verify that there are 10 free items on + * the free list (which is our max). + */ + for (i = 0; i < 11; i++) { + isc_mempool_put(mp1, items1[i]); + items1[i] = NULL; + } + + rval = isc_mempool_getfreecount(mp1); + ATF_CHECK_EQ(rval, 10); + + rval = isc_mempool_getallocated(mp1); + ATF_CHECK_EQ(rval, 19); + + /* + * Now, beat up on mp2 for a while. Allocate 50 items, then free + * them, then allocate 50 more, etc. + */ + + isc_mempool_setfreemax(mp2, 25); + isc_mempool_setfillcount(mp2, 25); + + for (j = 0; j < 500000; j++) { + for (i = 0; i < 50; i++) { + items2[i] = isc_mempool_get(mp2); + ATF_CHECK(items2[i] != NULL); + } + for (i = 0; i < 50; i++) { + isc_mempool_put(mp2, items2[i]); + items2[i] = NULL; + } + } + + /* + * Free all the other items and blow away this pool. + */ + for (i = 11; i < MP1_MAXALLOC; i++) { + isc_mempool_put(mp1, items1[i]); + items1[i] = NULL; + } + + isc_mempool_destroy(&mp1); + isc_mempool_destroy(&mp2); + + isc_mem_destroy(&localmctx); + + isc_test_end(); +} + ATF_TC(isc_mem_total); ATF_TC_HEAD(isc_mem_total, tc) { atf_tc_set_md_var(tc, "descr", "test TotalUse calculation"); @@ -311,6 +413,7 @@ ATF_TC_BODY(isc_mem_traceflag, tc) { * Main */ ATF_TP_ADD_TCS(tp) { + ATF_TP_ADD_TC(tp, isc_mem); ATF_TP_ADD_TC(tp, isc_mem_total); ATF_TP_ADD_TC(tp, isc_mem_inuse); #if ISC_MEM_TRACKLINES diff --git a/util/copyrights b/util/copyrights index 95feba98a29..314da97c48c 100644 --- a/util/copyrights +++ b/util/copyrights @@ -442,11 +442,6 @@ ./bin/tests/log_test.c C 1999,2000,2001,2004,2007,2011,2014,2015,2016,2018 ./bin/tests/makejournal.c C 2013,2015,2016,2017,2018 ./bin/tests/master_test.c C 1999,2000,2001,2004,2007,2009,2015,2016,2017,2018 -./bin/tests/mem/Makefile.in MAKE 1998,1999,2000,2001,2002,2004,2005,2007,2009,2012,2014,2016,2017,2018 -./bin/tests/mem/t_mem.c C 1999,2000,2001,2004,2007,2009,2013,2016,2018 -./bin/tests/mem/win32/t_mem.vcxproj.filters.in X 2013,2015,2018 -./bin/tests/mem/win32/t_mem.vcxproj.in X 2013,2015,2016,2017,2018 -./bin/tests/mem/win32/t_mem.vcxproj.user X 2013,2018 ./bin/tests/mempool_test.c C 1999,2000,2001,2004,2007,2016,2018 ./bin/tests/name_test.c C 1998,1999,2000,2001,2003,2004,2005,2007,2009,2015,2016,2017,2018 ./bin/tests/named.conf CONF-C 1999,2000,2001,2004,2007,2011,2015,2016,2018 diff --git a/win32utils/Configure b/win32utils/Configure index 05b6520397c..7fdff945ea7 100644 --- a/win32utils/Configure +++ b/win32utils/Configure @@ -122,8 +122,6 @@ my @projectlist = ("..\\bin\\check\\win32\\checkconf.vcxproj", "..\\bin\\tests\\db\\win32\\t_db.vcxproj.filters", "..\\bin\\tests\\dst\\win32\\t_dst.vcxproj", "..\\bin\\tests\\dst\\win32\\t_dst.vcxproj.filters", - "..\\bin\\tests\\mem\\win32\\t_mem.vcxproj", - "..\\bin\\tests\\mem\\win32\\t_mem.vcxproj.filters", "..\\bin\\tests\\names\\win32\\t_names.vcxproj", "..\\bin\\tests\\names\\win32\\t_names.vcxproj.filters", "..\\bin\\tests\\rbt\\win32\\t_rbt.vcxproj", diff --git a/win32utils/bind9.sln.in b/win32utils/bind9.sln.in index 63bd2872bd4..b79a9ad3f85 100644 --- a/win32utils/bind9.sln.in +++ b/win32utils/bind9.sln.in @@ -524,12 +524,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "t_dst", "..\bin\tests\dst\w {B4AC7F81-E3DC-43E9-B339-4FA5149FA8F7} = {B4AC7F81-E3DC-43E9-B339-4FA5149FA8F7} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "t_mem", "..\bin\tests\mem\win32\t_mem.vcxproj", "{627F32A9-267F-41CA-827C-1FD04DE20A56}" - ProjectSection(ProjectDependencies) = postProject - {3840E563-D180-4761-AA9C-E6155F02EAFF} = {3840E563-D180-4761-AA9C-E6155F02EAFF} - {F6F08940-7597-4FEE-9CE0-E09A009C45A3} = {F6F08940-7597-4FEE-9CE0-E09A009C45A3} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "t_names", "..\bin\tests\names\win32\t_names.vcxproj", "{124DC0D3-3096-41D2-B490-CE85E890FF33}" ProjectSection(ProjectDependencies) = postProject {A3F71D12-F38A-4C77-8D87-8E8854CA74A1} = {A3F71D12-F38A-4C77-8D87-8E8854CA74A1}