diff --git a/easybuild/framework/easyconfig/tools.py b/easybuild/framework/easyconfig/tools.py index dd0e298aed..87647e5cd0 100644 --- a/easybuild/framework/easyconfig/tools.py +++ b/easybuild/framework/easyconfig/tools.py @@ -203,7 +203,10 @@ def mk_node_name(spec): what = f"dependency graph for {len(specs)} easyconfigs to {filename}" silent = build_option('silent') try: - dep_graph.render(base, cleanup=True) + if ext in ['.dot']: + dep_graph.save(filename) + else: + dep_graph.render(base, cleanup=True) except Exception as err: print_error_and_exit(f"Failed writing {what}: {err}", silent=silent) else: diff --git a/test/framework/easyconfig.py b/test/framework/easyconfig.py index e08465e05c..04b35e37d4 100644 --- a/test/framework/easyconfig.py +++ b/test/framework/easyconfig.py @@ -3301,12 +3301,12 @@ def test_dep_graph(self): patterns = [ rf"digraph {graphname} {{", # 3 nodes should be there: 'GCC/6.4.0-2.28 (EXT)', 'toy', and 'intel/2018a' - r"^\s*intel\s+\[", - r"^\s*toy\s+\[", - r"^\s*\"GCC/6\.4\.0-2\.28 \(EXT\)\"\s+\[", + r"^\s*intel", + r"^\s*toy", + r"^\s*\"GCC/6\.4\.0-2\.28 \(EXT\)\"", # and 2 edges: 'toy -> intel' and 'toy -> "GCC/6.4.0-2.28 (EXT)"' - r"^\s*toy -> intel\s+\[", - r"^\s*toy -> \"GCC/6\.4\.0-2\.28 \(EXT\)\"\s+\[", + r"^\s*toy -> intel", + r"^\s*toy -> \"GCC/6\.4\.0-2\.28 \(EXT\)\"", ] self.assert_multi_regex(patterns, dottxt)