GNU bug report logs -
#75716
[PATCH 1/2] gnu: go-1.23: Skip time variant tests
Previous Next
Reported by: Ryan Sundberg <ryan <at> arctype.co>
Date: Tue, 21 Jan 2025 00:08:01 UTC
Severity: normal
Tags: patch
Done: Sharlatan Hellseher <sharlatanus <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#75716: [PATCH 1/2] gnu: go-1.23: Skip time variant tests
which was filed against the guix-patches package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 75716 <at> debbugs.gnu.org.
--
75716: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=75716
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
[Message part 3 (text/plain, inline)]
Closing as it's fixed on go-team branch for all Go compilers starting
from go-1.17.
--
Thanks,
Oleg
[signature.asc (application/pgp-signature, inline)]
[Message part 5 (message/rfc822, inline)]
Patch out select tests under src/crypto/tls which depend on the current
wall clock time for TLS certificate testing.
Specifically, the following failing test cases are skipped:
```
Change-Id: I2f1519bc1c951e15db3a1c9320148206674c7bdf
--- FAIL: TestVerifyConnection (0.00s)
--- FAIL: TestVerifyConnection/TLSv12 (0.00s)
handshake_client_test.go:1759: RequireAndVerifyClientCert-FullHandshake: handshake failed: server: remote error: tls: bad certificate
client: tls: failed to verify certificate: x509: certificate has expired or is not yet valid: current time 2025-01-20T20:07:09Z is after 2025-01-01T00:00:00Z
--- FAIL: TestVerifyConnection/TLSv13 (0.00s)
handshake_client_test.go:1759: RequireAndVerifyClientCert-FullHandshake: handshake failed: server: remote error: tls: bad certificate
client: tls: failed to verify certificate: x509: certificate has expired or is not yet valid: current time 2025-01-20T20:07:09Z is after 2025-01-01T00:00:00Z
--- FAIL: TestResumptionKeepsOCSPAndSCT (0.00s)
--- FAIL: TestResumptionKeepsOCSPAndSCT/TLSv12 (0.00s)
handshake_client_test.go:2550: handshake failed: server: remote error: tls: bad certificate
client: tls: failed to verify certificate: x509: certificate has expired or is not yet valid: current time 2025-01-20T20:07:09Z is after 2025-01-01T00:00:00Z
--- FAIL: TestResumptionKeepsOCSPAndSCT/TLSv13 (0.00s)
handshake_client_test.go:2550: handshake failed: server: remote error: tls: bad certificate
client: tls: failed to verify certificate: x509: certificate has expired or is not yet valid: current time 2025-01-20T20:07:09Z is after 2025-01-01T00:00:00Z
--- FAIL: TestCrossVersionResume (0.01s)
--- FAIL: TestCrossVersionResume/TLSv12 (0.00s)
handshake_server_test.go:526: handshake did not resume at the same version
--- FAIL: TestCrossVersionResume/TLSv13 (0.00s)
handshake_server_test.go:526: handshake did not resume at the same version
FAIL
FAIL crypto/tls 0.423s
```
* gnu/packages/golang (go-1.23): Include patchset
* gnu/packages/patches/go-skip-tls-tests.patch: New patch file
---
gnu/packages/golang.scm | 16 +++++-
gnu/packages/patches/go-skip-tls-tests.patch | 56 ++++++++++++++++++++
2 files changed, 71 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/patches/go-skip-tls-tests.patch
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index b1ea9e5a28..d39e50e982 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -1001,7 +1001,21 @@ (define-public go-1.23
(commit (string-append "go" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0v8j43yqkhp5i5649nbxsq7lc9bjjn39gqqvlnz0d9c47qz9h7y7"))))))
+ (base32 "0v8j43yqkhp5i5649nbxsq7lc9bjjn39gqqvlnz0d9c47qz9h7y7"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments go-1.22)
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (add-after 'unpack 'apply-skip-test-patch
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Having the patch in the 'patches' field of <origin> breaks
+ ;; the 'TestServeContent' test due to the fact that timestamps
+ ;; are reset. Thus, apply it from here.
+ (invoke "patch" "-p1" "--force" "-i"
+ (assoc-ref inputs "go-skip-tls-tests.patch"))))))))
+ (native-inputs
+ `(("go-skip-tls-tests.patch" ,(search-patch "go-skip-tls-tests.patch"))
+ ,@(package-native-inputs go-1.22)))))
;;
;; Default Golang version used in guix/build-system/go.scm to build packages.
diff --git a/gnu/packages/patches/go-skip-tls-tests.patch b/gnu/packages/patches/go-skip-tls-tests.patch
new file mode 100644
index 0000000000..92e0a31a86
--- /dev/null
+++ b/gnu/packages/patches/go-skip-tls-tests.patch
@@ -0,0 +1,56 @@
+From 0b0cb6aa447cef0e4f631e43db05195d0d25329a Mon Sep 17 00:00:00 2001
+From: Ryan Sundberg <ryan <at> arctype.co>
+Date: Mon, 20 Jan 2025 15:17:39 -0800
+Subject: [PATCH] crypto/tls: Disable test cases which are time variant
+
+These test cases depend on the current date relative to the TLS
+certificates under test. Skip them for repeatability.
+---
+ src/crypto/tls/handshake_client_test.go | 8 ++++----
+ src/crypto/tls/handshake_server_test.go | 4 ++--
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/src/crypto/tls/handshake_client_test.go b/src/crypto/tls/handshake_client_test.go
+index 3c87916bcf..fa2a494a6b 100644
+--- a/src/crypto/tls/handshake_client_test.go
++++ b/src/crypto/tls/handshake_client_test.go
+@@ -1561,8 +1561,8 @@ func TestServerSelectingUnconfiguredCipherSuite(t *testing.T) {
+ }
+
+ func TestVerifyConnection(t *testing.T) {
+- t.Run("TLSv12", func(t *testing.T) { testVerifyConnection(t, VersionTLS12) })
+- t.Run("TLSv13", func(t *testing.T) { testVerifyConnection(t, VersionTLS13) })
++ // t.Run("TLSv12", func(t *testing.T) { testVerifyConnection(t, VersionTLS12) })
++ // t.Run("TLSv13", func(t *testing.T) { testVerifyConnection(t, VersionTLS13) })
+ }
+
+ func testVerifyConnection(t *testing.T, version uint16) {
+@@ -2528,8 +2528,8 @@ func TestDowngradeCanary(t *testing.T) {
+ }
+
+ func TestResumptionKeepsOCSPAndSCT(t *testing.T) {
+- t.Run("TLSv12", func(t *testing.T) { testResumptionKeepsOCSPAndSCT(t, VersionTLS12) })
+- t.Run("TLSv13", func(t *testing.T) { testResumptionKeepsOCSPAndSCT(t, VersionTLS13) })
++ //t.Run("TLSv12", func(t *testing.T) { testResumptionKeepsOCSPAndSCT(t, VersionTLS12) })
++ //t.Run("TLSv13", func(t *testing.T) { testResumptionKeepsOCSPAndSCT(t, VersionTLS13) })
+ }
+
+ func testResumptionKeepsOCSPAndSCT(t *testing.T, ver uint16) {
+diff --git a/src/crypto/tls/handshake_server_test.go b/src/crypto/tls/handshake_server_test.go
+index bbfe44bd97..4347c40a6d 100644
+--- a/src/crypto/tls/handshake_server_test.go
++++ b/src/crypto/tls/handshake_server_test.go
+@@ -493,8 +493,8 @@ func testSCTHandshake(t *testing.T, version uint16) {
+ }
+
+ func TestCrossVersionResume(t *testing.T) {
+- t.Run("TLSv12", func(t *testing.T) { testCrossVersionResume(t, VersionTLS12) })
+- t.Run("TLSv13", func(t *testing.T) { testCrossVersionResume(t, VersionTLS13) })
++ //t.Run("TLSv12", func(t *testing.T) { testCrossVersionResume(t, VersionTLS12) })
++ //t.Run("TLSv13", func(t *testing.T) { testCrossVersionResume(t, VersionTLS13) })
+ }
+
+ func testCrossVersionResume(t *testing.T, version uint16) {
+--
+2.41.0
+
base-commit: 91b18baa4274a025d28f06133682a9269217730d
--
2.41.0
This bug report was last modified 175 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.