Nathaniel J. Smith
Nathaniel J. Smith
Here's some notes from roc on making this work in practice on a firefox heisenbug that CHESS couldn't catch, with a practical heuristic algorithm: http://robert.ocallahan.org/2016/02/introducing-rr-chaos-mode.html
There's also: https://github.com/osrg/namazu (from the comments on the post above)
@ssanderson has an interesting scheme he's implemented in gevent, where he annotates his actual logic with calls like `await trace("some-event-happened")`, and then in tests he can inject code at a...
Oh, happened to be re-reading roc's post above, and noticed that he also has some followups: * https://robert.ocallahan.org/2016/02/deeper-into-chaos.html * https://robert.ocallahan.org/2018/05/rr-chaos-mode-improvements.html It looks like there's also a talk here, for those...
> Is there any strong reason not to use the global random.shuffle() It's not really OK for random libraries to invoke the global `random` functions, because some unrelated code might...
Thinking about this a little more today. You could get quite a long way with: ```python class Scheduler(ABC): @abstractmethod def schedule(self, newly_runnable: List[Task]) -> List[Task]: "Returns the tasks to run...
Thinking about how the pieces could fit together here... I think a more refined API for a pluggable scheduler would be (including current scheduler for comparison): ```python class Scheduler: def...
Opened #1587 to discuss ways to implement the autojump clock without using a task
Looking at [that pytest page again](https://docs.pytest.org/en/latest/goodpractices.html), I guess there's also the option of putting the tests in a top-level `tests/`, but *not* creating a `tests/__init__.py`. The limitation then is the...
Apparently `pytest --pyargs trio --cov=trio` actually works. Weird, but nice.