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 os
|
||||
import shutil
|
||||
@ -258,7 +259,16 @@ class TestCommandLineParallel(unittest.TestCase):
|
||||
os.remove(path)
|
||||
|
||||
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.*'),
|
||||
stdout=subprocess.PIPE)
|
||||
|
Loading…
Reference in New Issue
Block a user