kaxil commented on PR #72183:
URL: https://github.com/apache/airflow/pull/72183#issuecomment-5601603331

   Both round-1 points are addressed, thanks. The precondition sentence is on 
both flags, and the traversal is real now. Two notes on the new test, neither 
blocking.
   
   The fixture is a chain (`op1 >> op2 >> op3 >> op4`) with `op4` as the only 
teardown, so `op4` is never a *direct* relative of `op1`. In the two 
`ignore_downstream_trigger_rules=False` rows the `not t.is_teardown` filter 
therefore never excludes anything, and deleting that filter outright fails only 
the `(True, True)` row. The MagicMock test this replaced did cover direct mode, 
asserting `== [task_a]` with a teardown sibling present. Since the direct-mode 
carve-out is the behaviour the PR body promises to preserve, giving `op1` a 
teardown direct child would put that assertion back. The test I pointed you at 
has the same shape, so this is going past it rather than a miss on your part.
   
   Second, `get_flat_relatives` and `get_direct_relatives` only read 
`dag.task_dict` and `downstream_list`, and `skip` is patched, so no DagRun or 
serialized Dag is involved. `dag_maker(serialized=True)` and the `db_test` mark 
are not doing anything for this test, and that has a cost: 
`pytest_collection_modifyitems` deselects `db_test` items at collection under 
`--skip-db-tests`, so the non-DB provider lane picks up none of this coverage. 
A plain `with DAG(...)` would keep it in both lanes.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to