-
Notifications
You must be signed in to change notification settings - Fork 0
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
Add integration tests #153
Conversation
1f2452a
to
0b6e4fb
Compare
0660126
to
eed8af4
Compare
#160) Remove asyncio.wait deprecation warning by only passing tasks to it. In the master scheduler _do_task method, a coroutine is passed to asyncio.wait. This is deprecated behaviour. I noticed this while working on #153: ``` File "/workspace/tickit/src/tickit/core/management/schedulers/master.py", line 102, in _do_tick which, _ = await asyncio.wait( File "/usr/local/lib/python3.10/asyncio/tasks.py", line 377, in wait warnings.warn("The explicit passing of coroutine objects to " DeprecationWarning: The explicit passing of coroutine objects to asyncio.wait() is deprecated since Python 3.8, and scheduled for removal in Python 3.11. ```
2345d5d
to
effc3ff
Compare
Codecov Report
@@ Coverage Diff @@
## master #153 +/- ##
==========================================
+ Coverage 94.50% 95.12% +0.61%
==========================================
Files 44 44
Lines 1292 1292
==========================================
+ Hits 1221 1229 +8
+ Misses 71 63 -8 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, thank you for doing this. Please can you rename the tests to system tests rather than integration tests. But other than that, only a few questions really :)
This change introduces simple type aliases to improve readability for distinguishing between component input and output types.
This change shifts the simulation builder logic from the cli to a dedicated class, TickitSimulation. It adds a builder function to allow simulations to be constructed in a declarative fashion, allowing for further customisation in the future and better testing now. It is a step towards the larger changes required for simulating zebra devices and uniting master and nested simulation logic.
- No longer required for supported versions of python
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
Check the master and slave scheduler in context with other components, with minimal mocking and test configurations.
Two test cases are set up; one for a regular simulation with a master scheduler, sink and source. Another for a simulation with a system simulation component. A fixture sets up the simulation and yields it before the tests, tearing it down afterwards by throwing an exception and device interrupt.