Hi Ross, don't you like single-clicking and letting the computer do the work? Please load OSProcess as recommended and then you won't have to launch anything manually.
I suggest loading OSProcess and MagmaTester in a 3.9-final-7067 image and see whether it makes it all the way through. If that works but it doesn't work in 3.10 then it suggests there a difference in the images accounting for the problem.
I can make out from the stack-trace that it appears to have passed the first assertion, but there are five assertions in that method. If it fails again, please help me by telling me which one failed.
Regards, Chris
On Tue, Mar 24, 2009 at 12:42 PM, Ross Boylan ross@biostat.ucsf.edu wrote:
On Tue, 2009-03-24 at 10:05 -0500, Chris Muller wrote:
Hmm, take a look at TestSuite>>#tests. In my image I have:
tests tests isNil ifTrue: [tests := OrderedCollection new]. ^tests
but it sounds like the Damien image changed it to a Set,
Yes.
I wonder why? Oh well..
I would revert that method back to using an OrderedCollection and try again, or don't use that image..
- Chris
After doing that, the test ran for awhile and then said Cannot launch /usr/local/src/insurance/_magmaTestclient1.image because OSProcess package is not loaded. Please launch this image yourself before Proceeding. I launched it manually and gave it time to clean up. I launched several more images this way.
Testing proceeded for awhile and then hung (main image unresponsive). The last visible line in the log was remote performing client2CommitAnyway with arguments #() in client2, though the scrollbar suggests there might be an additional line below that.
The client2 image shows an assertion failure. Stack is
VM: unix - a SmalltalkImage Image: Squeak3.10.2 [latest update: #7179]
SecurityManager state: Restricted: false FileAccess: true SocketAccess: true Working Dir /usr/local/src/insurance Trusted Dir /usr/local/src/insurance/secure Untrusted Dir /usr/local/src/insurance/My Squeak
MagmaCollectionTester(TestCase)>>signalFailure: Receiver: aMagmaCollectionTester Arguments and temporary variables: aString: 'Assertion failed' Receiver's instance variables: testSelector: nil magmaConsole: nil peerConsole: nil clientSession: a MagmaSession corn.betterworld.us:51969 localRoot: a Dictionary('locations'->an OrderedCollection(a MaTestMailingAddres...etc... proxy: nil original34990: nil forwardRecoverySignaled: false timeToVerifyRestore: false shouldStopGeneratingSequenceNumbers: nil sequenceNumbers: nil dormantObject: nil objectToAdvance: #('object changed') forwardRecoveryRequirement: nil shouldStopFlooding: false refreshTestFixture: an Array(an OrderedCollection(an Object an Object) a MagmaC...etc... nonPersistentSamples: nil samples: nil samplesInMc: nil fifthElement: nil
MagmaCollectionTester(TestCase)>>assert: Receiver: aMagmaCollectionTester Arguments and temporary variables: aBooleanOrBlock: false Receiver's instance variables: testSelector: nil magmaConsole: nil peerConsole: nil clientSession: a MagmaSession corn.betterworld.us:51969 localRoot: a Dictionary('locations'->an OrderedCollection(a MaTestMailingAddres...etc... proxy: nil original34990: nil forwardRecoverySignaled: false timeToVerifyRestore: false shouldStopGeneratingSequenceNumbers: nil sequenceNumbers: nil dormantObject: nil objectToAdvance: #('object changed') forwardRecoveryRequirement: nil shouldStopFlooding: false refreshTestFixture: an Array(an OrderedCollection(an Object an Object) a MagmaC...etc... nonPersistentSamples: nil samples: nil samplesInMc: nil fifthElement: nil
MagmaCollectionTester(MagmaTestCase)>>client2CommitAnyway Receiver: aMagmaCollectionTester Arguments and temporary variables: arr: {'client1'->true . 'client2'->'client2 desired change' . 'conflict'->'clie...etc... Receiver's instance variables: testSelector: nil magmaConsole: nil peerConsole: nil clientSession: a MagmaSession corn.betterworld.us:51969 localRoot: a Dictionary('locations'->an OrderedCollection(a MaTestMailingAddres...etc... proxy: nil original34990: nil forwardRecoverySignaled: false timeToVerifyRestore: false shouldStopGeneratingSequenceNumbers: nil sequenceNumbers: nil dormantObject: nil objectToAdvance: #('object changed') forwardRecoveryRequirement: nil shouldStopFlooding: false refreshTestFixture: an Array(an OrderedCollection(an Object an Object) a MagmaC...etc... nonPersistentSamples: nil samples: nil samplesInMc: nil fifthElement: nil
MaNetworkTestPlayer>>remotePerform:withArguments: Receiver: a MaNetworkTestPlayer Arguments and temporary variables: selector: #client2CommitAnyway anArray: #() result: nil Receiver's instance variables: testCase: aMagmaCollectionTester server: a MaNetworkRequestServer
--- The full stack --- MagmaCollectionTester(TestCase)>>signalFailure: MagmaCollectionTester(TestCase)>>assert: MagmaCollectionTester(MagmaTestCase)>>client2CommitAnyway MaNetworkTestPlayer>>remotePerform:withArguments: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - MaRemotePerformRequest>>processFor: MaNetworkTestPlayer>>processRequest: [] in MaNetworkTestPlayerFacade>>startFor: {[:req | testPlayer processRequest: req]} [] in MaNetworkRequestServer(MaRequestServer)>>processRequest: {[aMaClientServerRequest = self connectionRequest ifTrue: [self connectionI...]} BlockContext>>on:do: MaNetworkRequestServer(MaRequestServer)>>processRequest: MaNetworkRequestServer>>processRequestByteArray: [] in MaServerSocket>>initialize {[:lifecycle | server processRequestByteArray: lifecycle]} MaServerSocket>>processRequest: [] in MaServerSocket>>startProcessingRequests {[self processRequest: self dequeueByteArrayRequest]} BlockContext>>on:do: [] in MaServerSocket>>startProcessingRequests {[[running or: [requestQueue notEmpty]] whileTrue: [[self processRequest:...]} ...etc...
magma@lists.squeakfoundation.org