Skip to content

Commit 7438d3a

Browse files
committed
tardis version
1 parent ba67f3c commit 7438d3a

File tree

1 file changed

+18
-7
lines changed

1 file changed

+18
-7
lines changed

pytest_arraydiff/plugin.py

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,9 @@ def pytest_addoption(parser):
210210
help="directory containing reference files, relative to location where py.test is run", action='store')
211211
group.addoption('--arraydiff-default-format',
212212
help="Default format for the reference arrays (can be 'fits' or 'text' currently)")
213-
213+
group.addoption('--full-path-dir', action='store_true',
214+
help="Storing the reference files inside nested "
215+
"directories")
214216

215217
def pytest_configure(config):
216218

@@ -228,20 +230,24 @@ def pytest_configure(config):
228230
reference_dir = os.path.abspath(generate_dir)
229231

230232
default_format = config.getoption("--arraydiff-default-format") or 'text'
233+
full_path_dir = config.getoption("--full-path-dir") or False
231234

232235
config.pluginmanager.register(ArrayComparison(config,
233236
reference_dir=reference_dir,
234237
generate_dir=generate_dir,
235-
default_format=default_format))
238+
default_format=default_format,
239+
full_path_dir=full_path_dir))
236240

237241

238242
class ArrayComparison(object):
239243

240-
def __init__(self, config, reference_dir=None, generate_dir=None, default_format='text'):
244+
def __init__(self, config, reference_dir=None, generate_dir=None,
245+
default_format='text', full_path_dir=False):
241246
self.config = config
242247
self.reference_dir = reference_dir
243248
self.generate_dir = generate_dir
244249
self.default_format = default_format
250+
self.full_path_dir = full_path_dir
245251

246252
def pytest_runtest_setup(self, item):
247253

@@ -340,11 +346,16 @@ def item_function_wrapper(*args, **kwargs):
340346
raise Exception(msg)
341347

342348
else:
343-
1/0
344-
if not os.path.exists(self.generate_dir):
345-
os.makedirs(self.generate_dir)
349+
if self.full_path_dir:
350+
generate_dir = os.path.join(
351+
self.generate_dir, item.location[0].replace('.py', ''))
352+
else:
353+
generate_dir = self.generate_dir
354+
if not os.path.exists(generate_dir):
355+
os.makedirs(generate_dir)
346356

347-
FORMATS[file_format].write(os.path.abspath(os.path.join(self.generate_dir, filename)), array, **write_kwargs)
357+
FORMATS[file_format].write(os.path.abspath(os.path.join(
358+
generate_dir, filename)), array, **write_kwargs)
348359

349360
pytest.skip("Skipping test, since generating data")
350361

0 commit comments

Comments
 (0)