class_docstr: A test case that starts up an HTTP server.
  
  Subclasses must override `get_app()`, which returns the
  `tornado.web.Application` (or other `.HTTPServer` callback) to be tested.
  Tests will typically use the provided ``self.http_client`` to fetch
  URLs from this server.
  
  Example, assuming the "Hello, world" example from the user guide is in
  ``hello.py``::
  
      import hello
  
      class TestHelloApp(AsyncHTTPTestCase):
          def get_app(self):
              return hello.make_app()
  
          def test_homepage(self):
              response = self.fetch('/')
              self.assertEqual(response.code, 200)
              self.assertEqual(response.body, 'Hello, world')
  
  That call to ``self.fetch()`` is equivalent to ::
  
      self.http_client.fetch(self.get_url('/'), self.stop)
      response = self.wait()
  
  which illustrates how AsyncTestCase can turn an asynchronous operation,
  like ``http_client.fetch()``, into a synchronous operation. If you need
  to do other asynchronous operations in tests, you'll probably need to use
  ``stop()`` and ``wait()`` yourself.
code: def get_http_server(self):
      return HTTPServer(
          self._app,
          io_loop=self.io_loop,
          **self.get_httpserver_options(),
      )
  
imports: from __future__ import absolute_import, division, print_function
  from tornado.log import gen_log, app_log
  from tornado.stack_context import ExceptionStackContext
  from tornado.util import raise_exc_info, basestring_type, PY3
  import functools
  import inspect
  import logging
  import os
  import re
  import signal
  import socket
  import sys
label_desc: Use image node_id 3 for calling the AsyncHTTPTestCase obj's underlying member method code with example usage: obj.get_http_server() and returns: HTTPServer