code: def test_idle_label():
      strategy = IdleLabel("test", "my_mark")
      addresses = config.get_external_addresses(label="test")
      assert len(addresses) == 2
      allocated = {
          addresses[0]: {
              create_actor_ref(addresses[0], b"id1"): (strategy, None)
          }
      }
      assert (
          strategy.get_allocated_address(config, allocated)
          == addresses[1]
      )
  
      strategy2 = IdleLabel("test", "my_mark")
      allocated = {
          addresses[0]: {
              create_actor_ref(addresses[0], b"id1"): (strategy, None),
              create_actor_ref(addresses[0], b"id2"): (
                  RandomLabel("test"),
                  None,
              ),
          },
          addresses[1]: {
              create_actor_ref(addresses[1], b"id3"): (strategy2, None)
          },
      }
      with pytest.raises(NoIdleSlot):
          strategy2.get_allocated_address(config, allocated)
  
file_path: mars/mars/oscar/backends/mars/tests/test_allocate_strategy.py
imports: import pytest
  from ....None import create_actor_ref
  from ....errors import NoIdleSlot
  from ...allocate_strategy import AddressSpecified, MainPool, RandomSubPool, Random, RandomLabel, IdleLabel
  from ...config import ActorPoolConfig
label_desc: Use image node_id 6 for calling a global function with example usage: test_idle_label() without return types