dv-flow-mgr 0.0.1.12960224342a1__tar.gz → 0.0.1.12968982426a1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/PKG-INFO +1 -1
  2. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/pyproject.toml +1 -1
  3. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/src/dv_flow/mgr/task_graph_builder.py +1 -1
  4. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/src/dv_flow_mgr.egg-info/PKG-INFO +1 -1
  5. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/src/dv_flow_mgr.egg-info/SOURCES.txt +3 -0
  6. dv_flow_mgr-0.0.1.12968982426a1/tests/system/test_depends.py +143 -0
  7. dv_flow_mgr-0.0.1.12968982426a1/tests/system/test_pkg_discovery.py +201 -0
  8. dv_flow_mgr-0.0.1.12968982426a1/tests/system/test_stdlib.py +6 -0
  9. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/.github/workflows/ci.yml +0 -0
  10. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/.gitignore +0 -0
  11. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/.vscode/settings.json +0 -0
  12. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/LICENSE +0 -0
  13. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/README.md +0 -0
  14. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/docs/Makefile +0 -0
  15. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/docs/Notes.md +0 -0
  16. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/docs/Roadmap.md +0 -0
  17. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/docs/Stages.md +0 -0
  18. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/docs/TypesAndDefs.md +0 -0
  19. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/docs/conf.py +0 -0
  20. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/docs/index.rst +0 -0
  21. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/docs/intro.rst +0 -0
  22. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/docs/quickstart.rst +0 -0
  23. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/docs/reference.rst +0 -0
  24. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/ivpm.yaml +0 -0
  25. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/setup.cfg +0 -0
  26. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/src/dv_flow/mgr/__init__.py +0 -0
  27. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/src/dv_flow/mgr/__main__.py +0 -0
  28. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/src/dv_flow/mgr/cmds/cmd_run.py +0 -0
  29. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/src/dv_flow/mgr/fileset.py +0 -0
  30. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/src/dv_flow/mgr/fragment_def.py +0 -0
  31. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/src/dv_flow/mgr/package.py +0 -0
  32. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/src/dv_flow/mgr/package_def.py +0 -0
  33. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/src/dv_flow/mgr/package_import_spec.py +0 -0
  34. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/src/dv_flow/mgr/pkg_rgy.py +0 -0
  35. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/src/dv_flow/mgr/share/flow.json +0 -0
  36. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/src/dv_flow/mgr/std/fileset.py +0 -0
  37. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/src/dv_flow/mgr/std/flow.dv +0 -0
  38. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/src/dv_flow/mgr/std/message.py +0 -0
  39. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/src/dv_flow/mgr/std/task_null.py +0 -0
  40. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/src/dv_flow/mgr/task.py +0 -0
  41. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/src/dv_flow/mgr/task_data.py +0 -0
  42. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/src/dv_flow/mgr/task_def.py +0 -0
  43. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/src/dv_flow/mgr/task_graph_runner.py +0 -0
  44. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/src/dv_flow/mgr/task_graph_runner_local.py +0 -0
  45. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/src/dv_flow/mgr/task_memento.py +0 -0
  46. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/src/dv_flow/mgr/util.py +0 -0
  47. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/src/dv_flow_mgr.egg-info/dependency_links.txt +0 -0
  48. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/src/dv_flow_mgr.egg-info/entry_points.txt +0 -0
  49. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/src/dv_flow_mgr.egg-info/requires.txt +0 -0
  50. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/src/dv_flow_mgr.egg-info/top_level.txt +0 -0
  51. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/tests/examples/example1/example1.flow +0 -0
  52. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/tests/sys/test_depends.py +0 -0
  53. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/tests/sys/test_pkg_discovery.py +0 -0
  54. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/tests/unit/__init__.py +0 -0
  55. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/tests/unit/data/fileset/test1/files1/file1_1.sv +0 -0
  56. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/tests/unit/data/fileset/test1/files1/file1_2.sv +0 -0
  57. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/tests/unit/data/fileset/test1/files2/file2_1.sv +0 -0
  58. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/tests/unit/data/fileset/test1/files2/file2_2.sv +0 -0
  59. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/tests/unit/data/fileset/test1/flow.dv +0 -0
  60. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/tests/unit/data/fileset/test1 copy/files1/file1_1.sv +0 -0
  61. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/tests/unit/data/fileset/test1 copy/files1/file1_2.sv +0 -0
  62. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/tests/unit/data/fileset/test1 copy/files2/file2_1.sv +0 -0
  63. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/tests/unit/data/fileset/test1 copy/files2/file2_2.sv +0 -0
  64. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/tests/unit/data/fileset/test1 copy/test1.dfs +0 -0
  65. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/tests/unit/data/proj1/proj1.dfs +0 -0
  66. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/tests/unit/data/proj2/proj2.dfs +0 -0
  67. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/tests/unit/data/proj3/proj3.dfs +0 -0
  68. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/tests/unit/test_data_merge.py +0 -0
  69. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/tests/unit/test_fileset.py +0 -0
  70. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/tests/unit/test_pyclass.py +0 -0
  71. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/tests/unit/test_smoke copy.sav +0 -0
  72. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/tests/unit/test_smoke.py +0 -0
  73. {dv_flow_mgr-0.0.1.12960224342a1 → dv_flow_mgr-0.0.1.12968982426a1}/tests/unit/test_stdlib.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: dv-flow-mgr
