code: def test_prim_func_buffer_map():
      @T.prim_func
      def func1(a: T.handle, b: T.handle):
          A = T.match_buffer(a, (128, 128))
          B = T.match_buffer(b, (128, 128))
  
      @T.prim_func
      def func2(a: T.handle, b: T.handle):
          A = T.match_buffer(a, (128, 128))
          B = T.match_buffer(b, (128, 256))
  
      with pytest.raises(ValueError) as ve:
          assert_structural_equal(func1, func2)
      assert _error_message(ve.value) == _expected_result(
          func1,
          func2,
          ObjectPath.root()
          .attr("buffer_map")
          .map_value(func1.params[1])
          .attr("shape")
          .array_index(1)
          .attr("value"),
          ObjectPath.root()
          .attr("buffer_map")
          .map_value(func2.params[1])
          .attr("shape")
          .array_index(1)
          .attr("value"),
      )
  
file_path: tvm/tests/python/tvmscript/test_tvmscript_printer_structural_equal.py
imports: import pytest
  import tvm
  from tvm.ir import assert_structural_equal
  from tvm.relay.op.transform import split
  from tvm.runtime import ObjectPath
  from tvm.script import ir, tir
label_desc: Use image node_id 3 for calling a global function with example usage: test_prim_func_buffer_map() without return types