[squeak-dev] Re: The Trunk: KernelTests-dtl.235.mcz

David T. Lewis lewis at mail.msen.com
Tue Nov 6 22:09:44 UTC 2012


On Tue, Nov 06, 2012 at 01:56:51PM -0800, glenpaling wrote:
> These tests both fail with a virgin copy of Squeak 4.3. They weren't present
> in 4.2. 
> 
> In regard to socket reuse, this document:
> http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man2/setsockopt.2.html
> says that it's supported, however, only mentions receiving: "This option
> permits multiple instances of a program to each /receive/ UDP/IP multicast
> or broadcast datagrams destined for the bound port." The failing test
> performs a send on one socket and a receive on another. Could this be the
> problem? I'll tinker with UDP sockets tonight to see if I can get two
> receiving. Here's the stack:

Thanks Glen,

The tests were probably written on a Windows system, and it is likely
that differences among the various platforms will produce different results.
If you can figure out why the test is failing, we can maybe provide a
better explanation in the test comments, or possibly change the test to
accommodate the differences.

Dave


> 
> VM: Mac OS - Smalltalk
> Image: Squeak4.3 [latest update: #12270]
> 
> SecurityManager state:
> Restricted: false
> FileAccess: true
> SocketAccess: true
> Working Dir /Users/eglenpaling/Documents/Smalltalk/Squeak 4.4 Testing/target
> Cog
> Trusted Dir /foobar/tooBar/forSqueak/bogus/
> Untrusted Dir
> /Users/eglenpaling/Library/Preferences/Croquet/Internet/Untrusted
> 
> SocketTest(TestCase)>>signalFailure:
> 	Receiver: SocketTest>>#testSocketReuse
> 	Arguments and temporary variables: 
> 		aString: 	'Assertion failed'
> 	Receiver's instance variables: 
> 		testSelector: 	#testSocketReuse
> 		timeout: 	nil
> 		listenerSocket: 	a Socket[waitingForConnection]
> 		clientSocket: 	nil
> 		serverSocket: 	nil
> 
> SocketTest(TestCase)>>assert:
> 	Receiver: SocketTest>>#testSocketReuse
> 	Arguments and temporary variables: 
> 		aBooleanOrBlock: 	false
> 	Receiver's instance variables: 
> 		testSelector: 	#testSocketReuse
> 		timeout: 	nil
> 		listenerSocket: 	a Socket[waitingForConnection]
> 		clientSocket: 	nil
> 		serverSocket: 	nil
> 
> SocketTest(TestCase)>>should:
> 	Receiver: SocketTest>>#testSocketReuse
> 	Arguments and temporary variables: 
> 		aBlock: 	[closure] in [] in SocketTest>>testSocketReuse
> 	Receiver's instance variables: 
> 		testSelector: 	#testSocketReuse
> 		timeout: 	nil
> 		listenerSocket: 	a Socket[waitingForConnection]
> 		clientSocket: 	nil
> 		serverSocket: 	nil
> 
> [] in SocketTest>>testSocketReuse
> 	Receiver: SocketTest>>#testSocketReuse
> 	Arguments and temporary variables: 
> <<error during printing>
> 	Receiver's instance variables: 
> 		testSelector: 	#testSocketReuse
> 		timeout: 	nil
> 		listenerSocket: 	a Socket[waitingForConnection]
> 		clientSocket: 	nil
> 		serverSocket: 	nil
> 
> BlockClosure>>ensure:
> 	Receiver: [closure] in SocketTest>>testSocketReuse
> 	Arguments and temporary variables: 
> 		aBlock: 	[closure] in SocketTest>>testSocketReuse
> 		complete: 	nil
> 		returnValue: 	nil
> 	Receiver's instance variables: 
> 		outerContext: 	SocketTest>>testSocketReuse
> 		startpc: 	123
> 		numArgs: 	0
> 
> SocketTest>>testSocketReuse
> 	Receiver: SocketTest>>#testSocketReuse
> 	Arguments and temporary variables: 
> <<error during printing>
> 	Receiver's instance variables: 
> 		testSelector: 	#testSocketReuse
> 		timeout: 	nil
> 		listenerSocket: 	a Socket[waitingForConnection]
> 		clientSocket: 	nil
> 		serverSocket: 	nil
> 
> SocketTest(TestCase)>>performTest
> 	Receiver: SocketTest>>#testSocketReuse
> 	Arguments and temporary variables: 
> 
> 	Receiver's instance variables: 
> 		testSelector: 	#testSocketReuse
> 		timeout: 	nil
> 		listenerSocket: 	a Socket[waitingForConnection]
> 		clientSocket: 	nil
> 		serverSocket: 	nil
> 
> [] in [] in SocketTest(TestCase)>>runCase
> 	Receiver: SocketTest>>#testSocketReuse
> 	Arguments and temporary variables: 
> 
> 	Receiver's instance variables: 
> 		testSelector: 	#testSocketReuse
> 		timeout: 	nil
> 		listenerSocket: 	a Socket[waitingForConnection]
> 		clientSocket: 	nil
> 		serverSocket: 	nil
> 
> BlockClosure>>on:do:
> 	Receiver: [closure] in [] in SocketTest(TestCase)>>runCase
> 	Arguments and temporary variables: 
> 		exception: 	an ExceptionSet
> 		handlerAction: 	[closure] in [] in SocketTest(TestCase)>>timeout:after:
> 		handlerActive: 	false
> 	Receiver's instance variables: 
> 		outerContext: 	[] in SocketTest(TestCase)>>runCase
> 		startpc: 	62
> 		numArgs: 	0
> 
> [] in SocketTest(TestCase)>>timeout:after:
> 	Receiver: SocketTest>>#testSocketReuse
> 	Arguments and temporary variables: 
> <<error during printing>
> 	Receiver's instance variables: 
> 		testSelector: 	#testSocketReuse
> 		timeout: 	nil
> 		listenerSocket: 	a Socket[waitingForConnection]
> 		clientSocket: 	nil
> 		serverSocket: 	nil
> 
> BlockClosure>>ensure:
> 	Receiver: [closure] in SocketTest(TestCase)>>timeout:after:
> 	Arguments and temporary variables: 
> 		aBlock: 	[closure] in SocketTest(TestCase)>>timeout:after:
> 		complete: 	nil
> 		returnValue: 	nil
> 	Receiver's instance variables: 
> 		outerContext: 	SocketTest(TestCase)>>timeout:after:
> 		startpc: 	153
> 		numArgs: 	0
> 
> SocketTest(TestCase)>>timeout:after:
> 	Receiver: SocketTest>>#testSocketReuse
> 	Arguments and temporary variables: 
> 		aBlock: 	[closure] in [] in SocketTest(TestCase)>>runCase
> 		seconds: 	5
> 		delay: 	a Delay(5000 msecs)
> 		watchdog: 	a Process in Process>>terminate
> 		theProcess: 	#(nil)
> 	Receiver's instance variables: 
> 		testSelector: 	#testSocketReuse
> 		timeout: 	nil
> 		listenerSocket: 	a Socket[waitingForConnection]
> 		clientSocket: 	nil
> 		serverSocket: 	nil
> 
> [] in SocketTest(TestCase)>>runCase
> 	Receiver: SocketTest>>#testSocketReuse
> 	Arguments and temporary variables: 
> 
> 	Receiver's instance variables: 
> 		testSelector: 	#testSocketReuse
> 		timeout: 	nil
> 		listenerSocket: 	a Socket[waitingForConnection]
> 		clientSocket: 	nil
> 		serverSocket: 	nil
> 
> BlockClosure>>ensure:
> 	Receiver: [closure] in SocketTest(TestCase)>>runCase
> 	Arguments and temporary variables: 
> 		aBlock: 	[closure] in SocketTest(TestCase)>>runCase
> 		complete: 	nil
> 		returnValue: 	nil
> 	Receiver's instance variables: 
> 		outerContext: 	SocketTest(TestCase)>>runCase
> 		startpc: 	45
> 		numArgs: 	0
> 
> SocketTest(TestCase)>>runCase
> 	Receiver: SocketTest>>#testSocketReuse
> 	Arguments and temporary variables: 
> 
> 	Receiver's instance variables: 
> 		testSelector: 	#testSocketReuse
> 		timeout: 	nil
> 		listenerSocket: 	a Socket[waitingForConnection]
> 		clientSocket: 	nil
> 		serverSocket: 	nil
> 
> [] in SocketTest(TestCase)>>debug
> 	Receiver: SocketTest>>#testSocketReuse
> 	Arguments and temporary variables: 
> 
> 	Receiver's instance variables: 
> 		testSelector: 	#testSocketReuse
> 		timeout: 	nil
> 		listenerSocket: 	a Socket[destroyed]
> 		clientSocket: 	nil
> 		serverSocket: 	nil
> 
> BlockClosure>>ensure:
> 	Receiver: [closure] in SocketTest(TestCase)>>debug
> 	Arguments and temporary variables: 
> 		aBlock: 	[closure] in SocketTest(TestCase)>>debug
> 		complete: 	nil
> 		returnValue: 	nil
> 	Receiver's instance variables: 
> 		outerContext: 	SocketTest(TestCase)>>debug
> 		startpc: 	62
> 		numArgs: 	0
> 
> SocketTest(TestCase)>>debug
> 	Receiver: SocketTest>>#testSocketReuse
> 	Arguments and temporary variables: 
> 
> 	Receiver's instance variables: 
> 		testSelector: 	#testSocketReuse
> 		timeout: 	nil
> 		listenerSocket: 	a Socket[destroyed]
> 		clientSocket: 	nil
> 		serverSocket: 	nil
> 
> [] in TestRunner>>debugSuite:
> 	Receiver: a TestRunner
> 	Arguments and temporary variables: 
> <<error during printing>
> 	Receiver's instance variables: 
> 		categories: 	#(#'KernelTests-Chronology' #'KernelTests-Classes'
> #'KernelTests-Me...etc...
> 		categoriesSelected: 	a Set(#'NetworkTests-Kernel')
> 		classes: 	{SocketStreamTest . SocketTest}
> 		classIndex: 	2
> 		classesSelected: 	a Set(SocketTest)
> 		failedList: 	{SocketTest>>#testSocketReuse . SocketTest>>#testUDP}
> 		failedSelected: 	SocketTest>>#testSocketReuse
> 		errorList: 	#()
> 		errorSelected: 	nil
> 		lastUpdate: 	3529673470
> 		result: 	14 run, 12 passes, 0 expected failures, 2 failures, 0 errors, 0
> unexpec...etc...
> 		previousRun: 	nil
> 		categoryPattern: 	nil
> 		classPattern: 	nil
> 
> 
> --- The full stack ---
> SocketTest(TestCase)>>signalFailure:
> SocketTest(TestCase)>>assert:
> SocketTest(TestCase)>>should:
> [] in SocketTest>>testSocketReuse
> BlockClosure>>ensure:
> SocketTest>>testSocketReuse
> SocketTest(TestCase)>>performTest
> [] in [] in SocketTest(TestCase)>>runCase
> BlockClosure>>on:do:
> [] in SocketTest(TestCase)>>timeout:after:
> BlockClosure>>ensure:
> SocketTest(TestCase)>>timeout:after:
> [] in SocketTest(TestCase)>>runCase
> BlockClosure>>ensure:
> SocketTest(TestCase)>>runCase
> [] in SocketTest(TestCase)>>debug
> BlockClosure>>ensure:
> SocketTest(TestCase)>>debug
> [] in TestRunner>>debugSuite:
>  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> 
> 
> 
> 
> 
> 
> 
> --
> View this message in context: http://forum.world.st/The-Trunk-KernelTests-dtl-235-mcz-tp4653931p4654160.html
> Sent from the Squeak - Dev mailing list archive at Nabble.com.


More information about the Squeak-dev mailing list