[usocket-devel] BUG: dangling references to split-sequence package
Chun Tian (binghe)
binghe.lisp at gmail.com
Wed Jan 13 07:17:47 UTC 2010
Hi, Andy, Attila and James
Thanks all of you pointing out the split-sequence issue.
For the dependency as split-sequence or cl-utilities, I compared the split-sequence code between the two packages, they're completely the same.
So, considering split-sequence.lisp is such stable, and:
1) If usocket depends on split-sequence, some one will say it's a too-old and out-of-maintained package
2) If usocket depends on cl-utlities, there're more issues:
2.1) The package is too big and we only use a single function in it
2.2) If cl-utilities was loaded first without the :split-sequence-deprecated feature, it won't create package "split-sequence", and then usocket loaded, the call to SPLIT-SEQUENCE:SPLIT-SEQUENCE will fail.
3) Usocket should depends other package as less as possible
Now I added split-sequence.lisp as a "vendor file", it will define the function SPLIT-SEQUENCE in USOCKET package.
Committed as r518 on usocket trunk [1], I hope all of you could satisfy with this choice. More opinion is welcome.
Andy: For the test results you attached, I'll check it and see what I can do.
Regards,
Chun Tian (binghe)
[1] svn://common-lisp.net/project/usocket/svn/usocket/trunk
在 2010-1-9,08:47, Andy Chambers 写道:
> There is a dangling reference to split-sequence but split-sequence
> itself is no longer
> marked as a dependency in the defsystem spec. This means that usocket cannot
> currently be loaded using asdf unless split-sequence has already been loaded by
> some other system.
>
> The attached patch just replaces calls to
> split-sequence:split-sequence with corresponding
> calls to cl-utilities:split-sequence.
>
> Also I think a few of the tests might need to be rewritten. Both
> before and after
> applying this patch, 6 out of 15 tests fail for me.
>
> Regards,
> Andy Chambers
>
> (format t "type: ~a version: ~a"
> (lisp-implementation-type)
> (lisp-implementation-version))
> type: SBCL version: 1.0.18.debian
>
> (usocket-test:run-usocket-tests)
> Doing 15 pending tests of 15 tests total.
> USOCKET-TEST::MAKE-SOCKET.1 USOCKET-TEST::MAKE-SOCKET.2
> #<USOCKET:UNSUPPORTED {B075EB9}>
> is a USOCKET:UNSUPPORTED.
> Its slot values are
> (:FEATURE USOCKET::TIMEOUT :CONTEXT USOCKET:SOCKET-CONNECT :MINIMUM NIL).
> Test USOCKET-TEST::SOCKET-NO-CONNECT.1 failed
> Form: (USOCKET-TEST::WITH-CAUGHT-CONDITIONS ('USOCKET:SOCKET-ERROR NIL)
> (USOCKET:SOCKET-CONNECT
> "127.0.0.0"
> USOCKET-TEST::+UNUSED-LOCAL-PORT+
> :TIMEOUT 0)
> T)
> Expected value: NIL
> Actual value: #<USOCKET:UNSUPPORTED {B075EB9}>.
> #<USOCKET:UNSUPPORTED {B20A2B1}>
> is a USOCKET:UNSUPPORTED.
> Its slot values are
> (:FEATURE USOCKET::TIMEOUT :CONTEXT USOCKET:SOCKET-CONNECT :MINIMUM NIL).
> Test USOCKET-TEST::SOCKET-NO-CONNECT.2 failed
> Form: (USOCKET-TEST::WITH-CAUGHT-CONDITIONS ('USOCKET:SOCKET-ERROR NIL)
> (USOCKET:SOCKET-CONNECT
> #(127 0 0 0)
> USOCKET-TEST::+UNUSED-LOCAL-PORT+
> :TIMEOUT 0)
> T)
> Expected value: NIL
> Actual value: #<USOCKET:UNSUPPORTED {B20A2B1}>.
> #<USOCKET:UNSUPPORTED {B3A5D81}>
> is a USOCKET:UNSUPPORTED.
> Its slot values are
> (:FEATURE USOCKET::TIMEOUT :CONTEXT USOCKET:SOCKET-CONNECT :MINIMUM NIL).
> Test USOCKET-TEST::SOCKET-NO-CONNECT.3 failed
> Form: (USOCKET-TEST::WITH-CAUGHT-CONDITIONS ('USOCKET:SOCKET-ERROR NIL)
> (USOCKET:SOCKET-CONNECT
> 2130706432
> USOCKET-TEST::+UNUSED-LOCAL-PORT+
> :TIMEOUT 0)
> T)
> Expected value: NIL
> Actual value: #<USOCKET:UNSUPPORTED {B3A5D81}>.
> #<USOCKET:UNSUPPORTED {B5461D9}>
> is a USOCKET:UNSUPPORTED.
> Its slot values are
> (:FEATURE USOCKET::TIMEOUT :CONTEXT USOCKET:SOCKET-CONNECT :MINIMUM NIL).
> 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+ :TIMEOUT
> 0)
> :UNREACH)
> Expected value: NIL
> Actual value: #<USOCKET:UNSUPPORTED {B5461D9}>.
> #<USOCKET:UNSUPPORTED {B9C8229}>
> is a USOCKET:UNSUPPORTED.
> Its slot values are
> (:FEATURE USOCKET::TIMEOUT :CONTEXT USOCKET:SOCKET-CONNECT :MINIMUM NIL).
> 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
> :TIMEOUT 0)
> :UNREACH)
> Expected value: NIL
> Actual value: #<USOCKET:UNSUPPORTED {B9C8229}>.
> USOCKET-TEST::SOCKET-CONNECT.1 USOCKET-TEST::SOCKET-CONNECT.2
> USOCKET-TEST::SOCKET-CONNECT.3 USOCKET-TEST::SOCKET-STREAM.1
> USOCKET-TEST::SOCKET-NAME.1 USOCKET-TEST::SOCKET-NAME.2
> USOCKET-TEST::SOCKET-NAME.3
> Test USOCKET-TEST::SOCKET-NAME.4 failed
> Form: (USOCKET-TEST::WITH-CAUGHT-CONDITIONS (NIL NIL)
> (LET ((USOCKET-TEST::SOCK
> (USOCKET:SOCKET-CONNECT
>
> USOCKET-TEST::+COMMON-LISP-NET+
> 80)))
> (UNWIND-PROTECT
> (USOCKET:GET-LOCAL-ADDRESS
> USOCKET-TEST::SOCK)
> (USOCKET:SOCKET-CLOSE
> USOCKET-TEST::SOCK))))
> Expected value: #(192 168 1 25)
> Actual value: #(192 168 0 3).
> 6 out of 15 total tests failed: USOCKET-TEST::SOCKET-NO-CONNECT.1,
> USOCKET-TEST::SOCKET-NO-CONNECT.2, USOCKET-TEST::SOCKET-NO-CONNECT.3,
> USOCKET-TEST::SOCKET-FAILURE.1, USOCKET-TEST::SOCKET-FAILURE.2,
> USOCKET-TEST::SOCKET-NAME.4.
> NIL
> CL-USER>
>
> --
> ----
> Andy Chambers
> Formedix Ltd
> <replace-cl-utilities.patch>_______________________________________________
> usocket-devel mailing list
> usocket-devel at common-lisp.net
> http://common-lisp.net/cgi-bin/mailman/listinfo/usocket-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2603 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/usocket-devel/attachments/20100113/17117698/attachment.bin>
More information about the usocket-devel
mailing list