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
},
                {
                    "source": "test",
                    "target": "dataset",
                    "dependency_type": "dataset",
                    "dependency_id": "d3",
                },
                {
                    "source": "test",
                    "target": "dataset",
                    "dependency_type": "dataset",
                    "dependency_id": "d2",
                },
                {
                    "source": "dataset",
                    "target": "test",
                    "dependency_type": "dataset",
                    "dependency_id": "d1",
                },
            ],
            key=lambda x: tuple(x.values()),
        )
        assert actual == expected
    def test_derived_dag_deps_operator(self):
        """
        Tests DAG dependency detection for operators, including derived classes
        """
        from airflow.operators.empty import EmptyOperator
        from airflow.operators.trigger_dagrun import TriggerDagRunOperator
        class DerivedOperator(TriggerDagRunOperator):