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
assert getattr(simple_task, "bash_command") == bash_command
        
        
        
        
        assert serialized_dag["dag"]["tasks"][0]["_operator_extra_links"] == serialized_links
        
        assert set(simple_task.extra_links) == {*links, "airflow", "github", "google"}
        dr = dag_maker.create_dagrun(execution_date=test_date)
        (ti,) = dr.task_instances
        XCom.set(
            key="search_query",
            value=bash_command,
            task_id=simple_task.task_id,
            dag_id=simple_task.dag_id,
            run_id=dr.run_id,
        )
        
        for name, expected in links.items():
            link = simple_task.get_extra_links(ti, name)
            assert link == expected
        
        link = simple_task.get_extra_links(ti, GoogleLink.name)
        assert "https://www.google.com" == link
    def test_extra_operator_links_logs_error_for_non_registered_extra_links(self, caplog):
        """
        Assert OperatorLinks not registered via Plugins and if it is not an inbuilt Operator Link,
        it can still deserialize the DAG (does not error) but just logs an error
        """
        class TaskStateLink(BaseOperatorLink):