DiamondLightSource / tickit

Event-based hardware simulation framework
Apache License 2.0
7 stars 0 forks source link

Test Ticker can Propagate Messages Through a Variety of Complex Graphs #184

Open callumforrester opened 1 year ago

callumforrester commented 1 year ago

There should be a large suite of graphs, ranging from very simple A -> B to very complicated involving many nodes and near-loops. We should try to avoid propagation bugs such as that fixed by #180 from persisting long-term.

abbiemery commented 1 year ago

As stated in #183 .

The skipping of device updates that do not have deltas is fixed by #180 . It would be beneficial to have tests that attempt to propagate updates through a graph and ensure the full graph is skipped down wind of nodes which provide no updates, while also ensuring components do not get skipped incorrectly.

This would require running a scheduler and monitoring its tick, using the tickers propagate and checking the production of skips in schedule_possible_updates.

callumforrester commented 1 year ago

Do you need a scheduler? Or can you just simulate one by prodding the appropriate methods on the ticker at the right time?