[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