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
def poke(self, context: Context):
                return False
        op = DummySensor(task_id="dummy", mode=mode, poke_interval=23)
        blob = SerializedBaseOperator.serialize_operator(op)
        assert "deps" in blob
        serialized_op = SerializedBaseOperator.deserialize_operator(blob)
        assert serialized_op.reschedule == (mode == "reschedule")
        assert op.deps == serialized_op.deps
    @pytest.mark.parametrize("mode", ["poke", "reschedule"])
    def test_serialize_mapped_sensor_has_reschedule_dep(self, mode):
        from airflow.sensors.base import BaseSensorOperator
        class DummySensor(BaseSensorOperator):
            def poke(self, context: Context):
                return False
        op = DummySensor.partial(task_id="dummy", mode=mode).expand(poke_interval=[23])
        blob = SerializedBaseOperator.serialize_mapped_operator(op)
        assert "deps" in blob
        assert "airflow.ti_deps.deps.ready_to_reschedule.ReadyToRescheduleDep" in blob["deps"]
    @pytest.mark.parametrize(
        "passed_success_callback, expected_value",
        [
            ({"on_success_callback": lambda x: print("hi")}, True),
            ({}, False),
        ],
    )
    def test_dag_on_success_callback_roundtrip(self, passed_success_callback, expected_value):