FramesetHangTests
First, an ExternalMethod?, implemented so:
from time import sleep def stall( secs = 30 ): """ Delay to allow testing. """ sleep( secs ) return "Slept %d seconds" % secs
Called trivially from DTML method called 'test_stall':
<html> <head> <title><dtml-var document_title></title> </head> <body> <h2><dtml-var document_title></h2> <dtml-unless seconds> <dtml-call "REQUEST.set( 'seconds', 60 )"> </dtml-unless> <p><dtml-var "stall( seconds )"></p> </body></html>
Exercised repeatedly through a frameset:
<html> <head> <title> Test Stalling </title> </head> <frameset rows="33%, 33%, 34%"> <frameset cols="33%, 33%, 34%"> <frame name="r1c1" src="test_stall?seconds:int=30"> <frame name="r1c2" src="test_stall?seconds:int=30"> <frame name="r1c3" src="test_stall?seconds:int=30"> </frameset> <frameset cols="33%, 33%, 34%"> <frame name="r2c1" src="test_stall?seconds:int=30"> <frame name="r2c2" src="test_stall?seconds:int=30"> <frame name="r2c3" src="test_stall?seconds:int=30"> </frameset> <frameset cols="33%, 33%, 34%"> <frame name="r3c1" src="test_stall?seconds:int=30"> <frame name="r3c2" src="test_stall?seconds:int=30"> <frame name="r3c3" src="test_stall?seconds:int=30"> </frameset> </frameset> </html>