Subject: [bug#43823] [PATCH 3/3] gnu: knot: Fix test failure on aarch64-linux.

From: Simon South <[email-masked]>
Date: Mon, 5 Oct 2020 20:27:48 -0400

* gnu/packages/dns.scm (knot)[source]: Apply patch from upstream that
helps ensure the "test_net_shortwrite" test suite can complete
regardless of platform or configuration.
* gnu/packages/patches/knot-test_net_shortwrite-ensure-connection.patch:
New file.
---
 gnu/packages/dns.scm                          |  2 ++
 ...est_net_shortwrite-ensure-connection.patch | 21 +++++++++++++++++++
 2 files changed, 23 insertions(+)
 create mode 100644 gnu/packages/patches/knot-test_net_shortwrite-ensure-connection.patch

diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
index 0eab03fbbd..40739b2dfa 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -815,6 +815,8 @@ Extensions} (DNSSEC).")
        (file-name (git-file-name name version))
        (sha256
         (base32 "0fkvip7n5ihjfwnnivdc3jf44y8p85ifglvq7b0anxvj9cg1m78f"))
+       (patches
+        (search-patches "knot-test_net_shortwrite-ensure-connection.patch"))
        (modules '((guix build utils)))
        (snippet
         '(begin
diff --git a/gnu/packages/patches/knot-test_net_shortwrite-ensure-connection.patch b/gnu/packages/patches/knot-test_net_shortwrite-ensure-connection.patch
new file mode 100644
index 0000000000..63b949e576
--- /dev/null
+++ b/gnu/packages/patches/knot-test_net_shortwrite-ensure-connection.patch
@@ -0,0 +1,21 @@
+commit 4144d1e9b73ce18d919d980e803e935ba4e7c109
+Author: Simon South <[email-masked]>
+Date:   Tue Sep 29 14:53:30 2020 -0400
+
+    test_net_shortwrite: ensure connection can succeed
+    
+    closes #693
+
+diff --git a/tests/contrib/test_net_shortwrite.c b/tests/contrib/test_net_shortwrite.c
+index 8c8cf92ec..69bab7155 100644
+--- a/tests/contrib/test_net_shortwrite.c
++++ b/tests/contrib/test_net_shortwrite.c
+@@ -88,7 +88,7 @@ int main(int argc, char *argv[])
+ 	int server = net_bound_socket(SOCK_STREAM, &addr, 0);
+ 	ok(server >= 0, "server: bind socket");
+ 
+-	r = listen(server, 0);
++	r = listen(server, 1);
+ 	ok(r == 0, "server: start listening");
+ 
+ 	struct sockaddr *sa = (struct sockaddr *)&addr;
-- 
2.28.0