GNU bug report logs - #42111
tests/syscalls.scm stumbles on network interface aliases

Previous Next

Package: guix;

Reported by: Marius Bakke <marius <at> gnu.org>

Date: Sun, 28 Jun 2020 15:53:02 UTC

Severity: normal

Done: Marius Bakke <marius <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Marius Bakke <marius <at> gnu.org>
Subject: bug#42111: closed (Re: bug#42111: tests/syscalls.scm stumbles on
 network interface aliases)
Date: Sun, 28 Jun 2020 21:38:01 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#42111: tests/syscalls.scm stumbles on network interface aliases

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 42111 <at> debbugs.gnu.org.

-- 
42111: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=42111
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Marius Bakke <marius <at> gnu.org>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 42111-done <at> debbugs.gnu.org
Subject: Re: bug#42111: tests/syscalls.scm stumbles on network interface
 aliases
Date: Sun, 28 Jun 2020 23:37:07 +0200
[Message part 3 (text/plain, inline)]
Ludovic Courtès <ludo <at> gnu.org> writes:

>> diff --git a/tests/syscalls.scm b/tests/syscalls.scm
>> index 6acaa0b131..7aa16ce3f4 100644
>> --- a/tests/syscalls.scm
>> +++ b/tests/syscalls.scm
>> @@ -382,7 +382,10 @@
>>       (member "lo" names))))
>>  
>>  (test-assert "network-interface-names"
>> -  (match (network-interface-names)
>> +  (match (filter (lambda (if)
>> +                   ;; Ignore interface aliases.
>
> Perhaps add “since they don’t show up in (all-network-interface-names)”.
>
>> +                   (not (string-contains if ":")))
>> +                 (network-interface-names))
>
> You can use ‘remove’ instead of ‘filter’ + ‘not’.

ah, much clearer with those suggestions, thanks!

Pushed in 5e113cf4424b2746cbf3633cd2106c62b89e5b49.
[signature.asc (application/pgp-signature, inline)]
[Message part 5 (message/rfc822, inline)]
From: Marius Bakke <marius <at> gnu.org>
To: bug-guix <at> gnu.org
Subject: tests/syscalls.scm stumbles on network interface aliases
Date: Sun, 28 Jun 2020 17:52:20 +0200
[Message part 6 (text/plain, inline)]
Hello,

The "network-interface-names" test from tests/syscalls.scm fails if a
network interface alias is configured.

I.e. this command:

  ip addr add 127.0.0.2/8 dev lo label lo:lcat

causes the interface to show up in (network-interface-names), but not
(all-network-interface-names), breaking the test.

I could not find a procfs file that displays network aliases, so ISTM
we either need to add syscalls to check IFLA_IFALIAS, or simply ignore
interfaces with a colon (which seems to be required).

This patch does the latter and makes the test succeed:

[diff (text/x-patch, inline)]
diff --git a/tests/syscalls.scm b/tests/syscalls.scm
index 6acaa0b131..7aa16ce3f4 100644
--- a/tests/syscalls.scm
+++ b/tests/syscalls.scm
@@ -382,7 +382,10 @@
      (member "lo" names))))
 
 (test-assert "network-interface-names"
-  (match (network-interface-names)
+  (match (filter (lambda (if)
+                   ;; Ignore interface aliases.
+                   (not (string-contains if ":")))
+                 (network-interface-names))
     (((? string? names) ..1)
      (lset<= string=? names (all-network-interface-names)))))
 
[signature.asc (application/pgp-signature, inline)]

This bug report was last modified 4 years and 326 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.