tests/socket fails on hurd-i386
While building on hurd-i386 the tests fail with:
Form: (MULTIPLE-VALUE-BIND (RUN ARGS) (CMD-ARGS) (LET ((SE (SOCKET-SERVER))) (RUN-PROGRAM RUN :ARGUMENTS (APPEND ARGS (LIST "-q" "-q" "-x" (FORMAT NIL "(close (prog1 (socket:socket-connect ~D) (sleep 0.01s0)))" (SOCKET-SERVER-PORT SE)))) :WAIT NIL :INPUT NIL :OUTPUT NIL) (UNWIND-PROTECT (WITH-OPEN-STREAM (SO (SOCKET-ACCEPT SE)) (LIST (SOCKET-STATUS SO) (WRITE-LINE "foo" SO) (SLEEP 0.02s0) (HANDLER-CASE (SOCKET-STATUS SO) (OS-ERROR (C) (PRINC 'SOCKET-STATUS-2) (PRINC-ERROR C) (CASE (OS-ERROR-CODE C) ((:ECONNRESET #1=1073741878) :APPEND) (T (OS-ERROR-CODE C))))) (CHECK-OS-ERROR (PROGN (WRITE-LINE "bar" SO) T) (:EPIPE 1073741856 :ECONNRESET #1#)) (HANDLER-CASE (READ-CHAR SO) (OS-ERROR (C) (PRINC 'READ-CHAR) (PRINC-ERROR C) (CASE (OS-ERROR-CODE C) ((:ECONNRESET #1#) T) (T (OS-ERROR-CODE C)))) (END-OF-FILE (C) (PRINC 'READ-CHAR) (PRINC-ERROR C) T)) (HANDLER-CASE (SOCKET-STATUS SO) (OS-ERROR (C) (PRINC 'SOCKET-STATUS-3) (PRINC-ERROR C) (CASE (OS-ERROR-CODE C) ((:ECONNRESET #1#) :APPEND) (T (OS-ERROR-CODE C))))))) (SOCKET-SERVER-CLOSE SE))))
CORRECT: (:OUTPUT "foo" NIL :APPEND T T :APPEND)
CLISP : (:OUTPUT "foo" NIL :ERROR T T :APPEND)
Differ at position 3: :APPEND vs :ERROR
CORRECT: (:APPEND T T :APPEND)
CLISP : (:ERROR T T :APPEND)
OUT:
"[OS-ERROR]: OS-ERROR(1073741856): Broken pipe
READ-CHAR
[OS-STREAM-ERROR]: OS-STREAM-ERROR(1073741878): Connection reset by peer
"
The cause is that the second (socket:socket-status so) does not throw an error but returns :ERROR.