Results 984 comments of 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.