Package cherrypy :: Package test :: Module _test_states_demo
[hide private]
[frames] | no frames]

Source Code for Module cherrypy.test._test_states_demo

 1  import os 
 2  import sys 
 3  import time 
 4  starttime = time.time() 
 5   
 6  import cherrypy 
 7   
 8   
9 -class Root:
10
11 - def index(self):
12 return "Hello World"
13 index.exposed = True 14
15 - def mtimes(self):
16 return repr(cherrypy.engine.publish("Autoreloader", "mtimes"))
17 mtimes.exposed = True 18
19 - def pid(self):
20 return str(os.getpid())
21 pid.exposed = True 22
23 - def start(self):
24 return repr(starttime)
25 start.exposed = True 26
27 - def exit(self):
28 # This handler might be called before the engine is STARTED if an 29 # HTTP worker thread handles it before the HTTP server returns 30 # control to engine.start. We avoid that race condition here 31 # by waiting for the Bus to be STARTED. 32 cherrypy.engine.wait(state=cherrypy.engine.states.STARTED) 33 cherrypy.engine.exit()
34 exit.exposed = True
35 36
37 -def unsub_sig():
38 cherrypy.log("unsubsig: %s" % cherrypy.config.get('unsubsig', False)) 39 if cherrypy.config.get('unsubsig', False): 40 cherrypy.log("Unsubscribing the default cherrypy signal handler") 41 cherrypy.engine.signal_handler.unsubscribe() 42 try: 43 from signal import signal, SIGTERM 44 except ImportError: 45 pass 46 else: 47 def old_term_handler(signum=None, frame=None): 48 cherrypy.log("I am an old SIGTERM handler.") 49 sys.exit(0)
50 cherrypy.log("Subscribing the new one.") 51 signal(SIGTERM, old_term_handler) 52 cherrypy.engine.subscribe('start', unsub_sig, priority=100) 53 54
55 -def starterror():
56 if cherrypy.config.get('starterror', False): 57 zerodiv = 1 / 0
58 cherrypy.engine.subscribe('start', starterror, priority=6) 59 60
61 -def log_test_case_name():
62 if cherrypy.config.get('test_case_name', False): 63 cherrypy.log("STARTED FROM: %s" % 64 cherrypy.config.get('test_case_name'))
65 cherrypy.engine.subscribe('start', log_test_case_name, priority=6) 66 67 68 cherrypy.tree.mount(Root(), '/', {'/': {}}) 69