Subject: [bug#69867] [PATCH 1/2] gnu: Add python-noiseprotocol.

From: Tanguy LE CARROUR <[email-masked]>
Date: Fri, 22 Mar 2024 10:32:39 +0100

Hi,

Quoting normally_js (2024-03-21 19:59:15)
> Short answer: I don't know how to disable specific tests within the 
> python-build-system, but since we already have a solution that works it 
> likely doesn't matter.
> But I'd assume that getting tests to pass is better than being forced to 
> disable them and python-team should *not* be affected by this addition.

My bad! I should have suggested the code snippet to disable it!
As the error message is:

```
ERROR: test_large_frame (wormhole.test.dilate.test_record.Record)
Noise only allows 64KiB message, but the API allows up to 4GiB
----------------------------------------------------------------------
Traceback (most recent call last):
[…]
  File "/tmp/guix-build-magic-wormhole-0.13.0.drv-0/magic-wormhole-0.13.0/src/wormhole/_dilation/connector.py", line 45, in build_noise
    return NoiseConnection.from_name(NOISEPROTO)
AttributeError: 'NoneType' object has no attribute 'from_name'
```

… the failing test is `test_large_frame`. You can disable it the same way
it is done in, for instance, `magic-wormhole-mailbox-server`:

```scheme
    (arguments
     '(#:phases
       (modify-phases %standard-phases
         (add-after 'unpack 'disable-some-tests
          (lambda _
            (substitute* "src/wormhole/_dilation/connector.py"
              (("test_large_frame") "disabled_test_large_frame"))
            #t)))))
```

But, actually, the problem comes from the fact that the `noise` module
is not available. You must add `python-noiseprotocol` as an input to the
package. Either as a native input for the test to pass, or, if it make
sense, as a propagated input for it to be available at run time.
Hence, the patch adding `python-noiseprotocol` should come before the one
updating `magic-wormhole`.

Regards,

-- 
Tanguy