[PATCH WIP] Socat tests

  • Open
  • quality assurance status badge
One participant
  • Bruno Victal
Submitted by
Bruno Victal
Bruno Victal wrote on 20 May 2023 23:50
(name . guix-patches)(address . guix-patches@gnu.org)(address . mirai@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:
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

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.

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)
* 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"))
- "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/")

base-commit: cebf0e36d1e5439f43046ec3d6d995fb18f27218
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 63618@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 63618
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch