9
9
from builtins import open
10
10
from copy import deepcopy
11
11
from glob import glob
12
- import os , pdb
12
+ import os
13
13
14
14
15
15
import pytest
@@ -499,12 +499,6 @@ def test_deep_nested_write_graph_runs(tmpdir):
499
499
'pipemod1:outoutput1:e -> pipemod2:ininput1:w;\n ' ,
500
500
'}' ]
501
501
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
-
508
502
509
503
dotfile_hierarchical = ['digraph pipe{\n ' ,
510
504
' label="pipe";\n ' ,
@@ -520,6 +514,14 @@ def test_deep_nested_write_graph_runs(tmpdir):
520
514
' pipe_mod1 -> pipe_mod2;\n ' ,
521
515
'}' ]
522
516
517
+ dotfiles = {
518
+ "orig" : dotfile_orig ,
519
+ "flat" : dotfile_orig ,
520
+ "exec" : dotfile_orig ,
521
+ "hierarchical" : dotfile_hierarchical ,
522
+ "colored" : dotfile_colored
523
+ }
524
+
523
525
@pytest .mark .parametrize ("simple" , [True , False ])
524
526
@pytest .mark .parametrize ("graph_type" , ['orig' , 'flat' , 'exec' , 'hierarchical' , 'colored' ])
525
527
def test_write_graph_dotfile (tmpdir , graph_type , simple ):
@@ -537,35 +539,29 @@ def test_write_graph_dotfile(tmpdir, graph_type, simple):
537
539
graph_str = f .read ()
538
540
539
541
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
542
544
else :
543
545
# if simple=False graph.dot uses longer names
544
- for str in eval ( "dotfile_{}" . format ( graph_type )) :
546
+ for line in dotfiles [ graph_type ] :
545
547
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 (
547
549
"mod2 (engine)" , "mod2.EngineTestInterface.engine" ) in graph_str
548
550
else :
549
- assert str .replace (
551
+ assert line .replace (
550
552
"mod1 (engine)" , "pipe.mod1.EngineTestInterface.engine" ).replace (
551
553
"mod2 (engine)" , "pipe.mod2.EngineTestInterface.engine" ) in graph_str
552
554
555
+ # graph_detailed is the same for orig, flat, exec (if no iterables)
553
556
# graph_detailed is not created for hierachical or colored
554
557
if graph_type not in ["hierarchical" , "colored" ]:
555
558
with open ("graph_detailed.dot" ) as f :
556
559
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
559
562
560
563
561
564
# 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
569
565
dotfile_detailed_iter_exec = [
570
566
'digraph structs {\n ' ,
571
567
'node [shape=record];\n ' ,
@@ -593,6 +589,20 @@ def test_write_graph_dotfile(tmpdir, graph_type, simple):
593
589
' pipe_mod1 -> pipe_mod2;\n ' ,
594
590
'}' ]
595
591
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
+
596
606
@pytest .mark .parametrize ("simple" , [True , False ])
597
607
@pytest .mark .parametrize ("graph_type" , ['orig' , 'flat' , 'exec' , 'hierarchical' , 'colored' ])
598
608
def test_write_graph_dotfile_iterables (tmpdir , graph_type , simple ):
@@ -611,25 +621,25 @@ def test_write_graph_dotfile_iterables(tmpdir, graph_type, simple):
611
621
graph_str = f .read ()
612
622
613
623
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
616
626
else :
617
627
# 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 ] :
619
629
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 (
621
631
"mod2 (engine)" , "mod2.EngineTestInterface.engine" ) in graph_str
622
632
else :
623
- assert str .replace (
633
+ assert line .replace (
624
634
"mod1 (engine)" , "pipe.mod1.EngineTestInterface.engine" ).replace (
625
635
"mod2 (engine)" , "pipe.mod2.EngineTestInterface.engine" ) in graph_str
626
636
627
637
# graph_detailed is not created for hierachical or colored
628
638
if graph_type not in ["hierarchical" , "colored" ]:
629
639
with open ("graph_detailed.dot" ) as f :
630
640
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
633
643
634
644
635
645
0 commit comments