def test_add_subdag_dag_parameter_equality(tmpdir): submit_dir = str(tmpdir.join('submit')) dag = Dagman('dagman', submit=submit_dir) subdag_1 = Dagman('subdag_1', submit=submit_dir, dag=dag) subdag_2 = Dagman('subdag_2', submit=submit_dir) dag.add_subdag(subdag_2) assert dag.nodes == [subdag_1, subdag_2]
def test_repr(): default_dagman = Dagman('dagname') dag_repr = repr(default_dagman) expected_repr = ('Dagman(name=dagname, n_nodes=0, ' 'submit={})'.format(os.getcwd())) assert dag_repr == expected_repr dag_non_default = Dagman('dagname', submit='/submit_dir') dag_non_default.add_subdag(default_dagman) dag_repr = repr(dag_non_default) expected_repr = 'Dagman(name=dagname, n_nodes=1, submit=/submit_dir)' assert dag_repr == expected_repr
def test_dagman_subdag_build(tmpdir): submit_dir = str(tmpdir.join('submit')) extra_lines = ['first extra line', 'second extra line'] dagman = Dagman('dagman', submit=submit_dir, extra_lines=extra_lines) subdag = Dagman('subdag_1', submit=submit_dir, extra_lines=extra_lines) dagman.add_subdag(subdag) dagman.build() with open(dagman.submit_file, 'r') as f: assert set(extra_lines) <= set(line.rstrip('\n') for line in f) with open(dagman.submit_file, 'r') as f: assert set(extra_lines) <= set(line.rstrip('\n') for line in f)