On 3/13/07, Paul O'Rorke paul@ororke.com wrote:
Hi: I am evaluating usocket as a way to help generalize and port a program that currently uses CLisp and I am using SBCL. I dug up cl-rt and split-sequence in cl-utilities and ran the tests and got the following errors on my Intel MacBook Pro running OS X... Is it just that the tests need to allow SBCL to return timeout error? (I don't see SBCL in the with-caught-conditions.)
Hi Paul,
Sorry to take some time before answering your posts. I've been busy lately, but I've got some time now to address your issues. (I also saw your other mail and I'll answer that separately.)
#<USOCKET:TIMEOUT-ERROR {11862E89}> is a USOCKET:TIMEOUT-ERROR. Its slot values are (:SOCKET #<USOCKET:STREAM-USOCKET {11862A31}>). Test USOCKET-TEST::SOCKET-FAILURE.1 failed Form: (USOCKET-TEST::WITH-CAUGHT-CONDITIONS ('USOCKET:NETWORK-UNREACHABLE-ERROR NIL) (USOCKET:SOCKET-CONNECT 2130706432 USOCKET-TEST::+UNUSED-LOCAL-PORT+) :UNREACH) Expected value: NIL Actual value: #<USOCKET:TIMEOUT-ERROR {11862E89}>.
#<USOCKET:TIMEOUT-ERROR {1195CCB1}>
is a USOCKET:TIMEOUT-ERROR. Its slot values are (:SOCKET #<USOCKET:STREAM-USOCKET {1195C761}>). Test USOCKET-TEST::SOCKET-FAILURE.2 failed Form: (USOCKET-TEST::WITH-CAUGHT-CONDITIONS ('USOCKET:HOST-UNREACHABLE-ERROR NIL) (USOCKET:SOCKET-CONNECT USOCKET-TEST::+NON-EXISTING-HOST+ 80) :UNREACH) Expected value: NIL Actual value: #<USOCKET:TIMEOUT-ERROR {1195CCB1}>.
The only other test that failed was:
(deftest socket-name.4 (with-caught-conditions (nil nil) (let ((sock (usocket:socket-connect +common-lisp-net+ 80))) (unwind-protect (usocket::get-local-address sock) (usocket:socket-close sock)))) #(192 168 1 65))
Should I have replaced the 192 168 1 65 with my machine's local IP?
Yes. And the other tests fail probably because the IP address for +non-existing-host+ isn't on your ethernet segment/IP subnet. I specifically have to use an IP address in my subnet (which isn't assigned) to get the right behaviour from the test. I'm not sure how to change the test scripts to use/insert the right values for any given system. Do you have any ideas about that?
bye,
Erik.