code: def test_launch_without_env(self):
      nnodes = 1
      nproc_per_node = 4
      world_size = nnodes * nproc_per_node
      sock = get_socket_with_port()
      with closing(sock):
          master_port = sock.getsockname()[1]
      args = [
          f"--nnodes={nnodes}",
          f"--nproc-per-node={nproc_per_node}",
          "--monitor-interval=1",
          "--start-method=spawn",
          "--master-addr=localhost",
          f"--master-port={master_port}",
          "--node-rank=0",
          path("bin/test_script_local_rank.py"),
      ]
      launch.main(args)
  
file_path: pytorch/test/distributed/launcher/launch_test.py
imports: import os
  import shutil
  import tempfile
  import unittest
  from contextlib import closing
  import torch.distributed.launch
  from torch.distributed.elastic.utils import get_socket_with_port
  from torch.testing._internal.common_utils import TEST_WITH_DEV_DBG_ASAN, skip_but_pass_in_sandcastle_if
label_desc: Use image node_id 3 for calling the LaunchTest obj's underlying member method code with example usage: obj.test_launch_without_env() without return types