#!/bin/sh # Copyright (C) The c-ares project and its contributors # SPDX-License-Identifier: MIT set -e -x # Travis on MacOS uses CloudFlare's DNS (1.1.1.1/1.0.0.1) which rejects ANY requests. # Also, LiveSearchTXT is known to fail on Cirrus-CI on some MacOS hosts, we don't get # a truncated UDP response so we never follow up with TCP. # Note res_ninit() and /etc/resolv.conf actually have different configs, bad Travis [ -z "$TEST_FILTER" ] && export TEST_FILTER="--gtest_filter=-*LiveSearchTXT*:*LiveSearchANY*" # No tests for ios as it is a cross-compile if [ "$BUILD_TYPE" = "ios" -o "$BUILD_TYPE" = "ios-cmake" -o "$DIST" = "iOS" ] ; then exit 0 fi # Analyze tests don't need runtime, its static analysis if [ "$BUILD_TYPE" = "analyze" ] ; then exit 0 fi PWD=`pwd` TESTDIR="${PWD}/test" if [ "$BUILD_TYPE" = "autotools" -o "$BUILD_TYPE" = "coverage" ]; then TOOLSBIN="${PWD}/atoolsbld/src/tools/.libs/" TESTSBIN="${PWD}/atoolsbld/test/.libs/" export LD_LIBRARY_PATH=${PWD}/atoolsbld/src/lib/.libs:$LD_LIBRARY_PATH export DYLD_LIBRARY_PATH=${PWD}/atoolsbld/src/lib/.libs:$DYLD_LIBRARY_PATH else TOOLSBIN="${PWD}/cmakebld/bin" TESTSBIN="${PWD}/cmakebld/bin" fi $TEST_WRAP "${TOOLSBIN}/adig" www.google.com $TEST_WRAP "${TOOLSBIN}/ahost" www.google.com cd "${TESTSBIN}" if [ "$TEST_WRAP" != "" ] ; then $TEST_WRAP ./arestest -4 $TEST_FILTER elif [ "$TEST_DEBUGGER" = "gdb" ] ; then gdb --batch --batch-silent --return-child-result -ex "handle SIGPIPE nostop noprint pass" -ex "run" -ex "thread apply all bt" -ex "quit" --args ./arestest -4 $TEST_FILTER elif [ "$TEST_DEBUGGER" = "lldb" ] ; then lldb --batch -o "settings set target.process.extra-startup-command 'process handle SIGPIPE -n true -p true -s false'" -o "process launch --shell-expand-args 0" -k "thread backtrace all" -k "quit 1" -- ./arestest -4 $TEST_FILTER else ./arestest -4 $TEST_FILTER fi ./aresfuzz ${TESTDIR}/fuzzinput/* ./aresfuzzname ${TESTDIR}/fuzznames/* ./dnsdump "${TESTDIR}/fuzzinput/answer_a" "${TESTDIR}/fuzzinput/answer_aaaa" cd "${PWD}"