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>