code: def test_teardown_task_decorators_works_with_on_failure_fail_dagrun(
      self, on_failure_fail_dagrun, dag_maker
  ):
      @teardown(on_failure_fail_dagrun=on_failure_fail_dagrun)
      def mytask():
          print("I am a teardown task")
  
      with dag_maker() as dag:
          mytask()
      teardown_task = dag.task_group.children["mytask"]
      assert teardown_task.is_teardown
      assert (
          teardown_task.on_failure_fail_dagrun is on_failure_fail_dagrun
      )
      assert len(dag.task_group.children) == 1
  
imports: from __future__ import annotations
  import pytest
  from airflow.decorators import setup, task, task_group, teardown
  from airflow.decorators.setup_teardown import context_wrapper
  from airflow.exceptions import AirflowException
  from airflow.operators.bash import BashOperator
label_desc: Use image node_id 9 for calling the TestSetupTearDownTask obj's underlying member method code with example usage: obj.test_teardown_task_decorators_works_with_on_failure_fail_dagrun(on_failure_fail_dagrun, dag_maker) without return types