class_docstr: Overriding Flask's implementation of
  get_send_file_max_age, test_client & run
  
  :param import_name: the name of the application package
  :param reaper_on: whether to run auto-reaper subprocess
  :type reaper_on: bool
  :param args: Optional arguments to be passed to :class:`flask:flask.Flask`
  :param kwargs: Optional keyword arguments to be passed to :class:`flask:flask.Flask`
class_docstr_tok: ["Overriding","Flask","'s","implementation","of","get_send_file_max_age",",","test_client","&","run",":","param","import_name",":","the","name","of","the","application","package",":","param","reaper_on",":","whether","to","run","auto-reaper","subprocess",":","type","reaper_on",":","bool",":","param","args",":","Optional","arguments","to","be","passed","to",":","class",":","`","flask",":","flask.Flask","`",":","param","kwargs",":","Optional","keyword","arguments","to","be","passed","to",":","class",":","`","flask",":","flask.Flask","`"]
docstr: Overriding Flask's implementation of test_client so we can specify ports for testing and
  whether auto-reaper should be running
  
  :param reaper_on: whether to run auto-reaper subprocess
  :type reaper_on: bool
  :param port: port number of flask application
  :type port: int
  :param args: Optional arguments to be passed to :meth:`flask:flask.Flask.test_client`
  :param kwargs: Optional keyword arguments to be passed to :meth:`flask:flask.Flask.test_client`
  :return: Flask's test client
  :rtype: :class:`dtale.app.DtaleFlaskTesting`
docstr_tok: ["Overriding","Flask","'s","implementation","of","test_client","so","we","can","specify","ports","for","testing","and","whether","auto-reaper","should","be","running",":","param","reaper_on",":","whether","to","run","auto-reaper","subprocess",":","type","reaper_on",":","bool",":","param","port",":","port","number","of","flask","application",":","type","port",":","int",":","param","args",":","Optional","arguments","to","be","passed","to",":","meth",":","`","flask",":","flask.Flask.test_client","`",":","param","kwargs",":","Optional","keyword","arguments","to","be","passed","to",":","meth",":","`","flask",":","flask.Flask.test_client","`",":","return",":","Flask","'s","test","client",":","rtype",":",":","class",":","`","dtale.app.DtaleFlaskTesting","`"]
code: def test_client(
      self, reaper_on=False, port=None, app_root=None, *args, **kwargs
  ):
      """
      Overriding Flask's implementation of test_client so we can specify ports for testing and
      whether auto-reaper should be running
  
      :param reaper_on: whether to run auto-reaper subprocess
      :type reaper_on: bool
      :param port: port number of flask application
      :type port: int
      :param args: Optional arguments to be passed to :meth:`flask:flask.Flask.test_client`
      :param kwargs: Optional keyword arguments to be passed to :meth:`flask:flask.Flask.test_client`
      :return: Flask's test client
      :rtype: :class:`dtale.app.DtaleFlaskTesting`
      """
      self.reaper_on = reaper_on
      self.app_root = app_root
      if app_root is not None:
          self.config["APPLICATION_ROOT"] = app_root
          self.jinja_env.globals["url_for"] = self.url_for
      self.test_client_class = DtaleFlaskTesting
      return super(DtaleFlask, self).test_client(
          *args, **dict_merge(kwargs, dict(port=port))
      )
  
imports: from __future__ import absolute_import, print_function
  import getpass
  import jinja2
  import logging
  import os
  import pandas
  import random
  import socket
  import sys
  import time
  import traceback
  from builtins import map, str
  from contextlib import closing
  from logging import ERROR
  from threading import Timer
  from werkzeug.routing import Map
  from flask import Flask, jsonify, redirect, render_template, request, url_for
  from flask.testing import FlaskClient
  import requests
  from flask_compress import Compress
  from six import PY3
  import dtale.auth
  import dtale.global_state
  import dtale.config
  from dtale import dtale
  from dtale.cli.clickutils import retrieve_meta_info_and_version, setup_logging
  from dtale.dash_application import views
  from dtale.utils import DuplicateDataError, build_shutdown_url, build_url, dict_merge, fix_url_path, get_host, get_url_unquote, is_app_root_defined, make_list, running_with_flask_debug
  from dtale.views import DtaleData, head_endpoint, is_up, kill, startup
label_desc: Use image node_id 8 for calling the DtaleFlask obj's underlying member method code with example usage: obj.test_client(reaper_on, port, app_root) and returns: super