-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature/jl/master #12
Conversation
Steal most of the timer code from jlouis/dht and adapt it to this project. We can now run timing as part of the cluster, and we can slowly move toward a system where time is mocked in the main system by means of eqc_mocking rather than our own mock. It makes for clearer code, but it also makes for simpler, less intrusion into the SUT. The next steps are to hook up the fuse_eqc model to the timer code and make all of this work as it should.
Building toward the needed infrastructure to support #9 |
To support the code in the system with EQC, we need to introduce a cluster so we can get time mocking under control. This patch provides the first initial work for this. It uses There are still some tasks which can be lifted and made more precise. Hopefully this will uncover some bugs w.r.t. timing. Once the code is in, we can start handling the |
Don't worry too much about travis failures for now, they'll be fixed over time. |
Work toward fixing timing problems and improving readability of the model. We can use the monad in eqc_component to track state changes in our system over time. By factoring out common work, the model becomes simpler.
Let everything take the State as the first parameter, not the last.
If the timer triggers while we are resetting, then the timer is in the mailbox. Handle this by ignoring such a timer.
We now disable the timer when the fuse is disabled. This solves the question on how to handle timers under circuit disables/enables.
Simple set of refactorings needed in order to make the test model more pliable.