code: def test_custom_batch_sampler():
      """Test that a custom (non-PyTorch) batch sampler requires the user to set `use_distributed_sampler=False`."""
  
      class CustomBatchSampler:  # not inheriting from `BatchSampler`
          def __iter__(self):
              while True:
                  yield [0, 1, 2, 3]
  
      batch_sampler = CustomBatchSampler()
      dataloader = DataLoader(range(100), batch_sampler=batch_sampler)
      with pytest.raises(
          TypeError,
          match=r"can't inject a \(distributed\) sampler into your batch sampler",
      ):
          _ = _update_dataloader(dataloader, sampler=Mock())
  
imports: import contextlib
  import os
  import random
  from unittest import mock
  from unittest.mock import Mock
  import lightning.fabric
  import numpy
  import pytest
  import torch
  from lightning.fabric.utilities.data import AttributeDict, _get_dataloader_init_args_and_kwargs, _replace_dunder_methods, _replace_value_in_saved_args, _set_sampler_epoch, _update_dataloader, _WrapAttrTag, has_iterable_dataset, has_len, suggested_max_num_workers
  from lightning.fabric.utilities.exceptions import MisconfigurationException
  from lightning_utilities.test.warning import no_warning_call
  from torch import Tensor
  from torch.utils.data import BatchSampler, DataLoader, RandomSampler
  from tests_fabric.helpers.models import RandomDataset, RandomIterableDataset
label_desc: Use image node_id 12 for calling a global function with example usage: test_custom_batch_sampler() without return types