forked from mirrors/nixpkgs
d34f44db45
Sometimes the doctests fail because ecl races to create a directory. This should fix that by making sure each process has its own directory.
20 lines
742 B
Diff
20 lines
742 B
Diff
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)
|