From bfcfe53c72f04e825f33269258c5ebbc33b70131 Mon Sep 17 00:00:00 2001 From: Janneke Nieuwenhuizen Date: Tue, 6 Jun 2023 18:33:19 +0200 Subject: [PATCH] gnu: c-ares: Skip failing tests on the Hurd. * gnu/packages/adns.scm (c-ares)[arguments: When building natively on the Hurd, add phases 'skip-tests' and 'filter-hurd-tests'. --- gnu/packages/adns.scm | 68 ++++++++++++++++++++++++++++++++++++++----- 1 file changed, 61 insertions(+), 7 deletions(-) diff --git a/gnu/packages/adns.scm b/gnu/packages/adns.scm index 913d885af4..ead40bce1b 100644 --- a/gnu/packages/adns.scm +++ b/gnu/packages/adns.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2015, 2016, 2018, 2020 Efraim Flashner ;;; Copyright © 2018 Ricardo Wurmus ;;; Copyright © 2019, 2021 Marius Bakke +;;; Copyright © 2023 Janneke Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -20,9 +21,11 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages adns) + #:use-module (guix gexp) #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix utils) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (gnu packages m4) @@ -76,18 +79,69 @@ (define-public c-ares "1kxviskwsaa7dcgscvssxa8ps88pdq7kq4z93gxvz7sam2l54z8s")))) (build-system gnu-build-system) (arguments - '(#:phases - (modify-phases %standard-phases - (add-before 'check 'filter-live-tests - (lambda _ - ;; Filter tests that require internet access. - (setenv "GTEST_FILTER" "-*.Live*:*.FamilyV4*")))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'filter-live-tests + (lambda _ + ;; Filter tests that require internet access. + (setenv "GTEST_FILTER" "-*.Live*:*.FamilyV4*"))) + #$@(if (system-hurd?) + #~((add-after 'unpack 'skip-tests + (lambda _ + (substitute* "test/ares-test-main.cc" + (("(^| )main *\\(.*" all) + (string-append all " exit (77);\n"))))) + (add-after 'filter-live-tests 'filter-hurd-tests + (lambda _ + (setenv "GTEST_FILTER" + (string-append + (getenv "GTEST_FILTER") + ":.*Basic/2" + ":.*CancelImmediate/2" + ":.*CancelImmediateGetHostByAddr/2" + ":.*CancelLater/1" + ":.*FamilyUnspecified/2" + ":.*FamilyV6/2" + ":.*GetAddrInfoParallelLookups/1" + ":.*GetHostByAddrDestroy/2" + ":.*GetHostByNameCNAMENoData/2" + ":.*GetHostByNameDestroyAbsolute/2" + ":.*GetHostByNameDestroyRelative/2" + ":.*GetHostByNameParallelLookups/1" + ":.*HostAlias/2" + ":.*HostAliasMissing/2" + ":.*HostAliasMissingFile/2" + ":.*NotImplResponse/2" + ":.*RefusedResponse/2" + ":.*Resend/1" + ":.*RetryWithoutEDNS/2" + ":.*SearchDomains/2" + ":.*SearchDomainsBare/2" + ":.*SearchDomainsServFailOnAAAA/2" + ":.*SearchDomainsWithResentReply/1" + ":.*SearchHighNdots/2" + ":.*SearchNoDataThenFail/2" + ":.*SearchNoDataThenNoDataBare/2" + ":.*SearchNoDataThenSuccess/2" + ":.*ServFailResponse/2" + ":.*SimpleQuery/2" + ":.*SockCallback/2" + ":.*SockConfigureCallback/2" + ":.*SortListV4/2" + ":.*SortListV6/2" + ":.*ThirdServer/2" + ":.*TruncationRetry/1" + ":.*UnspecifiedFamilyCname6A4/2" + ":.*UnspecifiedFamilyV4/2" + ":.*UnspecifiedFamilyV6/2"))))) + #~())))) (native-inputs (list pkg-config)) (home-page "https://c-ares.haxx.se/") (synopsis "C library for asynchronous DNS requests") (description - "C-ares is a C library that performs DNS requests and name resolution + "C-ares is a C library that performs DNS requests and name resolution asynchronously. It is intended for applications which need to perform DNS queries without blocking, or need to perform multiple DNS queries in parallel. The primary examples of such applications are servers which communicate with