99from builtins import open
1010from copy import deepcopy
1111from glob import glob
12- import os , pdb
12+ import os
1313
1414
1515import pytest
@@ -499,12 +499,6 @@ def test_deep_nested_write_graph_runs(tmpdir):
499499 'pipemod1:outoutput1:e -> pipemod2:ininput1:w;\n ' ,
500500 '}' ]
501501
502- dotfile_flat = dotfile_orig
503- dotfile_detailed_flat = dotfile_detailed_orig
504-
505- dotfile_exec = dotfile_orig
506- dotfile_detailed_exec = dotfile_detailed_orig
507-
508502
509503dotfile_hierarchical = ['digraph pipe{\n ' ,
510504 ' label="pipe";\n ' ,
@@ -520,6 +514,14 @@ def test_deep_nested_write_graph_runs(tmpdir):
520514 ' pipe_mod1 -> pipe_mod2;\n ' ,
521515 '}' ]
522516
517+ dotfiles = {
518+ "orig" : dotfile_orig ,
519+ "flat" : dotfile_orig ,
520+ "exec" : dotfile_orig ,
521+ "hierarchical" : dotfile_hierarchical ,
522+ "colored" : dotfile_colored
523+ }
524+
523525@pytest .mark .parametrize ("simple" , [True , False ])
524526@pytest .mark .parametrize ("graph_type" , ['orig' , 'flat' , 'exec' , 'hierarchical' , 'colored' ])
525527def test_write_graph_dotfile (tmpdir , graph_type , simple ):
@@ -537,35 +539,29 @@ def test_write_graph_dotfile(tmpdir, graph_type, simple):
537539 graph_str = f .read ()
538540
539541 if simple :
540- for str in eval ( "dotfile_{}" . format ( graph_type )) :
541- assert str in graph_str
542+ for line in dotfiles [ graph_type ] :
543+ assert line in graph_str
542544 else :
543545 # if simple=False graph.dot uses longer names
544- for str in eval ( "dotfile_{}" . format ( graph_type )) :
546+ for line in dotfiles [ graph_type ] :
545547 if graph_type in ["hierarchical" , "colored" ]:
546- assert str .replace ("mod1 (engine)" , "mod1.EngineTestInterface.engine" ).replace (
548+ assert line .replace ("mod1 (engine)" , "mod1.EngineTestInterface.engine" ).replace (
547549 "mod2 (engine)" , "mod2.EngineTestInterface.engine" ) in graph_str
548550 else :
549- assert str .replace (
551+ assert line .replace (
550552 "mod1 (engine)" , "pipe.mod1.EngineTestInterface.engine" ).replace (
551553 "mod2 (engine)" , "pipe.mod2.EngineTestInterface.engine" ) in graph_str
552554
555+ # graph_detailed is the same for orig, flat, exec (if no iterables)
553556 # graph_detailed is not created for hierachical or colored
554557 if graph_type not in ["hierarchical" , "colored" ]:
555558 with open ("graph_detailed.dot" ) as f :
556559 graph_str = f .read ()
557- for str in eval ( "dotfile_detailed_{}" . format ( graph_type )) :
558- assert str in graph_str
560+ for line in dotfile_detailed_orig :
561+ assert line in graph_str
559562
560563
561564# examples of dot files used in the following test
562- dotfile_iter_orig = dotfile_orig
563- dotfile_detailed_iter_orig = dotfile_detailed_orig
564-
565- dotfile_iter_flat = dotfile_orig
566- dotfile_detailed_iter_flat = dotfile_detailed_orig
567-
568- dotfile_iter_exec = dotfile_orig
569565dotfile_detailed_iter_exec = [
570566 'digraph structs {\n ' ,
571567 'node [shape=record];\n ' ,
@@ -593,6 +589,20 @@ def test_write_graph_dotfile(tmpdir, graph_type, simple):
593589 ' pipe_mod1 -> pipe_mod2;\n ' ,
594590 '}' ]
595591
592+ dotfiles_iter = {
593+ "orig" : dotfile_orig ,
594+ "flat" : dotfile_orig ,
595+ "exec" : dotfile_orig ,
596+ "hierarchical" : dotfile_iter_hierarchical ,
597+ "colored" : dotfile_iter_colored
598+ }
599+
600+ dotfiles_detailed_iter = {
601+ "orig" : dotfile_detailed_orig ,
602+ "flat" : dotfile_detailed_orig ,
603+ "exec" : dotfile_detailed_iter_exec
604+ }
605+
596606@pytest .mark .parametrize ("simple" , [True , False ])
597607@pytest .mark .parametrize ("graph_type" , ['orig' , 'flat' , 'exec' , 'hierarchical' , 'colored' ])
598608def test_write_graph_dotfile_iterables (tmpdir , graph_type , simple ):
@@ -611,25 +621,25 @@ def test_write_graph_dotfile_iterables(tmpdir, graph_type, simple):
611621 graph_str = f .read ()
612622
613623 if simple :
614- for str in eval ( "dotfile_iter_{}" . format ( graph_type )) :
615- assert str in graph_str
624+ for line in dotfiles_iter [ graph_type ] :
625+ assert line in graph_str
616626 else :
617627 # if simple=False graph.dot uses longer names
618- for str in eval ( "dotfile_iter_{}" . format ( graph_type )) :
628+ for line in dotfiles_iter [ graph_type ] :
619629 if graph_type in ["hierarchical" , "colored" ]:
620- assert str .replace ("mod1 (engine)" , "mod1.EngineTestInterface.engine" ).replace (
630+ assert line .replace ("mod1 (engine)" , "mod1.EngineTestInterface.engine" ).replace (
621631 "mod2 (engine)" , "mod2.EngineTestInterface.engine" ) in graph_str
622632 else :
623- assert str .replace (
633+ assert line .replace (
624634 "mod1 (engine)" , "pipe.mod1.EngineTestInterface.engine" ).replace (
625635 "mod2 (engine)" , "pipe.mod2.EngineTestInterface.engine" ) in graph_str
626636
627637 # graph_detailed is not created for hierachical or colored
628638 if graph_type not in ["hierarchical" , "colored" ]:
629639 with open ("graph_detailed.dot" ) as f :
630640 graph_str = f .read ()
631- for str in eval ( "dotfile_detailed_iter_{}" . format ( graph_type )) :
632- assert str in graph_str
641+ for line in dotfiles_detailed_iter [ graph_type ] :
642+ assert line in graph_str
633643
634644
635645
0 commit comments