GNU bug report logs -
#42111
tests/syscalls.scm stumbles on network interface aliases
Previous Next
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
[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)]
[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)]
[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.