Regression

windows-32 / Tests-windows-32 / Windows32.Gofer.Tests.Tests.GoferApiTest.testRepositoryErrors (from Gofer-Tests)

Failing for the past 2 builds (Since #1064 )
Took 11 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>>waitForConnectionFor:ifTimedOut:
Socket>>connectTo:port:waitForConnectionFor:
ZdcSocketStream(ZdcAbstractSocketStream)>>socketConnectTo:port:
ZdcSocketStream(ZdcSimpleSocketStream)>>connectTo:port:
ZdcSocketStream class(ZdcSimpleSocketStream class)>>openConnectionToHost:port:timeout:
ZnNetworkingUtils>>socketStreamToUrlDirectly:
ZnNetworkingUtils>>socketStreamToUrl:
ZnNetworkingUtils class>>socketStreamToUrl:
ZnClient>>newConnectionTo:
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>>get
[ 
client := self httpClient.
client
	ifFail: [ :exception | 
		(exception className beginsWith: 'Zn')
			ifTrue: [ 
				MCRepositoryError signal:
						'Could not access ' , self location , ': '
						, exception printString ]
			ifFalse: [ exception pass ] ];
	url: self locationWithTrailingSlash;
	queryAt: 'C' put: 'M;O=D';
	"legacy that some servers maybe expect"get.
self assertNonBinaryResponse: client response ] in MCHttpRepository>>loadAllFileNames
[ workBlock value ] in [ :bar | 
[ workBlock value ]
	on: HTTPProgress
	do: [ :ex | 
		(ex total == nil or: [ ex amount == nil ]) ifFalse: [ 
			(nextUpdateTime < Time millisecondClockValue or: [ 
				 ex total = ex amount ]) ifTrue: [ 
				bar current: ex amount asFloat / ex total asFloat.
				nextUpdateTime := Time millisecondClockValue + 100 ] ].
		ex resume ] ] in MCHttpRepository>>displayProgress:during:
BlockClosure>>on:do:
[ :bar | 
[ workBlock value ]
	on: HTTPProgress
	do: [ :ex | 
		(ex total == nil or: [ ex amount == nil ]) ifFalse: [ 
			(nextUpdateTime < Time millisecondClockValue or: [ 
				 ex total = ex amount ]) ifTrue: [ 
				bar current: ex amount asFloat / ex total asFloat.
				nextUpdateTime := Time millisecondClockValue + 100 ] ].
		ex resume ] ] in MCHttpRepository>>displayProgress:during:
BlockClosure>>cull:
[ ^ block cull: self ] in [ 
self prepareForRunning.
CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run
[ 
activeProcess psValueAt: index put: anObject.
aBlock value ] in CurrentJob(DynamicVariable)>>value:during:
BlockClosure>>ensure:
CurrentJob(DynamicVariable)>>value:during:
CurrentJob class(DynamicVariable class)>>value:during:
[ 
self prepareForRunning.
CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run
BlockClosure>>ensure:
Job>>run
NonInteractiveUIManager(UIManager)>>displayProgress:from:to:during:
MCHttpRepository>>displayProgress:during:
MCHttpRepository>>loadAllFileNames
MCHttpRepository(MCFileBasedRepository)>>allFileNames
MCHttpRepository(MCFileBasedRepository)>>readableFileNames
MCHttpRepository(MCFileBasedRepository)>>allVersionNames
[ self allVersionNames ] in MCHttpRepository(MCFileBasedRepository)>>goferReferences
BlockClosure>>on:do:
MCHttpRepository(MCFileBasedRepository)>>goferReferences
[ aRepository goferReferences asSortedCollection asArray ] in Gofer>>basicReferencesIn:
BlockClosure>>on:do:
Gofer>>basicReferencesIn:
[ self basicReferencesIn: aRepository ] in Gofer>>allResolvedIn:
[ self at: key put: aBlock value ] in Dictionary>>at:ifAbsentPut:
Dictionary>>at:ifAbsent:
Dictionary>>at:ifAbsentPut:
Gofer>>allResolvedIn:
[ :repository | resolved addAll: (self allResolvedIn: repository) ] in Gofer>>allResolved
Array(SequenceableCollection)>>do:
Gofer>>allResolved
GoferPackageReference(GoferReference)>>resolveAllWith:
GoferPackageReference(GoferReference)>>resolveWith:
[ :each | each resolveWith: self ] in Gofer>>resolved
Array(SequenceableCollection)>>collect:
Gofer>>resolved
[ gofer resolved ] in GoferApiTest>>testRepositoryErrors
[ 
aBlock value.
false ] in GoferApiTest(TestAsserter)>>executeShould:inScopeOf:
BlockClosure>>on:do:
GoferApiTest(TestAsserter)>>executeShould:inScopeOf:
GoferApiTest(TestAsserter)>>should:raise:
GoferApiTest>>testRepositoryErrors
GoferApiTest(TestCase)>>performTest