class_docstr: This class tests all member functions of crypten package
code: def test_mutation(self) -> None:
      for _ in range(10):
          tensor = torch.tensor([self.rank])
          result = comm.get().all_gather(tensor)
          # Mutate the tensor, which should have no effect since the gather
          # has finished. If we don't clone the tensor though, this might
          # mutate one of the tensors received by the other party.
          tensor += 1
          self.assertEqual(
              result,
              [torch.tensor([rank]) for rank in range(self.world_size)],
          )
  
imports: import unittest
  import crypten
  import crypten.communicator
  import numpy
  import torch
  import torch.distributed
  import torch.nn
  import torch.nn.functional
  from crypten.common import serial
  from crypten.config import cfg
  from test.multiprocess_test_case import get_random_test_tensor, MultiProcessTestCase
label_desc: Use image node_id 8 for calling the TestCommunicator obj's underlying member method code with example usage: obj.test_mutation() without return types