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
"tasks": [],
                "timezone": "UTC",
                "timetable": CUSTOM_TIMETABLE_SERIALIZED,
            },
        }
        SerializedDAG.validate_schema(serialized)
        with pytest.raises(ValueError) as ctx:
            SerializedDAG.from_dict(serialized)
        message = (
            "Timetable class "
            "'tests.test_utils.timetables.CustomSerializationTimetable' "
            "is not registered or "
            "you have a top level database access that disrupted the session. "
            "Please check the airflow best practices documentation."
        )
        assert str(ctx.value) == message
    @pytest.mark.parametrize(
        "serialized_schedule_interval, expected_timetable",
        [
            (None, NullTimetable()),
            ("@weekly", cron_timetable("0 0 * * 0")),
            ("@once", OnceTimetable()),
            (
                {"__type": "timedelta", "__var": 86400.0},
                delta_timetable(timedelta(days=1)),
            ),
        ],
    )
    def test_deserialization_schedule_interval(
        self,