diff --git a/easybuild/framework/easyconfig/tweak.py b/easybuild/framework/easyconfig/tweak.py index fc28b4bf7e..f42a7481f8 100644 --- a/easybuild/framework/easyconfig/tweak.py +++ b/easybuild/framework/easyconfig/tweak.py @@ -850,12 +850,7 @@ def map_easyconfig_to_target_tc_hierarchy(ec_spec, toolchain_mapping, targetdir= # Determine the name of the modified easyconfig and dump it to target_dir ec_filename = '%s-%s.eb' % (parsed_ec['ec']['name'], det_full_ec_version(parsed_ec['ec'])) tweaked_spec = os.path.join(targetdir or tempfile.gettempdir(), ec_filename) - if os.path.exists(tweaked_spec): - if build_option('force'): - print_warning("Overwriting existing file at %s with tweaked easyconfig file (due to --force)", tweaked_spec) - else: - raise EasyBuildError("A file already exists at %s where tweaked easyconfig file would be written", - tweaked_spec) + parsed_ec['ec'].dump(tweaked_spec, overwrite=False, backup=True) _log.debug("Dumped easyconfig tweaked via --try-toolchain* to %s", tweaked_spec) diff --git a/test/framework/tweak.py b/test/framework/tweak.py index 9334187b7f..acbc82401b 100644 --- a/test/framework/tweak.py +++ b/test/framework/tweak.py @@ -139,7 +139,7 @@ def test_tweak_one_version(self): self.assertEqual(val, tweaked_val, "Different value for %s parameter: %s vs %s" % (key, val, tweaked_val)) # check behaviour if target file already exists - error_pattern = "A file already exists at .* where tweaked easyconfig file would be written" + error_pattern = "File exists, not overwriting it without --force" self.assertErrorRegex(EasyBuildError, error_pattern, tweak_one, toy_ec, tweaked_toy_ec, {'version': '1.2.3'}) # existing file does get overwritten when --force is used