3
- Version: 0.0.1.12960224342a1
3
+ Version: 0.0.1.12968982426a1
4
4
  Summary: DV Flow Manager is a build system for silicon design
5
5
  Author-email: Matthew Ballance <matt.ballance@gmail.com>
6
6
  License: Apache License
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
5
5
 
6
6
  [project]
7
7
  name = "dv-flow-mgr"
8
- version = "0.0.1.12960224342a1"
8
+ version = "0.0.1.12968982426a1"
9
9
  dependencies = [
10
10
  'pydantic',
11
11
  'pyyaml',
@@ -124,7 +124,7 @@ class TaskGraphBuilder(object):
124
124
  self._logger.debug("--> getPackage: %s len: %d" % (spec.name, len(self._pkg_spec_s)))
125
125
  if len(self._pkg_spec_s) > 0:
126
126
  pkg_spec = self._pkg_spec_s[-1]
127
- if self.root_pkg.name == pkg_spec.name:
127
+ if self.root_pkg is not None and self.root_pkg.name == pkg_spec.name:
128
128
  pkg_def = self.root_pkg
129
129
  else:
130
130
  pkg_def = self.pkg_rgy.getPackage(pkg_spec.name)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: dv-flow-mgr
3
- Version: 0.0.1.12960224342a1
3
+ Version: 0.0.1.12968982426a1
4
4
  Summary: DV Flow Manager is a build system for silicon design
5
5
  Author-email: Matthew Ballance <matt.ballance@gmail.com>
6
6
  License: Apache License
@@ -46,6 +46,9 @@ src/dv_flow_mgr.egg-info/top_level.txt
46
46
  tests/examples/example1/example1.flow
47
47
  tests/sys/test_depends.py
48
48
  tests/sys/test_pkg_discovery.py
49
+ tests/system/test_depends.py
50
+ tests/system/test_pkg_discovery.py
51
+ tests/system/test_stdlib.py
49
52
  tests/unit/__init__.py
50
53
  tests/unit/test_data_merge.py
51
54
  tests/unit/test_fileset.py
@@ -0,0 +1,143 @@
1
+ import os
2
+ import pytest
3
+ import subprocess
4
+ import sys
5
+
6
+ def test_seq_1(tmpdir):
7
+ rundir = os.path.join(tmpdir)
8
+
9
+ flow_dv = """
10
+ package:
11
+ name: p1
12
+
13
+ tasks:
14
+ - name: files
15
+ uses: std.FileSet
16
+ with:
17
+ type: textFiles
18
+ include: "*.txt"
19
+
20
+ - name: print
21
+ uses: std.Message
22
+ with:
23
+ msg: "Running Print"
24
+ """
25
+
26
+ with open(os.path.join(rundir, "flow.dv"), "w") as fp:
27
+ fp.write(flow_dv)
28
+
29
+ with open(os.path.join(rundir, "file.txt"), "w") as fp:
30
+ fp.write("Hello There\n")
31
+
32
+ env = os.environ.copy()
33
+ env["DV_FLOW_PATH"] = rundir
34
+
35
+ cmd = [
36
+ sys.executable,
37
+ "-m",
38
+ "dv_flow.mgr",
39
+ "run",
40
+ "print"
41
+ ]
42
+
43
+ output = subprocess.check_output(cmd, cwd=rundir, env=env)
44
+
45
+ output = output.decode()
46
+
47
+ assert output.find("Running Print") != -1
48
+
49
+ def test_seq_2(tmpdir):
50
+ rundir = os.path.join(tmpdir)
51
+
52
+ flow_dv = """
53
+ package:
54
+ name: p1
55
+
56
+ tasks:
57
+ - name: print1
58
+ uses: std.Message
59
+ with:
60
+ msg: "Running Print 1"
61
+
62
+ - name: print
63
+ uses: std.Message
64
+ needs: [print1]
65
+ with:
66
+ msg: "Running Print 2"
67
+ """
68
+
69
+ with open(os.path.join(rundir, "flow.dv"), "w") as fp:
70
+ fp.write(flow_dv)
71
+
72
+ with open(os.path.join(rundir, "file.txt"), "w") as fp:
73
+ fp.write("Hello There\n")
74
+
75
+ env = os.environ.copy()
76
+ env["DV_FLOW_PATH"] = rundir
77
+
78
+ cmd = [
79
+ sys.executable,
80
+ "-m",
81
+ "dv_flow.mgr",
82
+ "run",
83
+ "print"
84
+ ]
85
+
86
+ output = subprocess.check_output(cmd, cwd=rundir, env=env)
87
+
88
+ output = output.decode()
89
+ print("Output: %s" % output)
90
+
91
+ assert output.find("Running Print 1") != -1
92
+ assert output.find("Running Print 2") != -1
93
+
94
+ def test_seq_3(tmpdir):
95
+ rundir = os.path.join(tmpdir)
96
+
97
+ flow_dv = """
98
+ package:
99
+ name: p1
100
+
101
+ tasks:
102
+ - name: print1
103
+ uses: std.Message
104
+ with:
105
+ msg: "Running Print 1"
106
+ - name: print2
107
+ uses: std.Message
108
+ needs: [print1]
109
+ with:
110
+ msg: "Running Print 2"
111
+ - name: print
112
+ uses: std.Message
113
+ needs: [print2]
114
+ with:
115
+ msg: "Running Print 3"
116
+ """
117
+
118
+ with open(os.path.join(rundir, "flow.dv"), "w") as fp:
119
+ fp.write(flow_dv)
120
+
121
+ with open(os.path.join(rundir, "file.txt"), "w") as fp:
122
+ fp.write("Hello There\n")
123
+
124
+ env = os.environ.copy()
125
+ env["DV_FLOW_PATH"] = rundir
126
+
127
+ cmd = [
128
+ sys.executable,
129
+ "-m",
130
+ "dv_flow.mgr",
131
+ "run",
132
+ "print"
133
+ ]
134
+
135
+ output = subprocess.check_output(cmd, cwd=rundir, env=env)
136
+
137
+ output = output.decode()
138
+
139
+ print("Output: %s" % output)
140
+
141
+ assert output.find("Running Print 1") != -1
142
+ assert output.find("Running Print 2") != -1
143
+ assert output.find("Running Print 3") != -1
@@ -0,0 +1,201 @@
1
+ import os
2
+ import pytest
3
+ import subprocess
4
+ import sys
5
+ from dv_flow.mgr import PkgRgy
6
+
7
+
8
+ def test_import_specific(tmpdir):
9
+ flow_dv = """
10
+ package:
11
+ name: p1
12
+
13
+ imports:
14
+ - name: p2
15
+
16
+ tasks:
17
+ - name: my_task
18
+ uses: p2.doit
19
+ """
20
+
21
+ p2_flow_dv = """
22
+ package:
23
+ name: p2
24
+
25
+ tasks:
26
+ - name: doit
27
+ uses: std.Message
28
+ with:
29
+ msg: "Hello There"
30
+ """
31
+
32
+ rundir = os.path.join(tmpdir)
33
+
34
+ with open(os.path.join(rundir, "flow.dv"), "w") as fp:
35
+ fp.write(flow_dv)
36
+
37
+ os.makedirs(os.path.join(rundir, "p2"))
38
+ with open(os.path.join(rundir, "p2/flow.dv"), "w") as fp:
39
+ fp.write(p2_flow_dv)
40
+
41
+ env = os.environ.copy()
42
+ env["DV_FLOW_PATH"] = rundir
43
+
44
+ cmd = [
45
+ sys.executable,
46
+ "-m",
47
+ "dv_flow.mgr",
48
+ "run",
49
+ "my_task"
50
+ ]
51
+
52
+ output = subprocess.check_output(cmd, cwd=rundir, env=env)
53
+
54
+ output = output.decode()
55
+
56
+ assert output.find("Hello There") != -1
57
+
58
+
59
+ def test_import_alias(tmpdir):
60
+ flow_dv = """
61
+ package:
62
+ name: p1
63
+
64
+ imports:
65
+ - name: p2.foo
66
+ as: p2
67
+
68
+ tasks:
69
+ - name: my_task
70
+ uses: p2.doit
71
+ """
72
+
73
+ p2_flow_dv = """
74
+ package:
75
+ name: p2
76
+
77
+ tasks:
78
+ - name: doit
79
+ uses: std.Message
80
+ with:
81
+ msg: "Hello There (p2)"
82
+ """
83
+
84
+ p2_foo_flow_dv = """
85
+ package:
86
+ name: p2.foo
87
+
88
+ tasks:
89
+ - name: doit
90
+ uses: std.Message
91
+ with:
92
+ msg: "Hello There (p2.foo)"
93
+ """
94
+
95
+ rundir = os.path.join(tmpdir)
96
+
97
+ with open(os.path.join(rundir, "flow.dv"), "w") as fp:
98
+ fp.write(flow_dv)
99
+
100
+ os.makedirs(os.path.join(rundir, "p2"))
101
+ with open(os.path.join(rundir, "p2/flow.dv"), "w") as fp:
102
+ fp.write(p2_flow_dv)
103
+
104
+ with open(os.path.join(rundir, "p2/foo.dv"), "w") as fp:
105
+ fp.write(p2_foo_flow_dv)
106
+
107
+ # pkg_rgy = PkgRgy()
108
+ # pkg_rgy.registerPackage("p2", os.path.join(rundir, "p2/flow.dv"))
109
+ # pkg_rgy.registerPackage("p2.foo", os.path.join(rundir, "p2/foo.dv"))
110
+
111
+ env = os.environ.copy()
112
+ env["DV_FLOW_PATH"] = rundir
113
+
114
+ cmd = [
115
+ sys.executable,
116
+ "-m",
117
+ "dv_flow.mgr",
118
+ "-v",
119
+ "run",
120
+ "my_task"
121
+ ]
122
+
123
+ output = subprocess.check_output(cmd, cwd=rundir, env=env)
124
+
125
+ output = output.decode()
126
+
127
+ assert output.find("Hello There (p2.foo)") != -1
128
+
129
+ def test_interface_impl(tmpdir):
130
+
131
+ libdir = os.path.join(tmpdir, "lib")
132
+
133
+ os.makedirs(libdir)
134
+ ifc_flow_dv = """
135
+ package:
136
+ name: ifc
137
+
138
+ tasks:
139
+ - name: T1
140
+ uses: std.Message
141
+ with:
142
+ msg: "T1.Interface"
143
+ """
144
+
145
+ imp_flow_dv = """
146
+ package:
147
+ name: ifc.imp
148
+
149
+ tasks:
150
+ - name: T1
151
+ uses: ifc.T1
152
+ with:
153
+ msg: "T1.Imp"
154
+ """
155
+
156
+ flow_dv = """
157
+ package:
158
+ name: foo
159
+
160
+ imports:
161
+ - name: ifc.imp
162
+ as: ifc
163
+
164
+ tasks:
165
+ - name: Top
166
+ uses: ifc.T1
167
+ """
168
+
169
+ with open(os.path.join(libdir, "ifc.dv"), "w") as fp:
170
+ fp.write(ifc_flow_dv)
171
+
172
+ os.makedirs(os.path.join(libdir, "ifc"))
173
+
174
+ with open(os.path.join(libdir, "ifc/imp.dv"), "w") as fp:
175
+ fp.write(imp_flow_dv)
176
+
177
+ with open(os.path.join(tmpdir, "flow.dv"), "w") as fp:
178
+ fp.write(flow_dv)
179
+
180
+ env = os.environ.copy()
181
+ env["DV_FLOW_PATH"] = libdir
182
+
183
+ cmd = [
184
+ sys.executable,
185
+ "-m",
186
+ "dv_flow.mgr",
187
+ "-d",
188
+ "run",
189
+ "Top"
190
+ ]
191
+
192
+ output = subprocess.check_output(
193
+ cmd,
194
+ cwd=os.path.join(tmpdir),
195
+ env=env)
196
+
197
+ output_s = output.decode()
198
+
199
+ print("Output: %s" % output_s)
200
+ assert output_s.find("T1.Imp") != -1
201
+
@@ -0,0 +1,6 @@
1
+
2
+ import os
3
+ import pytest
4
+ import subprocess
5
+ import sys
6
+