diff --git a/src/sage/doctest/forker.py b/src/sage/doctest/forker.py index 02e18e67e7..2ebf6eb35f 100644 --- a/src/sage/doctest/forker.py +++ b/src/sage/doctest/forker.py @@ -1075,6 +1075,14 @@ class SageDocTestRunner(doctest.DocTestRunner, object): sage: set(ex2.predecessors) == set([ex0,ex1]) True """ + + # Fix ECL dir race conditions by using a separate dir for each process + # (https://trac.sagemath.org/ticket/26968) + os.environ['MAXIMA_USERDIR'] = "{}/sage-maxima-{}".format( + tempfile.gettempdir(), + os.getpid() + ) + if isinstance(globs, RecordingDict): globs.start() example.sequence_number = len(self.history)