code: def test_set_working_directory(self):
      JProcessPythonEnvironmentManager = (
          get_gateway().jvm.org.apache.flink.python.env.process.ProcessPythonEnvironmentManager
      )
  
      output_file = os.path.join(self.tmp_dir, "output.txt")
      pyflink_dir = os.path.join(self.tmp_dir, "pyflink")
      os.mkdir(pyflink_dir)
      # just create an empty file
      open(os.path.join(pyflink_dir, "__init__.py"), "a").close()
      fn_execution_dir = os.path.join(pyflink_dir, "fn_execution")
      os.mkdir(fn_execution_dir)
      open(os.path.join(fn_execution_dir, "__init__.py"), "a").close()
      beam_dir = os.path.join(fn_execution_dir, "beam")
      os.mkdir(beam_dir)
      open(os.path.join(beam_dir, "__init__.py"), "a").close()
      with open(os.path.join(beam_dir, "beam_boot.py"), "w") as f:
          f.write(
              "import os\nwith open(r'%s', 'w') as f:\n    f.write(os.getcwd())"
              % output_file
          )
  
      # test if the name of working directory variable of udf runner is consist with
      # ProcessPythonEnvironmentManager.
      self.env[
          JProcessPythonEnvironmentManager.PYTHON_WORKING_DIR
      ] = self.tmp_dir
      self.env["python"] = sys.executable
      args = [self.runner_path]
      subprocess.check_output(args, env=self.env)
      process_cwd = None
      if os.path.exists(output_file):
          with open(output_file, "r") as f:
              process_cwd = f.read()
  
      self.assertEqual(
          os.path.realpath(self.tmp_dir),
          process_cwd,
          "setting working directory variable is not work!",
      )
  
imports: import os
  import shutil
  import socket
  import subprocess
  import sys
  import tempfile
  import time
  import unittest
  import grpc
  from concurrent import futures
  from apache_beam.portability.api.org.apache.beam.model.fn_execution.v1.beam_provision_api_pb2 import ProvisionInfo, GetProvisionInfoResponse
  from apache_beam.portability.api.org.apache.beam.model.fn_execution.v1.beam_provision_api_pb2_grpc import ProvisionServiceServicer, add_ProvisionServiceServicer_to_server
  from google.protobuf import json_format
  from pyflink.java_gateway import get_gateway
  from pyflink.pyflink_gateway_server import on_windows
  from pyflink.testing.test_case_utils import PyFlinkTestCase
label_desc: Use image node_id 5 for calling the PythonBootTests obj's underlying member method code with example usage: obj.test_set_working_directory() without return types