Commit 5dd25f22 authored by Evan Hunt's avatar Evan Hunt
Browse files

migrate t_resolver to lib/dns/tests/resolver_test

(cherry picked from commit d80825c4)
(cherry picked from commit 30e157f6)
parent 274ee0b4
......@@ -9,7 +9,6 @@ gsstest
t_dst
t_names
t_rbt
t_resolver
conf.sh
dlopen
lwtest
......
......@@ -29,7 +29,7 @@ ISCCFGDEPLIBS = ../../lib/isccfg/libisccfg.@A@
LIBS = @LIBS@
SUBDIR = db dst names rbt resolver tasks system \
SUBDIR = db dst names rbt tasks system \
@PKCS11_TOOLS@ optional
# Test programs that are built by default:
......
# Copyright (C) 2011, 2012, 2014, 2016 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/.
# $Id: Makefile.in,v 1.3 2011/02/03 12:18:10 tbox Exp $
srcdir = @srcdir@
VPATH = @srcdir@
top_srcdir = @top_srcdir@
@BIND9_MAKE_INCLUDES@
CINCLUDES = ${TEST_INCLUDES} ${DNS_INCLUDES} \
${ISC_INCLUDES} @DST_OPENSSL_INC@
CDEFINES = @CRYPTO@
CWARNINGS =
# Note that we do not want to use libtool for libt_api
DNSLIBS = ../../../lib/dns/libdns.@A@ @DNS_CRYPTO_LIBS@
ISCLIBS = ../../../lib/isc/libisc.@A@
DNSDEPLIBS = ../../../lib/dns/libdns.@A@
ISCDEPLIBS = ../../../lib/isc/libisc.@A@
DEPLIBS = ${DNSDEPLIBS} ${ISCDEPLIBS}
LIBS = ${DNSLIBS} ${ISCLIBS} @LIBS@
TLIB = ../../../lib/tests/libt_api.@A@
TARGETS = t_resolver@EXEEXT@
SRCS = t_resolver.c
@BIND9_MAKE_RULES@
t_resolver@EXEEXT@: t_resolver.@O@ ${DEPLIBS} ${TLIB}
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ t_resolver.@O@ ${TLIB} ${LIBS}
test: t_resolver@EXEEXT@
-@./t_resolver@EXEEXT@ -c @top_srcdir@/t_config -b @srcdir@ -a
testhelp:
@./t_resolver@EXEEXT@ -h
clean distclean::
rm -f ${TARGETS}
/*
* Copyright (C) 2011-2014, 2016 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/.
*/
/* $Id: t_resolver.c,v 1.3 2011/02/03 12:18:11 tbox Exp $ */
#include <config.h>
#include <ctype.h>
#include <stdlib.h>
#include <isc/mem.h>
#include <isc/util.h>
#include <isc/string.h>
#include <isc/timer.h>
#include <isc/task.h>
#include <dns/dispatch.h>
#include <dns/resolver.h>
#include <dns/result.h>
#include <dns/view.h>
#include <tests/t_api.h>
char *progname;
#define CHECK(x) RUNTIME_CHECK(ISC_R_SUCCESS == (x))
isc_mem_t *mctx = NULL;
isc_timermgr_t *timer_manager = NULL;
isc_socketmgr_t *socket_manager = NULL;
isc_taskmgr_t *task_manager = NULL;
dns_dispatchmgr_t *dispatch_manager = NULL;
dns_view_t *view = NULL;
dns_dispatch_t *dispatch_v4 = NULL;
static void
setup_create_dispatch_v4(void)
{
isc_sockaddr_t local_address;
isc_sockaddr_any(&local_address);
CHECK(dns_dispatch_getudp(dispatch_manager, socket_manager,
task_manager, &local_address,
4096, 100, 100, 100, 500, 0, 0,
&dispatch_v4));
}
static void
setup(void) {
/* 1 */ CHECK(isc_mem_create(0, 0, &mctx));
/* 2 */ CHECK(isc_timermgr_create(mctx, &timer_manager));
/* 3 */ CHECK(isc_taskmgr_create(mctx, 1, 0, &task_manager));
/* 4 */ CHECK(isc_socketmgr_create(mctx, &socket_manager));
/* 5 */ CHECK(dns_dispatchmgr_create(mctx, NULL, &dispatch_manager));
/* 6 */ CHECK(dns_view_create(mctx, dns_rdataclass_in, "testview", &view));
/* 7 */ setup_create_dispatch_v4();
}
static void
teardown(void) {
/* 7 */ dns_dispatch_detach(&dispatch_v4);
/* 6 */ dns_view_detach(&view);
/* 5 */ dns_dispatchmgr_destroy(&dispatch_manager);
/* 4 */ isc_socketmgr_destroy(&socket_manager);
/* 3 */ isc_taskmgr_destroy(&task_manager);
/* 2 */ isc_timermgr_destroy(&timer_manager);
/* 1 */ isc_mem_destroy(&mctx);
}
static isc_result_t
make_resolver(dns_resolver_t **resolverp) {
isc_result_t result;
result = dns_resolver_create(view,
task_manager, 1, 1,
socket_manager,
timer_manager,
0, /* unsigned int options, */
dispatch_manager,
dispatch_v4,
NULL, /* dns_dispatch_t *dispatchv6, */
resolverp);
return (result);
}
static void
destroy_resolver(dns_resolver_t **resolverp) {
dns_resolver_shutdown(*resolverp);
dns_resolver_detach(resolverp);
}
static void
test_dns_resolver_create(void) {
dns_resolver_t *resolver = NULL;
t_assert("test_dns_resolver_create", 1, T_REQUIRED, "%s",
"a resolver can be created successfully");
setup();
CHECK(make_resolver(&resolver));
destroy_resolver(&resolver);
teardown();
t_result(T_PASS);
}
static void
test_dns_resolver_gettimeout(void) {
dns_resolver_t *resolver = NULL;
int test_result;
unsigned int timeout;
t_assert("test_dns_resolver_gettimeout", 1, T_REQUIRED, "%s",
"The default timeout is returned from _gettimeout()");
setup();
CHECK(make_resolver(&resolver));
timeout = dns_resolver_gettimeout(resolver);
t_info("The default timeout is %d second%s\n", timeout, (timeout == 1 ? "" : "s"));
test_result = (timeout > 0) ? T_PASS : T_FAIL;
destroy_resolver(&resolver);
teardown();
t_result(test_result);
}
static void
test_dns_resolver_settimeout(void) {
dns_resolver_t *resolver = NULL;
int test_result;
unsigned int default_timeout, timeout;
t_assert("test_dns_resolver_settimeout", 1, T_REQUIRED, "%s",
"_settimeout() can change the timeout to a non-default");
setup();
CHECK(make_resolver(&resolver));
default_timeout = dns_resolver_gettimeout(resolver);
t_info("The default timeout is %d second%s\n", default_timeout,
(default_timeout == 1 ? "" : "s"));
dns_resolver_settimeout(resolver, default_timeout + 1);
timeout = dns_resolver_gettimeout(resolver);
t_info("The new timeout is %d second%s\n", timeout,
(timeout == 1 ? "" : "s"));
test_result = (timeout == default_timeout + 1) ? T_PASS : T_FAIL;
destroy_resolver(&resolver);
teardown();
t_result(test_result);
}
static void
test_dns_resolver_settimeout_to_default(void) {
dns_resolver_t *resolver = NULL;
int test_result;
unsigned int default_timeout, timeout;
t_assert("test_dns_resolver_settimeout_to_default", 1, T_REQUIRED, "%s",
"_settimeout() can change the timeout back to a default value"
" by specifying 0 as the timeout.");
setup();
CHECK(make_resolver(&resolver));
default_timeout = dns_resolver_gettimeout(resolver);
t_info("The default timeout is %d second%s\n", default_timeout,
(default_timeout == 1 ? "" : "s"));
dns_resolver_settimeout(resolver, default_timeout - 1);
timeout = dns_resolver_gettimeout(resolver);
t_info("The new timeout is %d second%s\n", timeout,
(timeout == 1 ? "" : "s"));
dns_resolver_settimeout(resolver, 0);
timeout = dns_resolver_gettimeout(resolver);
test_result = (timeout == default_timeout) ? T_PASS : T_FAIL;
destroy_resolver(&resolver);
teardown();
t_result(test_result);
}
static void
test_dns_resolver_settimeout_over_maximum(void) {
dns_resolver_t *resolver = NULL;
int test_result;
unsigned int timeout;
t_assert("test_dns_resolver_settimeout_over_maximum", 1, T_REQUIRED, "%s",
"_settimeout() cannot set the value larger than the maximum.");
setup();
CHECK(make_resolver(&resolver));
dns_resolver_settimeout(resolver, 4000000);
timeout = dns_resolver_gettimeout(resolver);
t_info("The new timeout is %d second%s\n", timeout,
(timeout == 1 ? "" : "s"));
test_result = (timeout < 4000000 && timeout > 0) ? T_PASS : T_FAIL;
destroy_resolver(&resolver);
teardown();
t_result(test_result);
}
testspec_t T_testlist[] = {
{ (PFV) test_dns_resolver_create, "dns_resolver_create" },
{ (PFV) test_dns_resolver_settimeout, "dns_resolver_settimeout" },
{ (PFV) test_dns_resolver_gettimeout, "dns_resolver_gettimeout" },
{ (PFV) test_dns_resolver_settimeout_to_default, "test_dns_resolver_settimeout_to_default" },
{ (PFV) test_dns_resolver_settimeout_over_maximum, "test_dns_resolver_settimeout_over_maximum" },
{ (PFV) 0, NULL }
};
#ifdef WIN32
int
main(int argc, char **argv) {
t_settests(T_testlist);
return (t_main(argc, argv));
}
#endif
# Microsoft Developer Studio Project File - Name="t_resolver" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "@PLATFORM@ (x86) Console Application" 0x0103
CFG=t_resolver - @PLATFORM@ Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "t_resolver.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "t_resolver.mak" CFG="t_resolver - @PLATFORM@ Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "t_resolver - @PLATFORM@ Release" (based on "@PLATFORM@ (x86) Console Application")
!MESSAGE "t_resolver - @PLATFORM@ Debug" (based on "@PLATFORM@ (x86) Console Application")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "t_resolver - @PLATFORM@ Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 @COPTX@ @COPTI@ /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" @COPTY@ /FD /c
# ADD CPP /nologo /MD /W3 @COPTX@ @COPTI@ /O2 /I "./" /I "../../../../" @LIBXML2_INC@ @OPENSSL_INC@ @GEOIP_INC@ /I "../../../../lib/isc/win32" /I "../../../../lib/isc/win32/include" /I "../../../../lib/isc/include" /I "../../../../lib/dns/win32/include" /I "../../../../lib/dns/include" /I "../../../../lib/tests/include" /D "WIN32" /D "NDEBUG" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" @COPTY@ /FD /c
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console @MACHINE@
# ADD LINK32 @LIBXML2_LIB@ user32.lib advapi32.lib kernel32.lib ws2_32.lib ../../../../lib/isc/win32/Release/libisc.lib ../../../../lib/dns/win32/Release/libdns.lib ../../../../lib/tests/win32/Release/libtests.lib /nologo /subsystem:console @MACHINE@ /out:"../../../../Build/Release/t_resolver.exe"
!ELSEIF "$(CFG)" == "t_resolver - @PLATFORM@ Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm @COPTX@ @COPTI@ /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" @COPTY@ /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm @COPTX@ @COPTI@ /ZI /Od /I "./" /I "../../../../" @LIBXML2_INC@ @OPENSSL_INC@ @GEOIP_INC@ /I "../../../../lib/isc/win32" /I "../../../../lib/isc/win32/include" /I "../../../../lib/isc/include" /I "../../../../lib/dns/win32/include" /I "../../../../lib/dns/include" /I "../../../../lib/tests/include" /I "../../../../lib/bind9/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "i386" /FR /FD /GZ /c
# SUBTRACT CPP /X @COPTY@
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug @MACHINE@ /pdbtype:sept
# ADD LINK32 @LIBXML2_LIB@ user32.lib advapi32.lib kernel32.lib ws2_32.lib ../../../../lib/isc/win32/Debug/libisc.lib ../../../../lib/dns/win32/Debug/libdns.lib ../../../../lib/tests/win32/Debug/libtests.lib /nologo /subsystem:console /map /debug @MACHINE@ /out:"../../../../Build/Debug/t_resolver.exe" /pdbtype:sept
!ENDIF
# Begin Target
# Name "t_resolver - @PLATFORM@ Release"
# Name "t_resolver - @PLATFORM@ Debug"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE=..\t_resolver.c
# End Source File
# End Group
# End Target
# End Project
Microsoft Developer Studio Workspace File, Format Version 6.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
###############################################################################
Project: "t_resolver"=".\t_resolver.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################
# Microsoft Developer Studio Generated NMAKE File, Based on t_resolver.dsp
!IF "$(CFG)" == ""
CFG=t_resolver - @PLATFORM@ Debug
!MESSAGE No configuration specified. Defaulting to t_resolver - @PLATFORM@ Debug.
!ENDIF
!IF "$(CFG)" != "t_resolver - @PLATFORM@ Release" && "$(CFG)" != "t_resolver - @PLATFORM@ Debug"
!MESSAGE Invalid configuration "$(CFG)" specified.
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "t_resolver.mak" CFG="t_resolver - @PLATFORM@ Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "t_resolver - @PLATFORM@ Release" (based on "@PLATFORM@ (x86) Console Application")
!MESSAGE "t_resolver - @PLATFORM@ Debug" (based on "@PLATFORM@ (x86) Console Application")
!MESSAGE
!ERROR An invalid configuration is specified.
!ENDIF
!IF "$(OS)" == "Windows_NT"
NULL=
!ELSE
NULL=nul
!ENDIF
CPP=cl.exe
RSC=rc.exe
LIBXML=@LIBXML2_LIB@
!IF "$(CFG)" == "t_resolver - @PLATFORM@ Release"
_VC_MANIFEST_INC=0
_VC_MANIFEST_BASENAME=__VC80
!ELSE
_VC_MANIFEST_INC=1
_VC_MANIFEST_BASENAME=__VC80.Debug
!ENDIF
####################################################
# Specifying name of temporary resource file used only in incremental builds:
!if "$(_VC_MANIFEST_INC)" == "1"
_VC_MANIFEST_AUTO_RES=$(_VC_MANIFEST_BASENAME).auto.res
!else
_VC_MANIFEST_AUTO_RES=
!endif
####################################################
# _VC_MANIFEST_EMBED_EXE - command to embed manifest in EXE:
!if "$(_VC_MANIFEST_INC)" == "1"
#MT_SPECIAL_RETURN=1090650113
#MT_SPECIAL_SWITCH=-notify_resource_update
MT_SPECIAL_RETURN=0
MT_SPECIAL_SWITCH=
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -out:$(_VC_MANIFEST_BASENAME).auto.manifest $(MT_SPECIAL_SWITCH) & \
if "%ERRORLEVEL%" == "$(MT_SPECIAL_RETURN)" \
rc /r $(_VC_MANIFEST_BASENAME).auto.rc & \
link $** /out:$@ $(LFLAGS)
!else
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;1
!endif
####################################################
# _VC_MANIFEST_EMBED_DLL - command to embed manifest in DLL:
!if "$(_VC_MANIFEST_INC)" == "1"
#MT_SPECIAL_RETURN=1090650113
#MT_SPECIAL_SWITCH=-notify_resource_update
MT_SPECIAL_RETURN=0
MT_SPECIAL_SWITCH=
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -out:$(_VC_MANIFEST_BASENAME).auto.manifest $(MT_SPECIAL_SWITCH) & \
if "%ERRORLEVEL%" == "$(MT_SPECIAL_RETURN)" \
rc /r $(_VC_MANIFEST_BASENAME).auto.rc & \
link $** /out:$@ $(LFLAGS)
!else
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;2
!endif
####################################################
# _VC_MANIFEST_CLEAN - command to clean resources files generated temporarily:
!if "$(_VC_MANIFEST_INC)" == "1"
_VC_MANIFEST_CLEAN=-del $(_VC_MANIFEST_BASENAME).auto.res \
$(_VC_MANIFEST_BASENAME).auto.rc \
$(_VC_MANIFEST_BASENAME).auto.manifest
!else
_VC_MANIFEST_CLEAN=
!endif
!IF "$(CFG)" == "t_resolver - @PLATFORM@ Release"
OUTDIR=.\Release
INTDIR=.\Release
!IF "$(RECURSE)" == "0"
ALL : "..\..\..\..\Build\Release\t_resolver.exe"
!ELSE
ALL : "libtests - @PLATFORM@ Release" "libisc - @PLATFORM@ Release" "libdns - @PLATFORM@ Release" "..\..\..\..\Build\Release\t_resolver.exe"
!ENDIF
!IF "$(RECURSE)" == "1"
CLEAN :"libdns - @PLATFORM@ ReleaseCLEAN" "libisc - @PLATFORM@ ReleaseCLEAN" "libtests - @PLATFORM@ ReleaseCLEAN"
!ELSE
CLEAN :
!ENDIF
-@erase "$(INTDIR)\t_resolver.obj"
-@erase "$(INTDIR)\vc60.idb"
-@erase "..\..\..\..\Build\Release\t_resolver.exe"
-@$(_VC_MANIFEST_CLEAN)
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP_PROJ=/nologo /MD /W3 @COPTX@ @COPTI@ /O2 /I "./" /I "../../../../" @LIBXML2_INC@ @OPENSSL_INC@ @GEOIP_INC@ /I "../../../../lib/isc/win32" /I "../../../../lib/isc/win32/include" /I "../../../../lib/isc/include" /I "../../../../lib/dns/win32/include" /I "../../../../lib/dns/include" /I "../../../../lib/tests/include" /D "WIN32" /D "NDEBUG" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\t_resolver.pch" @COPTY@ /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)\t_resolver.bsc"
BSC32_SBRS= \
LINK32=link.exe
LINK32_FLAGS=user32.lib advapi32.lib kernel32.lib ws2_32.lib ../../../../lib/isc/win32/Release/libisc.lib ../../../../lib/dns/win32/Release/libdns.lib ../../../../lib/tests/win32/Release/libtests.lib $(LIBXML) /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\t_resolver.pdb" @MACHINE@ /out:"../../../../Build/Release/t_resolver.exe"
LINK32_OBJS= \
"$(INTDIR)\t_resolver.obj" \
"..\..\..\..\lib\dns\win32\Release\libdns.lib" \
"..\..\..\..\lib\isc\win32\Release\libisc.lib" \
"..\..\..\..\lib\tests\win32\Release\libtests.lib"
"..\..\..\..\Build\Release\t_resolver.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
$(_VC_MANIFEST_EMBED_EXE)
!ELSEIF "$(CFG)" == "t_resolver - @PLATFORM@ Debug"
OUTDIR=.\Debug
INTDIR=.\Debug
# Begin Custom Macros
OutDir=.\Debug
# End Custom Macros
!IF "$(RECURSE)" == "0"
ALL : "..\..\..\..\Build\Debug\t_resolver.exe" "$(OUTDIR)\t_resolver.bsc"
!ELSE
ALL : "libtests - @PLATFORM@ Debug" "libisc - @PLATFORM@ Debug" "libdns - @PLATFORM@ Debug" "..\..\..\..\Build\Debug\t_resolver.exe" "$(OUTDIR)\t_resolver.bsc"
!ENDIF
!IF "$(RECURSE)" == "1"
CLEAN :"libdns - @PLATFORM@ DebugCLEAN" "libisc - @PLATFORM@ DebugCLEAN" "libtests - @PLATFORM@ DebugCLEAN"
!ELSE
CLEAN :
!ENDIF
-@erase "$(INTDIR)\t_resolver.obj"
-@erase "$(INTDIR)\t_resolver.sbr"
-@erase "$(INTDIR)\vc60.idb"
-@erase "$(INTDIR)\vc60.pdb"
-@erase "$(OUTDIR)\t_resolver.bsc"
-@erase "$(OUTDIR)\t_resolver.map"
-@erase "$(OUTDIR)\t_resolver.pdb"
-@erase "..\..\..\..\Build\Debug\t_resolver.exe"
-@erase "..\..\..\..\Build\Debug\t_resolver.ilk"
-@$(_VC_MANIFEST_CLEAN)
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP_PROJ=/nologo /MDd /W3 /Gm @COPTX@ @COPTI@ /ZI /Od /I "./" /I "../../../../" @LIBXML2_INC@ @OPENSSL_INC@ @GEOIP_INC@ /I "../../../../lib/isc/win32" /I "../../../../lib/isc/win32/include" /I "../../../../lib/isc/include" /I "../../../../lib/dns/win32/include" /I "../../../../lib/dns/include" /I "../../../../lib/tests/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "i386" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)\t_resolver.bsc"
BSC32_SBRS= \
"$(INTDIR)\t_resolver.sbr"