class_docstr: Command to run unit tests after in-place build
class_docstr_tok: ["Command","to","run","unit","tests","after","in-place","build"]
code: def finalize_options(self):
      if self.test_suite and self.test_module:
          msg = "You may specify a module or a suite, but not both"
          raise DistutilsOptionError(msg)
  
      if self.test_suite is None:
          if self.test_module is None:
              self.test_suite = self.distribution.test_suite
          else:
              self.test_suite = self.test_module + ".test_suite"
  
      if self.test_loader is None:
          self.test_loader = getattr(
              self.distribution, "test_loader", None
          )
      if self.test_loader is None:
          self.test_loader = "setuptools.command.test:ScanningLoader"
      if self.test_runner is None:
          self.test_runner = getattr(
              self.distribution, "test_runner", None
          )
  
imports: import os
  import operator
  import sys
  import contextlib
  import itertools
  import unittest
  from distutils.errors import DistutilsError, DistutilsOptionError
  from distutils import log
  from unittest import TestLoader
  from pkg_resources import resource_listdir, resource_exists, normalize_path, working_set, evaluate_marker, add_activation_listener, require
  from .._importlib import metadata
  from setuptools import Command
  from setuptools.extern.more_itertools import unique_everseen
  from setuptools.extern.jaraco.functools import pass_none
label_desc: Use image node_id 2 for calling the test obj's underlying member method code with example usage: obj.finalize_options() without return types