code: def test_suppress_inner_wrapper_teardown_exc() -> None:
      out = []
  
      @hookimpl(wrapper=True)
      def m1():
          out.append("m1 init")
          result = yield
          out.append("m1 finish")
          return result
  
      @hookimpl(wrapper=True)
      def m2():
          out.append("m2 init")
          try:
              yield
              out.append("m2 unreachable")
          except ValueError:
              out.append("m2 suppress")
              return 22
  
      @hookimpl(wrapper=True)
      def m3():
          out.append("m3 init")
          yield
          out.append("m3 raise")
          raise ValueError()
  
      assert MC([m3, m2, m1], {}) == 22
      assert out == [
          "m1 init",
          "m2 init",
          "m3 init",
          "m3 raise",
          "m2 suppress",
          "m1 finish",
      ]
  
imports: from typing import Callable
  from typing import List
  from typing import Mapping
  from typing import Sequence
  from typing import Type
  from typing import Union
  import pytest
  from pluggy import HookCallError
  from pluggy import HookimplMarker
  from pluggy import HookspecMarker
  from pluggy._callers import _multicall
  from pluggy._hooks import HookImpl
label_desc: Use image node_id 21 for calling a global function with example usage: test_suppress_inner_wrapper_teardown_exc() and returns: result, int