dv-flow-mgr 1.0.0.14370600369a1__tar.gz → 1.0.0.14389547107a1__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 (137) hide show
  1. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/PKG-INFO +1 -1
  2. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/pyproject.toml +1 -1
  3. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/package_loader.py +1 -1
  4. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/task_def.py +0 -3
  5. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/task_graph_builder.py +13 -40
  6. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/task_node_leaf.py +3 -1
  7. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow_mgr.egg-info/PKG-INFO +1 -1
  8. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow_mgr.egg-info/SOURCES.txt +1 -0
  9. dv_flow_mgr-1.0.0.14389547107a1/tests/unit/test_deps.py +63 -0
  10. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/.github/workflows/ci.yml +0 -0
  11. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/.gitignore +0 -0
  12. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/.vscode/settings.json +0 -0
  13. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/LICENSE +0 -0
  14. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/README.md +0 -0
  15. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/docs/ChangeLog.md +0 -0
  16. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/docs/KeyArchitecture.md +0 -0
  17. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/docs/Makefile +0 -0
  18. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/docs/Notes.md +0 -0
  19. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/docs/Roadmap.md +0 -0
  20. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/docs/RundirLayout.md +0 -0
  21. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/docs/Stages.md +0 -0
  22. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/docs/Steps.md +0 -0
  23. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/docs/Tasks.md +0 -0
  24. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/docs/TypesAndDefs.md +0 -0
  25. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/docs/Usecases.md +0 -0
  26. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/docs/cmdref.rst +0 -0
  27. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/docs/conf.py +0 -0
  28. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/docs/index.rst +0 -0
  29. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/docs/pytask_api.rst +0 -0
  30. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/docs/quickstart.rst +0 -0
  31. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/fwperiph_dma.pss +0 -0
  32. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/ivpm.yaml +0 -0
  33. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/setup.cfg +0 -0
  34. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/__init__.py +0 -0
  35. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/__main__.py +0 -0
  36. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/cmds/cmd_graph.py +0 -0
  37. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/cmds/cmd_run.py +0 -0
  38. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/cmds/cmd_show.py +0 -0
  39. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/cond_def.py +0 -0
  40. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/config.py +0 -0
  41. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/config_def.py +0 -0
  42. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/eval_jq.py +0 -0
  43. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/exec_callable.py +0 -0
  44. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/expr_eval.py +0 -0
  45. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/expr_parser.py +0 -0
  46. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/ext_rgy.py +0 -0
  47. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/extend_def.py +0 -0
  48. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/fileset.py +0 -0
  49. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/fragment_def.py +0 -0
  50. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/listener_list.py +0 -0
  51. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/need_def.py +0 -0
  52. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/null_callable.py +0 -0
  53. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/out +0 -0
  54. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/package.py +0 -0
  55. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/package_def.py +0 -0
  56. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/package_import_spec.py +0 -0
  57. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/param.py +0 -0
  58. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/param_def.py +0 -0
  59. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/param_ref_eval.py +0 -0
  60. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/parser.out +0 -0
  61. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/parsetab.py +0 -0
  62. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/pytask_callable.py +0 -0
  63. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/root_package.py +0 -0
  64. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/share/flow.json +0 -0
  65. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/shell_callable.py +0 -0
  66. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/srcinfo.py +0 -0
  67. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/std/create_file.py +0 -0
  68. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/std/exec.py +0 -0
  69. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/std/fileset.py +0 -0
  70. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/std/flow.dv +0 -0
  71. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/std/message.py +0 -0
  72. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/std/task_null.py +0 -0
  73. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/task.py +0 -0
  74. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/task_data.py +0 -0
  75. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/task_graph_dot_writer.py +0 -0
  76. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/task_listener_log.py +0 -0
  77. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/task_node.py +0 -0
  78. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/task_node_compound.py +0 -0
  79. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/task_node_ctor.py +0 -0
  80. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/task_node_ctor_compound.py +0 -0
  81. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/task_node_ctor_compound_proxy.py +0 -0
  82. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/task_node_ctor_def_base.py +0 -0
  83. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/task_node_ctor_proxy.py +0 -0
  84. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/task_node_ctor_task.py +0 -0
  85. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/task_node_ctor_wrapper.py +0 -0
  86. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/task_output.py +0 -0
  87. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/task_params_ctor.py +0 -0
  88. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/task_run_ctxt.py +0 -0
  89. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/task_runner.py +0 -0
  90. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/type.py +0 -0
  91. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/type_def.py +0 -0
  92. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/util/__init__.py +0 -0
  93. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/util/__main__.py +0 -0
  94. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/util/cmds/__init__.py +0 -0
  95. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/util/cmds/cmd_schema.py +0 -0
  96. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/util/util.py +0 -0
  97. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow/mgr/yaml_srcinfo_loader.py +0 -0
  98. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow_mgr.egg-info/dependency_links.txt +0 -0
  99. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow_mgr.egg-info/entry_points.txt +0 -0
  100. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow_mgr.egg-info/requires.txt +0 -0
  101. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/src/dv_flow_mgr.egg-info/top_level.txt +0 -0
  102. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/tests/examples/example1/example1.flow +0 -0
  103. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/tests/system/test_depends.py +0 -0
  104. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/tests/system/test_pkg_discovery.py +0 -0
  105. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/tests/system/test_stdlib.py +0 -0
  106. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/tests/unit/__init__.py +0 -0
  107. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/tests/unit/data/fileset/test1/files1/file1_1.sv +0 -0
  108. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/tests/unit/data/fileset/test1/files1/file1_2.sv +0 -0
  109. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/tests/unit/data/fileset/test1/files2/file2_1.sv +0 -0
  110. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/tests/unit/data/fileset/test1/files2/file2_2.sv +0 -0
  111. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/tests/unit/data/fileset/test1/flow.dv +0 -0
  112. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/tests/unit/data/fileset/test1 copy/files1/file1_1.sv +0 -0
  113. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/tests/unit/data/fileset/test1 copy/files1/file1_2.sv +0 -0
  114. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/tests/unit/data/fileset/test1 copy/files2/file2_1.sv +0 -0
  115. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/tests/unit/data/fileset/test1 copy/files2/file2_2.sv +0 -0
  116. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/tests/unit/data/fileset/test1 copy/test1.dfs +0 -0
  117. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/tests/unit/data/proj1/proj1.dfs +0 -0
  118. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/tests/unit/data/proj2/proj2.dfs +0 -0
  119. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/tests/unit/data/proj3/proj3.dfs +0 -0
  120. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/tests/unit/marker_collector.py +0 -0
  121. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/tests/unit/task_listener_test.py +0 -0
  122. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/tests/unit/test_compound_task.py +0 -0
  123. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/tests/unit/test_data_merge.py +0 -0
  124. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/tests/unit/test_dataflow.py +0 -0
  125. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/tests/unit/test_expr_eval.py +0 -0
  126. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/tests/unit/test_expr_parser.py +0 -0
  127. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/tests/unit/test_fileset.py +0 -0
  128. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/tests/unit/test_imports.py +0 -0
  129. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/tests/unit/test_load_package.py +0 -0
  130. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/tests/unit/test_markers.py +0 -0
  131. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/tests/unit/test_parse.py +0 -0
  132. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/tests/unit/test_pyclass.py +0 -0
  133. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/tests/unit/test_pyexec.py +0 -0
  134. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/tests/unit/test_pytask_smoke.py +0 -0
  135. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/tests/unit/test_smoke copy.sav +0 -0
  136. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/tests/unit/test_smoke.py +0 -0
  137. {dv_flow_mgr-1.0.0.14370600369a1 → dv_flow_mgr-1.0.0.14389547107a1}/tests/unit/test_stdlib.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dv-flow-mgr
