[Seaside] Timeouts when trying to use Albatross unit testing
Matthias Berth
matthias.berth at googlemail.com
Tue Feb 26 14:30:04 UTC 2008
Hello,
I have installed Albatross [1] and the prerequisites. However, when I
try to run the example unit test APierTest that comes with it, I get
timeout errors like the one attached below. It happens in
ABrowser>>receiveOrTimeout which is sent from setUp:
ATestCase>>setUp
| handler |
handler := ARequestHandler default reset; yourself.
AComponentWrapper initializeWith: self subjectApplication for: self.
browser := handler browser
applicationUrl: 'http://localhost:9090/seaside/albatross'
driverUrl: 'http://localhost:9090/seaside/driver'.
browser timeout: 10.
browser open.
browser timeout: 5.
browser receiveOrTimeout.
I see the Pier web page appear in my web browser. I am running Squeak
3.9 under Windows, with Albatross-al.211 and Seaside2.8a1-mb.465
(Sept. 2007).
Any hints on how to get this working, or on how to isolate the problem
would be greatly appreciated :-)
Cheers
Matthias
[1] http://www.squeaksource.com/Albatross.html
*********
VM: Win32 - a SmalltalkImage
Image: Squeak3.9 [latest update: #7067]
SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
ABrowser(Object)>>error:
Receiver: an ABrowser
Arguments and temporary variables:
aString: 'Timed out receiving reply'
Receiver's instance variables:
inQueue: a SharedQueue
outQueue: a SharedQueue
applicationUrl: 'http://localhost:9090/seaside/albatross'
driverUrl: 'http://localhost:9090/seaside/driver'
resultType: nil
ABrowser>>receiveOrTimeout
Receiver: an ABrowser
Arguments and temporary variables:
proc: a Process in [] in BlockContext>>newProcess {[self value.
Processor term...etc...
result: nil
sem: a Semaphore()
typedResult: nil
Receiver's instance variables:
inQueue: a SharedQueue
outQueue: a SharedQueue
applicationUrl: 'http://localhost:9090/seaside/albatross'
driverUrl: 'http://localhost:9090/seaside/driver'
resultType: nil
APierTest(ATestCase)>>setUp
Receiver: APierTest>>#testEditPage {testing}
Arguments and temporary variables:
handler: an ARequestHandler named: 'driver'
Receiver's instance variables:
testSelector: #testEditPage
browser: an ABrowser
testComponent: nil
[] in APierTest(TestCase)>>runCase {[self setUp. self performTest]}
Arguments and temporary variables:
--- The full stack ---
ABrowser(Object)>>error:
ABrowser>>receiveOrTimeout
APierTest(ATestCase)>>setUp
[] in APierTest(TestCase)>>runCase {[self setUp. self performTest]}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
BlockContext>>ensure:
APierTest(TestCase)>>runCase
[] in APierTest(TestCase)>>debug {[(self class selector: testSelector) runCase]}
BlockContext>>on:do:
[] in APierTest(TestCase)>>debug {[[(self class selector:
testSelector) runCase] on: Error do: [:ex | Unha...]}
BlockContext>>ensure:
APierTest(TestCase)>>debug
[] in TestRunner>>debugSuite: {[:each | each debug]}
Set>>do:
[] in TestRunner>>basicRunSuite:do: {[aTestSuite name isEmptyOrNil
ifTrue: [aTestSuite tests do: aBlock] ifFa...]}
BlockContext>>ensure:
TestRunner>>basicRunSuite:do:
TestRunner>>debugSuite:
TestRunner>>debug:
TestRunner>>errorSelected:
PluggableListMorphPlus(PluggableListMorph)>>changeModelSelection:
PluggableListMorphPlus(PluggableListMorph)>>mouseUp:
PluggableListMorphPlus(Morph)>>handleMouseUp:
MouseButtonEvent>>sentTo:
PluggableListMorphPlus(Morph)>>handleEvent:
PluggableListMorphPlus(Morph)>>handleFocusEvent:
[] in HandMorph>>sendFocusEvent:to:clear: {[ActiveHand := self.
ActiveEvent := anEvent. result := focusHolder han...]}
[] in PasteUpMorph>>becomeActiveDuring: {[aBlock value]}
BlockContext>>on:do:
PasteUpMorph>>becomeActiveDuring:
HandMorph>>sendFocusEvent:to:clear:
HandMorph>>sendEvent:focus:clear:
HandMorph>>sendMouseEvent:
HandMorph>>handleEvent:
HandMorph>>processEvents
[] in WorldState>>doOneCycleNowFor: {[:h | ActiveHand := h. h
processEvents. capturingGesture := capturingGest...]}
Array(SequenceableCollection)>>do:
WorldState>>handsDo:
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
PasteUpMorph>>doOneCycle
[] in Project class>>spawnNewProcess {[[World doOneCycle. Processor
yield. false] whileFalse. nil]}
[] in BlockContext>>newProcess {[self value. Processor terminateActive]}
More information about the seaside
mailing list