Subject: Re: bug#35530: NSS-3.43 fails its test suite on armhf-linux

From: Ricardo Wurmus <[email-masked]>
Date: Sat, 04 May 2019 18:45:49 +0200

Ricardo Wurmus <[email-masked]> writes:

> Mark H Weaver <[email-masked]> writes:
>
>> NSS-3.43 fails its test suite on armhf-linux:
>>
>>   https://hydra.gnu.org/build/3484222
>
> I can reproduce this.  Looks like all problems are with the tests in
> ssl_drop_unittest.cc:
>
>   ssl_drop_unittest.cc:182: Failure
>   ssl_drop_unittest.cc:71: Failure
>   ssl_drop_unittest.cc:182: Failure
>   ssl_drop_unittest.cc:71: Failure
>   ssl_drop_unittest.cc:422: Failure
>   ssl_drop_unittest.cc:451: Failure
>   ssl_drop_unittest.cc:380: Failure
>   ssl_drop_unittest.cc:474: Failure
>   ssl_drop_unittest.cc:474: Failure
>   ssl_drop_unittest.cc:71: Failure
>   ssl_drop_unittest.cc:71: Failure
>   ssl_drop_unittest.cc:71: Failure
>   ssl_drop_unittest.cc:95: Failure
>
> It’s a bit difficult to find actual test failures in the logs because it
> mentions “error” and “failed” and the like a lot.  This is a test that
> counts ACKs after dropping parts of the messages / datagrams /
> handshake.  The failing tests seem to consistently come up short on ACKs
> – they are not always zero but usually much lower than they are expected
> to be.

Just disabling the ssl_drop_unittest.cc was not sufficient.  It was only
when I forced the build to take place on one of the Overdrive machines
that the build succeeded.

I only built it with the ssl_drop_unittest.cc disabled:

--8<---------------cut here---------------start------------->8---
diff --git a/gnu/packages/nss.scm b/gnu/packages/nss.scm
index 480f64a046..57d83313eb 100644
--- a/gnu/packages/nss.scm
+++ b/gnu/packages/nss.scm
@@ -116,6 +116,12 @@ in the Mozilla clients.")
                   `((setenv "USE_64" "1")))
                  (_
                   '()))
+             ;; XXX Disable broken tests on armhf
+             ,@(match (%current-system)
+                 ("armhf-linux"
+                  '((substitute* "nss/gtests/ssl_gtest/ssl_gtest.gyp"
+                      (("'ssl_drop_unittest.cc',") ""))))
+                 (_ '()))
              #t))
          (replace 'check
            (lambda _
--8<---------------cut here---------------end--------------->8---

It’s possible that this is not actually necessary.

-- 
Ricardo