3
- Version: 1.0.0.14370600369a1
3
+ Version: 1.0.0.14389547107a1
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 = "1.0.0.14370600369a1"
8
+ version = "1.0.0.14389547107a1"
9
9
  dependencies = [
10
10
  'jq',
11
11
  'pydantic',
@@ -605,7 +605,7 @@ class PackageLoader(object):
605
605
  rundir = base_t.rundir
606
606
 
607
607
  if passthrough is None:
608
- passthrough = PassthroughE.No
608
+ passthrough = PassthroughE.Unused
609
609
  if consumes is None:
610
610
  consumes = ConsumesE.All
611
611
 
@@ -114,9 +114,6 @@ class TaskDef(BaseModel):
114
114
  description="Shell to use for shell-based implementation")
115
115
  strategy : StrategyDef = dc.Field(
116
116
  default=None)
117
- tasks: Union[List['TaskDef'], TasksBuilder, None] = dc.Field(
118
- default=None,
119
- description="Sub-tasks")
120
117
  desc : str = dc.Field(
121
118
  default="",
122
119
  title="Task description",
@@ -215,38 +215,6 @@ class TaskGraphBuilder(object):
215
215
 
216
216
  # return ret
217
217
 
218
- def _mkTaskGraph(self, task : str) -> TaskNode:
219
- if task in self.root_pkg.task_m.keys():
220
- task_t = self.root_pkg.task_m[task]
221
- else:
222
- pass
223
-
224
- if task_t is None:
225
- raise Exception("Failed to find task %s" % task)
226
-
227
- ctor = self._getTaskCtor(task_t)
228
-
229
- params = ctor.mkTaskParams()
230
-
231
- needs = []
232
-
233
- for need in task_t.needs:
234
- need_n = self.findTask(need.name)
235
- if need_n is None:
236
- raise Exception("Failed to find need %s" % need.name)
237
- needs.append(need_n)
238
-
239
- task = ctor.mkTaskNode(
240
- builder=self,
241
- params=params,
242
- name=task,
243
- needs=needs)
244
- task.rundir = self.get_rundir(task.name)
245
- # task.rundir = rundir
246
-
247
- self._task_node_m[task.name] = task
248
-
249
- return task
250
218
 
251
219
  def mkTaskNode(self, task_t, name=None, srcdir=None, needs=None, **kwargs):
252
220
  self._log.debug("--> mkTaskNode: %s" % task_t)
@@ -337,10 +305,7 @@ class TaskGraphBuilder(object):
337
305
 
338
306
  # Now, link up the needs
339
307
  self._log.debug("--> processing needs")
340
- for n in task.needs:
341
- self._log.debug("-- need %s" % n.name)
342
- nn = self._getTaskNode(n.name)
343
- node.needs.append((nn, False))
308
+ self._gatherNeeds(task, node)
344
309
  self._log.debug("<-- processing needs")
345
310
 
346
311
  if task.rundir == RundirE.Unique:
@@ -375,10 +340,7 @@ class TaskGraphBuilder(object):
375
340
  self.leave_rundir()
376
341
 
377
342
  self._log.debug("--> processing needs")
378
- for need in task.needs:
379
- self._log.debug("-- need: %s" % need.name)
380
- nn = self._getTaskNode(need.name)
381
- node.input.needs.append((nn, False))
343
+ self._gatherNeeds(task, node.input)
382
344
  self._log.debug("<-- processing needs")
383
345
 
384
346
  # TODO: handle strategy
@@ -429,6 +391,17 @@ class TaskGraphBuilder(object):
429
391
 
430
392
  return node
431
393
 
394
+ def _gatherNeeds(self, task_t, node):
395
+ self._log.debug("--> _gatherNeeds %s" % task_t.name)
396
+ if task_t.uses is not None:
397
+ self._gatherNeeds(task_t.uses, node)
398
+
399
+ for need in task_t.needs:
400
+ need_n = self._getTaskNode(need.name)
401
+ if need_n is None:
402
+ raise Exception("Failed to find need %s" % need.name)
403
+ node.needs.append((need_n, False))
404
+ self._log.debug("<-- _gatherNeeds %s" % task_t.name)
432
405
 
433
406
  def getTaskCtor(self, spec : Union[str,'TaskSpec'], pkg : PackageDef = None) -> 'TaskNodeCtor':
434
407
  from .task_def import TaskSpec
@@ -170,7 +170,9 @@ class TaskNodeLeaf(TaskNode):
170
170
  for need,block in self.needs:
171
171
  if not block:
172
172
  output.extend(need.output.output)
173
- else:
173
+ elif self.consumes == ConsumesE.All:
174
+ self._log.debug("All inputs are consumed, so not propagating any")
175
+ elif isinstance(self.consumes, list):
174
176
  # Filter out parameter sets that were consumed
175
177
  self._log.debug("Propagating non-consumed input parameters to output")
176
178
  self._log.debug("consumes: %s" % str(self.consumes))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dv-flow-mgr
3
- Version: 1.0.0.14370600369a1
3
+ Version: 1.0.0.14389547107a1
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
@@ -106,6 +106,7 @@ tests/unit/task_listener_test.py
106
106
  tests/unit/test_compound_task.py
107
107
  tests/unit/test_data_merge.py
108
108
  tests/unit/test_dataflow.py
109
+ tests/unit/test_deps.py
109
110
  tests/unit/test_expr_eval.py
110
111
  tests/unit/test_expr_parser.py
111
112
  tests/unit/test_fileset.py
@@ -0,0 +1,63 @@
1
+ import os
2
+ import asyncio
3
+ import pytest
4
+ from dv_flow.mgr import TaskGraphBuilder, PackageLoader
5
+ from dv_flow.mgr.task_runner import TaskSetRunner
6
+ from dv_flow.mgr.task_listener_log import TaskListenerLog
7
+ from .task_listener_test import TaskListenerTest
8
+ from .marker_collector import MarkerCollector
9
+
10
+ def test_glob_sys(tmpdir):
11
+ flow_dv = """
12
+ package:
13
+ name: p1
14
+
15
+ tasks:
16
+ - name: glob1
17
+ uses: std.FileSet
18
+ with:
19
+ type: systemVerilogSource
20
+ include: "*.sv"
21
+ incdirs: ["srcdir"]
22
+ - name: glob2
23
+ uses: std.FileSet
24
+ with:
25
+ type: verilogSource
26
+ include: "*.v"
27
+ incdirs: ["srcdir"]
28
+ - name: glob_base
29
+ passthrough: all
30
+ needs: [glob1]
31
+ - name: glob_uses
32
+ uses: glob_base
33
+ needs: [glob2]
34
+ """
35
+
36
+ rundir = os.path.join(tmpdir)
37
+
38
+ with open(os.path.join(rundir, "flow.dv"), "w") as fp:
39
+ fp.write(flow_dv)
40
+
41
+ with open(os.path.join(rundir, "top.sv"), "w") as fp:
42
+ fp.write("\n")
43
+ with open(os.path.join(rundir, "top.v"), "w") as fp:
44
+ fp.write("\n")
45
+
46
+ pkg_def = PackageLoader().load(os.path.join(tmpdir, "flow.dv"))
47
+ builder = TaskGraphBuilder(
48
+ root_pkg=pkg_def,
49
+ rundir=os.path.join(tmpdir, "rundir"))
50
+ runner = TaskSetRunner(rundir=os.path.join(tmpdir, "rundir"))
51
+
52
+ task = builder.mkTaskNode("p1.glob_uses")
53
+ output = asyncio.run(runner.run(task))
54
+
55
+ print("output: %s" % str(output))
56
+
57
+ assert len(output.output) == 2
58
+ fs = output.output[0]
59
+ assert len(fs.files) == 1
60
+ assert fs.files[0] == "top.sv"
61
+ fs = output.output[1]
62
+ assert len(fs.files) == 1
63
+ assert fs.files[0] == "top.v"