def assets_server(): port = get_free_port() server = HTTPServer(('127.0.0.1', port), AssetsHTTPRequestHandler) server.counter = [0] background_thread = Thread(target=server.serve_forever) background_thread.daemon = True background_thread.start() try: yield server, 'http://127.0.0.1:{}/'.format(port) finally: server.server_close()