Closed gnanabite closed 2 years ago
One other thing that would be nice to have: optionally ignoring all of the restrictions on message/timer delivery via menu option. I think given the current state of things you would just have to call updateState
and then pass null
to all of the node state panels.
Okay, once all of my review comments are addressed and the menu option to ignore event delivery restrictions is added, I think we're good to go.
About the menu item: this should probably be grouped w/ "View delivered messages" under a "Settings " menu? Perhaps "View delivered messages" should be "Show delivered messages" then?
Thanks for reviewing! I think all comments are addressed, and the menu option is added in https://github.com/emichael/dslabs/pull/29/commits/27414f011aa78f5d2b942fbecfa77fee0e20371f.
LGTM!
I just tweaked the text of the new menu item and hid it if there aren't any search settings. After seeing it, I don't love the eye icon, but I also can't think of a better alternative.
As described in https://github.com/emichael/dslabs/pull/20#issuecomment-1039365182, search tests often have settings to prevent some traces from being explored (e.g., by prunes, by declaring links/nodes inactive, by not delivering timers for some nodes, etc.). This change enforces the SearchSettings specified in a search test to help students to debug the search-based liveness tests.
This change is done in 3 parts.
NOTES:
SearchSettings
to get a string explanation of why a message/timer can't be delivered. But we should eventually add tooltips to explain why some messages/timers aren't deliverable.dropPendingMessages
in two tests in lab 3, so I think it's lower priority compared to this.TESTS: manually started the debugger from various search test failures and confirmed that the invariant pane and actions behave correctly. I aimed to check the following: