Regression

windows-32 / Tests-windows-32 / Windows32.Zinc.Tests.ZnClientTests.testPostMultipart (from Zinc-Tests)

Failing for the past 1 build (Since Unstable#78 )
Took 12 sec.

Stacktrace

Process>>pvtSignal:list:
[ self schedule.
"It is critical that the following has no suspension point so that
	the test and the wait primitive are atomic. In addition, if the delay
	is no longer being waited on while entering the way we know that it 
	is expired because the delay has already fired."
beingWaitedOn
	ifTrue: [ delaySemaphore wait ]
	ifFalse: [ expired := true ] ] in DelayWaitTimeout>>wait
BlockClosure>>ensure:
DelayWaitTimeout>>wait
Semaphore>>waitTimeoutMSecs:
Socket>>waitForDataFor:ifClosed:ifTimedOut:
Socket>>waitForDataFor:
ZdcSocketStream(ZdcAbstractSocketStream)>>socketWaitForData
[ self socketWaitForData ] in ZdcSocketStream(ZdcSimpleSocketStream)>>fillReadBuffer
BlockClosure>>on:do:
ZdcSocketStream(ZdcSimpleSocketStream)>>fillReadBuffer
ZdcSocketStream(ZdcAbstractSocketStream)>>next
ZnLineReader>>processNext
ZnLineReader>>nextLine
ZnStatusLine>>readFrom:
ZnStatusLine class>>readFrom:
ZnResponse>>readHeaderFrom:
ZnResponse(ZnMessage)>>readFrom:
ZnResponse class(ZnMessage class)>>readFrom:
[ :stream | ZnResponse readFrom: stream ] in [ [ :stream | ZnResponse readFrom: stream ] ] in ZnClient>>reader
[ self reader value: connection ] in [ response := (#(HEAD CONNECT) includes: request method)
	ifTrue: [ ZnResponse readHeaderFrom: connection ]
	ifFalse: [ self streaming
			ifTrue: [ ZnResponse readStreamingFrom: connection ]
			ifFalse:
				[ self withMaximumEntitySizeDo: [ self reader value: connection ] ] ] ] in [ self
	withDefaultCharacterEncoderDo: [ response := (#(HEAD CONNECT) includes: request method)
			ifTrue: [ ZnResponse readHeaderFrom: connection ]
			ifFalse: [ self streaming
					ifTrue: [ ZnResponse readStreamingFrom: connection ]
					ifFalse:
						[ self withMaximumEntitySizeDo: [ self reader value: connection ] ] ] ] ] in ZnClient>>readResponse
True>>ifTrue:ifFalse:
ZnClient>>withMaximumEntitySizeDo:
[ response := (#(HEAD CONNECT) includes: request method)
	ifTrue: [ ZnResponse readHeaderFrom: connection ]
	ifFalse: [ self streaming
			ifTrue: [ ZnResponse readStreamingFrom: connection ]
			ifFalse:
				[ self withMaximumEntitySizeDo: [ self reader value: connection ] ] ] ] in [ self
	withDefaultCharacterEncoderDo: [ response := (#(HEAD CONNECT) includes: request method)
			ifTrue: [ ZnResponse readHeaderFrom: connection ]
			ifFalse: [ self streaming
					ifTrue: [ ZnResponse readStreamingFrom: connection ]
					ifFalse:
						[ self withMaximumEntitySizeDo: [ self reader value: connection ] ] ] ] ] in ZnClient>>readResponse
True>>ifTrue:ifFalse:
ZnClient>>withDefaultCharacterEncoderDo:
[ self
	withDefaultCharacterEncoderDo: [ response := (#(HEAD CONNECT) includes: request method)
			ifTrue: [ ZnResponse readHeaderFrom: connection ]
			ifFalse: [ self streaming
					ifTrue: [ ZnResponse readStreamingFrom: connection ]
					ifFalse:
						[ self withMaximumEntitySizeDo: [ self reader value: connection ] ] ] ] ] in ZnClient>>readResponse
True>>ifTrue:ifFalse:
ZnClient>>withMaximumNumberOfDictionaryEntriesDo:
ZnClient>>readResponse
ZnClient>>executeRequestResponse
[ self executeRequestResponse ] in ZnClient>>getConnectionAndExecute
BlockClosure>>ensure:
ZnClient>>getConnectionAndExecute
ZnClient>>executeWithRedirectsRemaining:
[ self executeWithRedirectsRemaining: self maxNumberOfRedirects ] in ZnClient>>executeWithRetriesRemaining:
BlockClosure>>on:do:
ZnClient>>executeWithRetriesRemaining:
[ self executeWithRetriesRemaining: self numberOfRetries ] in [ [ self executeWithRetriesRemaining: self numberOfRetries ]
	on: Error
	do: self ifFailBlock ] in ZnClient>>executeWithTimeout
BlockClosure>>on:do:
[ [ self executeWithRetriesRemaining: self numberOfRetries ]
	on: Error
	do: self ifFailBlock ] in ZnClient>>executeWithTimeout
[ ^ block value ] in ZnClient>>withTimeoutDo:
[ activeProcess psValueAt: index put: anObject.
aBlock value ] in ZnConnectionTimeout(DynamicVariable)>>value:during:
BlockClosure>>ensure:
ZnConnectionTimeout(DynamicVariable)>>value:during:
ZnConnectionTimeout class(DynamicVariable class)>>value:during:
ZnClient>>withTimeoutDo:
ZnClient>>executeWithTimeout
[ result := self executeWithTimeout ] in ZnClient>>execute
[ ^ block value ] in ZnClient>>withProgressDo:
[ activeProcess psValueAt: index put: anObject.
aBlock value ] in ZnSignalProgress(DynamicVariable)>>value:during:
BlockClosure>>ensure:
ZnSignalProgress(DynamicVariable)>>value:during:
ZnSignalProgress class(DynamicVariable class)>>value:during:
ZnClient>>withProgressDo:
ZnClient>>execute
ZnClient>>post
[ :server | 
(client := ZnClient new)
	url: server localUrl;
	addPath: 'echo';
	addPart: (ZnMimePart fieldName: 'username' value: 'john');
	addPart: (ZnMimePart fieldName: 'foo' entity: (ZnEntity text: '123'));
	addPart: (ZnMimePart fieldName: 'file' fileNamed: filename);
	post.
self assert: client isSuccess.
self assert: (client contents includesSubstring: 'multipart') ] in ZnClientTests>>testPostMultipart
BlockClosure>>cull:
[ server start.
self
	assert: server isRunning & server isListening
	description:
		('Failed to start server on port {1}. Is there one already?'
			format: {server port}).
block cull: server ] in ZnClientTests>>withServerDo:
BlockClosure>>ensure:
ZnClientTests>>withServerDo:
ZnClientTests>>testPostMultipart
ZnClientTests(TestCase)>>performTest