migrate t_mem to lib/isc/tests/mem_test
This commit is contained in:
1
bin/tests/.gitignore
vendored
1
bin/tests/.gitignore
vendored
@@ -8,7 +8,6 @@ t_atomic
|
||||
t_db
|
||||
gsstest
|
||||
t_dst
|
||||
t_mem
|
||||
t_names
|
||||
t_rbt
|
||||
t_resolver
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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}
|
||||
@@ -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 <config.h>
|
||||
|
||||
#include <isc/mem.h>
|
||||
|
||||
#include <tests/t_api.h>
|
||||
|
||||
/*
|
||||
* 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
|
||||
@@ -1,22 +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>
|
||||
<ClCompile Include="..\t_mem.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -1,110 +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>{627F32A9-267F-41CA-827C-1FD04DE20A56}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>t_mem</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'" Label="Configuration">
|
||||
<ConfigurationType>Application</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;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeaderOutputFile>.\$(Configuration)\$(TargetName).pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>.\$(Configuration)\</AssemblerListingLocation>
|
||||
<ObjectFileName>.\$(Configuration)\</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
|
||||
<BrowseInformation>true</BrowseInformation>
|
||||
<AdditionalIncludeDirectories>.\;..\..\..\..\;@LIBXML2_INC@..\..\..\..\lib\isc\win32;..\..\..\..\lib\isc\win32\include;..\..\..\..\lib\isc\include;..\..\..\..\lib\tests\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<OutputFile>..\..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\..\..\lib\isc\win32\$(Configuration);..\..\..\..\lib\tests\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>@LIBXML2_LIB@libisc.lib;libtests.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</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;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<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>
|
||||
<AdditionalIncludeDirectories>.\;..\..\..\..\;@LIBXML2_INC@..\..\..\..\lib\isc\win32;..\..\..\..\lib\isc\win32\include;..\..\..\..\lib\isc\include;..\..\..\..\lib\tests\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<OutputFile>..\..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
|
||||
<LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
|
||||
<AdditionalLibraryDirectories>..\..\..\..\lib\isc\win32\$(Configuration);..\..\..\..\lib\tests\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>@LIBXML2_LIB@libisc.lib;libtests.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\t_mem.c" />
|
||||
</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>
|
||||
3
configure
vendored
3
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/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" ;;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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}
|
||||
|
||||
Reference in New Issue
Block a user