# cherrypy.test.test_states module

class cherrypy.test.test_states.Dependency(bus)

  Bases: `object`

  graceful()
  start()
  startthread(thread_id)
  stop()
  stopthread(thread_id)
  subscribe()

class cherrypy.test.test_states.PluginTests(methodName='runTest')

  Bases: `CPWebCase`

  _classSetupFailed = False
  _class_cleanups = []
  test_daemonize()

class cherrypy.test.test_states.ServerStateTests(methodName='runTest')

  Bases: `CPWebCase`

  _classSetupFailed = False
  _class_cleanups = []
  setUp()

    Hook method for setting up the test fixture before exercising it.

  static setup_server()
  test_0_NormalStateFlow()
  test_1_Restart()
  test_2_KeyboardInterrupt()
  test_4_Autoreload()
  test_5_Start_Error()

class cherrypy.test.test_states.SignalHandlingTests(methodName='runTest')

  Bases: `CPWebCase`

  _classSetupFailed = False
  _class_cleanups = []
  _require_signal_and_kill(signal_name)
  test_SIGHUP_daemonized()
  test_SIGHUP_tty()
  test_SIGTERM()

    SIGTERM should shut down the server whether daemonized or not.

  test_signal_handler_unsubscribe()

cherrypy.test.test_states.setup_server()

cherrypy.test.test_states.test_safe_wait_INADDR_ANY()

  Wait on INADDR_ANY should not raise IOError.

  In cases where the loopback interface does not exist, CherryPy cannot effectively determine if a port binding to INADDR_ANY was effected. In this situation, CherryPy should assume that it failed to detect the binding (not that the binding failed) and only warn that it could not verify it.