class_docstr: Base class for integration tests.
class_docstr_tok: ["Base","class","for","integration","tests","."]
code: def tearDown(self):
      # stop TabPy
      if self.process is not None:
          if platform.system() == "Windows":
              subprocess.call(
                  [
                      "taskkill",
                      "/F",
                      "/T",
                      "/PID",
                      str(self.process.pid),
                  ]
              )
          else:
              os.killpg(os.getpgid(self.process.pid), signal.SIGTERM)
          self.process.kill()
  
          # after shutting down TabPy and before we start it again
          # for next test give it some time to terminate.
          time.sleep(5)
  
      # remove temporary files
      if self.delete_temp_folder:
          os.remove(self.state_file_name)
          os.remove(self.config_file_name)
          shutil.rmtree(self.tmp_dir)
  
      super(IntegTestBase, self).tearDown()
  
imports: import coverage
  import http.client
  import os
  import platform
  import shutil
  import signal
  import subprocess
  import tabpy
  import tempfile
  import time
  import unittest
label_desc: Use image node_id 12 for calling the IntegTestBase obj's underlying member method code with example usage: obj.tearDown() without return types