code: def test_setup_decorator_context_manager_errors_with_mixed_up_tasks(
      self, dag_maker
  ):
      @setup
      def setuptask():
          print("setup")
  
      @setup
      def setuptask2():
          print("setup")
  
      @task()
      def mytask():
          print("mytask")
  
      @teardown
      def teardowntask():
          print("teardown")
  
      with pytest.raises(
          ValueError,
          match="All tasks in the list must be either setup or teardown tasks",
      ):
          with dag_maker():
              with setuptask() << context_wrapper(
                  [teardowntask(), setuptask2()]
              ):
                  mytask()
  
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 34 for calling the TestSetupTearDownTask obj's underlying member method code with example usage: obj.test_setup_decorator_context_manager_errors_with_mixed_up_tasks(dag_maker) without return types