[PATCH WIP] Socat tests

  • Open
  • quality assurance status badge
Details
One participant
  • Bruno Victal
Owner
unassigned
Submitted by
Bruno Victal
Severity
normal
B
B
Bruno Victal wrote on 20 May 2023 23:50
(name . guix-patches)(address . guix-patches@gnu.org)(address . mirai@makinata.eu)
fc41352a-62bd-88fd-361a-9a847c372189@makinata.eu
I've noticed that socat does have a test-suite (under a "test" target)
though I am having some trouble with some of the tests failures.

Going through the build log, there's some lines of interest:

Test 59:
Toggle snippet (7 lines)
test 59 CHILDDEFAULT: child process default properties... FAILED:
./socat -t 0.1 -u exec:./procan -


In test 227, tests fail due to an absent /etc/services.
Toggle snippet (11 lines)
test 227 EXECPTYKILL: exec:...,pty explicitely kills sub process... OK
grep: /etc/services: No such file or directory
test 228 TCP4SERVICE: echo via connection to TCP V4 socket... !port 1 timed out! FAILED: ./socat:
./socat -t 0.1 TCP4-LISTEN:,reuseaddr PIPE &
2023/05/20 20:48:44 socat[8835] E empty port/service
./socat -t 0.1 stdin!!stdout TCP4:127.0.0.1:
2023/05/20 20:48:49 socat[8857] E empty port/service
test 229 EXCEED_FOPEN_MAX: more than FOPEN_MAX FDs in use... OK
Note: a similar failure was already observed in
d6f6b57766e95d2fa8af63d4460a2b303ca4d867.

I wonder if it's feasible to include /etc/services
in the build environment?


Test 418:
Toggle snippet (8 lines)
test 418 ABSTRACT_USER: Is the fs related user option on ABSTRACT socket applied to FD... FAILED
./socat ABSTRACT-LISTEN:temp,accept-timeout=0.1,user= FILE:/dev/null
2023/05/20 20:50:55 socat[12189] E getpwnam(""): no such user


I'm out of clues as to how to get these 3 tests sorted out.
Any ideas?

I've attached the build logs for socat with the tests enabled below.


Regards,
Bruno
B
B
Bruno Victal wrote on 20 May 2023 23:52
[PATCH WIP] gnu: socat: Enable tests.
(address . 63618@debbugs.gnu.org)(name . Bruno Victal)(address . mirai@makinata.eu)
7c25727597e6730d9caf4f5e9b1b69d8fefd44f5.1684619533.git.mirai@makinata.eu
* gnu/packages/networking.scm (socat)[arguments]: Enable tests.
[native-inputs]: Add test dependencies: net-tools, which and procps.
---
gnu/packages/networking.scm | 20 ++++++++++++++++++--
1 file changed, 18 insertions(+), 2 deletions(-)

Toggle diff (36 lines)
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 85fb352ebf..4a2ed0e8a5 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -1204,9 +1204,25 @@ (define-public socat
version ".tar.bz2"))
(sha256
(base32
- "01w0hpqf5xmgn40s1ablfd4y67dlrx5y9zlx24spc1qm8h81hwyl"))))
+ "01w0hpqf5xmgn40s1ablfd4y67dlrx5y9zlx24spc1qm8h81hwyl"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ (substitute* "test.sh"
+ (("/sbin/ifconfig") "ifconfig")
+ (("^/bin/rm") "rm"))))))
(build-system gnu-build-system)
- (arguments '(#:tests? #f)) ; no test suite
+ (arguments
+ (list
+ #:test-target "test"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'patch-source-shebangs 'patch-test-shebangs
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; test.sh embeds some shell scripts.
+ (substitute* "test.sh"
+ (("/usr/bin/env") (search-input-file inputs "/bin/env"))))))))
+ (native-inputs (list net-tools which procps)) ; for tests
(inputs (list openssl))
(home-page "http://www.dest-unreach.org/socat/")
(synopsis

base-commit: cebf0e36d1e5439f43046ec3d6d995fb18f27218
--
2.39.2
?