code: def test_raises_tp_hsdp_not_supported_error(self):
      mesh_2d = init_device_mesh(
          self.device_type, (2, self.world_size // 2)
      )
      # manually set a fake parent mesh to mesh_2d
      fake_parent_mesh = init_device_mesh(
          self.device_type, (self.world_size,)
      )
      _mesh_resources.child_to_parent_mapping[
          mesh_2d
      ] = fake_parent_mesh
  
      with self.assertRaisesRegex(
          RuntimeError,
          r"Hybrid sharding \+ TP is not supported yet.",
      ):
          model = FSDP(
              DenseModel().cuda(),
              device_mesh=mesh_2d,
              sharding_strategy=ShardingStrategy.HYBRID_SHARD,
          )
  
imports: import io
  from copy import deepcopy
  import torch
  import torch.distributed
  import torch.nn
  from torch.distributed._shard.sharded_tensor import ShardedTensor
  from torch.distributed._tensor import DTensor, Replicate, Shard
  from torch.distributed.device_mesh import _mesh_resources, init_device_mesh
  from torch.distributed.fsdp import FullyShardedDataParallel
  from torch.distributed.fsdp.api import ShardedOptimStateDictConfig, ShardedStateDictConfig, ShardingStrategy, StateDictType
  from torch.testing._internal.common_utils import instantiate_parametrized_tests, parametrize, run_tests
  from torch.testing._internal.distributed._tensor.common_dtensor import DTensorTestBase, skip_if_lt_x_gpu, with_comms
label_desc: Use image node_id 1 for calling the TestHSDPWithDeviceMeshAndDTensor obj's underlying member method code with example usage: obj.test_raises_tp_hsdp_not_supported_error() without return types