Fix the testsuite on Python3.8
There is a bug in Python3.8 (https://bugs.python.org/issue38688) triggering an infinite recursion when copying a tree in a subfolder of the current one. We're working around it by using a list instead of an iterator, so that Python won't "discover" the target folder as part of the source files. This should fix #130
This commit is contained in:
parent
03f5129968
commit
6e52661cfb
@ -1,3 +1,4 @@
|
|||||||
|
import sys
|
||||||
import random
|
import random
|
||||||
import os
|
import os
|
||||||
import shutil
|
import shutil
|
||||||
@ -258,7 +259,16 @@ class TestCommandLineParallel(unittest.TestCase):
|
|||||||
os.remove(path)
|
os.remove(path)
|
||||||
|
|
||||||
def test_different(self):
|
def test_different(self):
|
||||||
shutil.copytree('./tests/data/', './tests/data/parallel')
|
src = './tests/data/'
|
||||||
|
dst = './tests/data/parallel'
|
||||||
|
if sys.version_info >= (3, 8):
|
||||||
|
with os.scandir(src) as itr:
|
||||||
|
entries = list(itr)
|
||||||
|
shutil._copytree(entries=entries, src=src, dst=dst, symlinks=False,
|
||||||
|
ignore=None, copy_function=shutil.copy2,
|
||||||
|
ignore_dangling_symlinks=False)
|
||||||
|
else:
|
||||||
|
shutil.copytree(src, dst)
|
||||||
|
|
||||||
proc = subprocess.Popen(mat2_binary + glob.glob('./tests/data/parallel/dirty.*'),
|
proc = subprocess.Popen(mat2_binary + glob.glob('./tests/data/parallel/dirty.*'),
|
||||||
stdout=subprocess.PIPE)
|
stdout=subprocess.PIPE)
|
||||||
|
Loading…
Reference in New Issue
Block a user