Ensure that this works:

```python
@setup
def mytask():
    print("I am a setup task")

with dag_maker() as dag:
    mytask.override(task_id='newtask')

assert len(dag.task_group.children) == 1
setup_task = dag.task_group.children["newtask"]
assert setup_task._is_setup
```
and teardown also works
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
    @pytest.mark.parametrize("on_failure_fail_dagrun", [True, False])
    def test_classic_teardown_task_works_with_on_failure_fail_dagrun(self, on_failure_fail_dagrun, dag_maker):
        with dag_maker() as dag:
            BashOperator.as_teardown(
                task_id="mytask",
                bash_command='echo "I am a teardown task"',
                on_failure_fail_dagrun=on_failure_fail_dagrun,
            )
        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