code: def setUp(self):
      super().setUp()
      self._test_dir = os.path.join(
          os.environ.get(
              "TEST_UNDECLARED_OUTPUTS_DIR", self.get_temp_dir()
          ),
          self._testMethodName,
      )
  
      self._pipeline_name = "penguin_test"
      self._data_root = os.path.join(os.path.dirname(__file__), "data")
      self._schema_path = os.path.join(
          os.path.dirname(__file__),
          "schema",
          "user_provided",
          "schema.pbtxt",
      )
      self._module_file = os.path.join(
          os.path.dirname(__file__), "penguin_utils_keras.py"
      )
      self._serving_model_dir = os.path.join(
          self._test_dir, "serving_model"
      )
      self._pipeline_root = os.path.join(
          self._test_dir, "tfx", "pipelines", self._pipeline_name
      )
      self._metadata_path = os.path.join(
          self._test_dir,
          "tfx",
          "metadata",
          self._pipeline_name,
          "metadata.db",
      )
      # From go/kokoro-native-docker-migration, the new Ubuntu 20.04 has an issue
      # with connecting the docker container by "localhost". Therefore, it
      # manually fetches and injects the host ip address of the infra validator's
      # local docker runner.
      self._infra_validator_host_ip_address = (
          subprocess.check_output(
              "/sbin/ip route | awk '/default/ { print $3 }'",
              shell=True,
          )
          .decode("utf-8")
          .strip()
      )
  
imports: import os
  import subprocess
  from absl.testing import parameterized
  import tensorflow
  from tfx.dsl.io import fileio
  from tfx.examples.penguin import penguin_pipeline_local_infraval
  from tfx.orchestration import metadata
  from tfx.orchestration.local.local_dag_runner import LocalDagRunner
  from tfx.utils import path_utils
  from ml_metadata.proto import metadata_store_pb2
label_desc: Use image node_id 1 for calling the PenguinPipelineLocalInfravalEndToEndTest obj's underlying member method code with example usage: obj.setUp() without return types