code: def test_incorrect_ddp_script_spawning(tmpdir):
      """Test an error message when user accidentally instructs Lightning to spawn children processes on rank > 0."""
  
      class WronglyImplementedEnvironment(LightningEnvironment):
          @property
          def creates_processes_externally(self):
              # returning false no matter what means Lightning would spawn also on ranks > 0 new processes
              return False
  
      model = BoringModel()
      trainer = Trainer(
          default_root_dir=tmpdir,
          strategy="ddp",
          accelerator="cpu",
          devices=2,
          plugins=[WronglyImplementedEnvironment()],
          barebones=True,
      )
      with pytest.raises(
          RuntimeError,
          match="Lightning attempted to launch new distributed processes with `local_rank > 0`.",
      ):
          trainer.fit(model)
  
imports: import os
  from unittest import mock
  from unittest.mock import Mock
  import lightning.pytorch
  import pytest
  import torch
  from lightning.fabric.plugins.environments import ClusterEnvironment, LightningEnvironment
  from lightning.fabric.utilities.distributed import _distributed_is_initialized
  from lightning.fabric.utilities.imports import _TORCH_GREATER_EQUAL_2_0
  from lightning.pytorch import Trainer
  from lightning.pytorch.callbacks import Callback, EarlyStopping
  from lightning.pytorch.demos.boring_classes import BoringDataModule, BoringModel
  from lightning.pytorch.strategies import DDPStrategy
  from lightning.pytorch.strategies.launchers import _SubprocessScriptLauncher
  from lightning.pytorch.strategies.launchers.multiprocessing import _MultiProcessingLauncher
  from lightning.pytorch.trainer import seed_everything
  from torch.distributed.optim import ZeroRedundancyOptimizer
  from torch.multiprocessing import ProcessRaisedException
  from torch.nn.parallel.distributed import DistributedDataParallel
  import tests_pytorch.helpers.pipelines
  from tests_pytorch.helpers.datamodules import ClassifDataModule
  from tests_pytorch.helpers.runif import RunIf
  from tests_pytorch.helpers.simple_models import ClassificationModel
label_desc: Use image node_id 18 for calling a global function with example usage: test_incorrect_ddp_script_spawning(tmpdir) and returns: False