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
"""Ensure context is reset even if an exception happens"""
        with pytest.raises(Exception, match="Hello"):
            with SetupTeardownContext.setup():
                raise Exception("Hello")
        assert SetupTeardownContext.is_setup is False
        assert SetupTeardownContext.is_teardown is False
    def test_teardown_exception(self):
        """Ensure context is reset even if an exception happens"""
        with pytest.raises(Exception, match="Hello"):
            with SetupTeardownContext.teardown():
                raise Exception("Hello")
        assert SetupTeardownContext.is_setup is False
        assert SetupTeardownContext.is_teardown is False
    def test_setup_block_nested(self):
        with SetupTeardownContext.setup():
            with pytest.raises(
                AirflowException,
                match=("You cannot mark a setup or teardown task as setup or teardown again."),
            ):
                with SetupTeardownContext.setup():
                    raise Exception("This should not be reached")
        assert SetupTeardownContext.is_setup is False
        assert SetupTeardownContext.is_teardown is False
    def test_teardown_block_nested(self):