[squeak-dev] WebClient test fails in trunk
David T. Lewis
lewis at mail.msen.com
Sun Jul 15 15:46:54 UTC 2012
On Wed, Jul 04, 2012 at 11:46:58PM +0200, Levente Uzonyi wrote:
> On Tue, 3 Jul 2012, Frank Shearar wrote:
>
> >On 3 July 2012 17:42, Frank Shearar <frank.shearar at gmail.com> wrote:
> >>On 3 July 2012 17:38, Levente Uzonyi <leves at elte.hu> wrote:
> >>>On Tue, 3 Jul 2012, Frank Shearar wrote:
> >>>
> >>>>Hi,
> >>>>
> >>>>I took WebClient for a spin in a trunk image, and found a failing
> >>>>test: WebClientServerTest >> #testServerDestroy throws a
> >>>>"ConnectionClosed: Connection closed while waiting for data". That
> >>>>sounds familiar - I think this was introduced in a recent Network
> >>>>change.
> >>>>
> >>>>Still, it means WebClient needs fixing. I'll try fix it on my evening
> >>>>commute, but if anyone feels like racing me, I'll be happy!
> >>>
> >>>
> >>>Interesting, I had no issue with it on windows, except for some extension
> >>>methods trying to use the CrLf class variable in HTTPSocket (or some
> >>>other
> >>>class), but that variable doesn't exist.
> >>
> >>Which reminds me of an important fact I should mention: I'm testing
> >>this on an Ubuntu Lynx box.
>
> The VM also matters in this case. I tried it with an older CogVM which
> doesn't have the new socket primitives.
I wanted to check that the recent network updates were not causing
problems for WebClient. I found that some updates to WebClient are
needed to account for the fact that network addresses are now being
represented as SocketAddress rather than ByteArray when running on
a VM that supports the new network primitives.
Attached is a change set that addresses all the issues that I could
find. I'm assuming that the testServerDestroy issue discussed above
has already been addressed, as I had no failures for that test.
>From the preamble:
Change Set: WebClient-networkPatches-dtl
Date: 15 July 2012
Author: David T Lewis
These patches update WebClient to work with new network code in Squeak
trunk (all tests green).
Explanation: When using the new network code along with a VM that supports the
IPV6 primitives, socket addresses are instances of SocketAddress rather than
ByteArray. Conversion of a socket address to a string must be implemented
differently for SocketAddress.
Also use String crlf instead of undeclared CrLf in HTTPSocket class>>httpPostMultipart:args:accept:request:
Note: Squeak automatically uses SocketAddress if the VM supports it at image
start time. To force use of old style ByteArray addresses, evaluate
NetNameResolver useOldNetwork: true.
Follow up: The WebClient methods in HTTPSocket are marked as overrides (category
*WebClient-HTTP-override) but are not overrides with respect to Squeak trunk.
The override category prevents these methods from appearing in a change set
fileout. Should these methods just be adopted in trunk?
Dave
-------------- next part --------------
A non-text attachment was scrubbed...
Name: WebClient-networkPatches-dtl.1.cs.gz
Type: application/octet-stream
Size: 2198 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20120715/332bcafd/WebClient-networkPatches-dtl.1.cs.obj
More information about the Squeak-dev
mailing list
|