|
From: Alexandru P. <al...@gm...> - 2025-01-09 13:02:28
|
Hi Bruno,
I freshly build and retest (make check) CLISP on Haiku. Two .erg files are
generated in tests folder: socket.erg and weakhash.erg (this one is empty).
The socket.erg content is the following:
Form: (CHECK-OS-ERROR (SOCKET-CONNECT 12345 "localhost" :BUFFERED NIL
:TIMEOUT 0) (:ECONNREFUSED -2147454944))
CORRECT: T
CLISP : -2147483639
OUT:
"[OS-ERROR]: OS-ERROR(-2147483639): Operation timed out
"
This fail does not seem to be related to missing from Haiku ESOCKTNOSUPPORT
error code. I analyzed tests/socket.tst file and found this operation fails
similarly on Windows and CYGWIN. So I added the exception for Haiku.
Changed from:
(check-os-error (socket:socket-connect 12345 "localhost" :buffered nil
:timeout 0)
#.(let ((os (ext:operating-system-type)))
(cond ((equal os "Windows") '(:ETIMEDOUT 10060))
((equal os "CYGWIN") `(:ETIMEDOUT ,+ETIMEDOUT+))
(t `(:ECONNREFUSED ,+ECONNREFUSED+)))))
T
to:
(check-os-error (socket:socket-connect 12345 "localhost" :buffered nil
:timeout 0)
#.(let ((os (ext:operating-system-type)))
(cond ((equal os "Windows") '(:ETIMEDOUT 10060))
((equal os "CYGWIN") `(:ETIMEDOUT ,+ETIMEDOUT+))
((equal os "Haiku) `(:ETIMEDOUT ,+ETIMEDOUT+))
(t `(:ECONNREFUSED ,+ECONNREFUSED+)))))
T
I did not modify tests for:
(socket:socket-connect 12345 "localhost" :timeout 0)
(socket:socket-connect 12345 "localhost" :timeout 30)
After this change, make check still fails, no weakhash.erg is generated and
socket.erg is generated but is empty. The last log before test ending is:
*** - READ: input stream
#<INPUT BUFFERED FILE-STREAM CHARACTER #P"socket.tst" @730> ends
within
a string
The file socket.tst has 729 lines.
I am not sure how to interpret this result. Also, I am not the proper
person to judge if this change can be considered as "fix" or as "hiding a
problem". Just report it to you. Maybe CLISP sockets support on Haiku are
in better shape than it may seem.
Also, the tests with comment:
;; This test frequently fails on Haiku.
do not seem to fail on Haiku.
Alexandru
|