code: def test_pool3d():
      combinations = [
          [torch.nn.MaxPool3d, patched_module.torch_nn_maxpool3d],
          [torch.nn.AvgPool3d, patched_module.torch_nn_avgpool3d],
      ]
  
      for layer_cls, patch_func in combinations:
          pooler = layer_cls(kernel_size=3)
  
          # test max pool 3d
          data = torch.rand(2, 3, 4, 4, 4)
          materialized_output = pooler(data)
          _assert_output_shape(
              data=data,
              module=pooler,
              patch_fn=patch_func,
              expect_exception=False,
              output_shape=materialized_output.shape,
          )
  
          # test max pool 3d
          data = torch.rand(2, 4, 4, 4)
          materialized_output = pooler(data)
          _assert_output_shape(
              data=data,
              module=pooler,
              patch_fn=patch_func,
              expect_exception=False,
              output_shape=materialized_output.shape,
          )
  
          # test max pool 3d
          data = torch.rand(2, 3, 4)
          _assert_output_shape(
              data=data,
              module=pooler,
              patch_fn=patch_func,
              expect_exception=True,
              output_shape=None,
          )
  
file_path: colossalai/tests/test_fx/test_tracer/test_patched_module.py
imports: import torch
  from colossalai.fx.tracer.meta_patch import patched_module
  from colossalai.testing import clear_cache_before_run
label_desc: Use image node_id 14 for calling a global function with example usage: test_pool3d() without return types