Skip to content

Commit 4461db2

Browse files
committed
Merge pull request #495 from satra/fix/execconfig
fix: config updated before checking for deprecated options
2 parents b66d383 + b824899 commit 4461db2

File tree

2 files changed

+35
-1
lines changed

2 files changed

+35
-1
lines changed

nipype/pipeline/engine.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -498,12 +498,12 @@ def run(self, plugin=None, plugin_args=None, updatehash=False):
498498
plugin_mod = getattr(sys.modules[name], '%sPlugin' % plugin)
499499
runner = plugin_mod(plugin_args=plugin_args)
500500
flatgraph = self._create_flat_graph()
501+
self.config = merge_dict(deepcopy(config._sections), self.config)
501502
if 'crashdump_dir' in self.config:
502503
warn(("Deprecated: workflow.config['crashdump_dir']\n"
503504
"Please use config['execution']['crashdump_dir']"))
504505
self.config['execution']['crashdump_dir'] = self.config['crashdump_dir']
505506
del self.config['crashdump_dir']
506-
self.config = merge_dict(deepcopy(config._sections), self.config)
507507
logger.info(str(sorted(self.config)))
508508
self._set_needed_outputs(flatgraph)
509509
execgraph = generate_expanded_graph(deepcopy(flatgraph))

nipype/pipeline/tests/test_engine.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -405,3 +405,37 @@ def _submit_job(self, node, updatehash=False):
405405
os.chdir(cwd)
406406
rmtree(wd)
407407

408+
def test_old_config():
409+
cwd = os.getcwd()
410+
wd = mkdtemp()
411+
os.chdir(wd)
412+
from nipype.interfaces.utility import Function
413+
def func1():
414+
return 1
415+
def func2(a):
416+
return a+1
417+
n1 = pe.Node(Function(input_names=[],
418+
output_names=['a'],
419+
function=func1),
420+
name='n1')
421+
n2 = pe.Node(Function(input_names=['a'],
422+
output_names=['b'],
423+
function=func2),
424+
name='n2')
425+
w1 = pe.Workflow(name='test')
426+
modify = lambda x: x+1
427+
n1.inputs.a = 1
428+
w1.connect(n1, ('a', modify), n2,'a')
429+
w1.base_dir = wd
430+
431+
w1.config = {'crashdump_dir': wd}
432+
# generate outputs
433+
error_raised = False
434+
try:
435+
w1.run(plugin='Linear')
436+
except Exception, e:
437+
pe.logger.info('Exception: %s' % str(e))
438+
error_raised = True
439+
yield assert_false, error_raised
440+
os.chdir(cwd)
441+
rmtree(wd)

0 commit comments

Comments
 (0)