dv-flow-mgr 1.0.0.14457729129a1__tar.gz → 1.0.0.14458222178a1__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 (139) hide show
  1. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/PKG-INFO +1 -1
  2. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/pyproject.toml +1 -1
  3. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/task_graph_builder.py +9 -6
  4. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow_mgr.egg-info/PKG-INFO +1 -1
  5. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/tests/unit/test_compound_task.py +57 -0
  6. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/tests/unit/test_graph.py +1 -1
  7. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/.env +0 -0
  8. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/.github/workflows/ci.yml +0 -0
  9. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/.gitignore +0 -0
  10. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/.vscode/settings.json +0 -0
  11. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/LICENSE +0 -0
  12. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/README.md +0 -0
  13. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/docs/ChangeLog.md +0 -0
  14. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/docs/KeyArchitecture.md +0 -0
  15. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/docs/Makefile +0 -0
  16. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/docs/Notes.md +0 -0
  17. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/docs/Roadmap.md +0 -0
  18. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/docs/RundirLayout.md +0 -0
  19. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/docs/Stages.md +0 -0
  20. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/docs/Steps.md +0 -0
  21. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/docs/Tasks.md +0 -0
  22. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/docs/TypesAndDefs.md +0 -0
  23. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/docs/Usecases.md +0 -0
  24. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/docs/cmdref.rst +0 -0
  25. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/docs/conf.py +0 -0
  26. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/docs/index.rst +0 -0
  27. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/docs/pytask_api.rst +0 -0
  28. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/docs/quickstart.rst +0 -0
  29. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/fwperiph_dma.pss +0 -0
  30. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/ivpm.yaml +0 -0
  31. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/setup.cfg +0 -0
  32. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/__init__.py +0 -0
  33. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/__main__.py +0 -0
  34. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/cmds/cmd_graph.py +0 -0
  35. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/cmds/cmd_run.py +0 -0
  36. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/cmds/cmd_show.py +0 -0
  37. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/cond_def.py +0 -0
  38. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/config.py +0 -0
  39. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/config_def.py +0 -0
  40. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/eval_jq.py +0 -0
  41. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/exec_callable.py +0 -0
  42. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/expr_eval.py +0 -0
  43. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/expr_parser.py +0 -0
  44. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/ext_rgy.py +0 -0
  45. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/extend_def.py +0 -0
  46. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/fileset.py +0 -0
  47. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/fragment_def.py +0 -0
  48. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/listener_list.py +0 -0
  49. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/need_def.py +0 -0
  50. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/null_callable.py +0 -0
  51. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/out +0 -0
  52. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/package.py +0 -0
  53. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/package_def.py +0 -0
  54. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/package_import_spec.py +0 -0
  55. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/package_loader.py +0 -0
  56. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/param.py +0 -0
  57. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/param_def.py +0 -0
  58. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/param_ref_eval.py +0 -0
  59. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/parser.out +0 -0
  60. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/parsetab.py +0 -0
  61. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/pytask_callable.py +0 -0
  62. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/root_package.py +0 -0
  63. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/share/flow.json +0 -0
  64. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/shell_callable.py +0 -0
  65. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/srcinfo.py +0 -0
  66. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/std/create_file.py +0 -0
  67. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/std/exec.py +0 -0
  68. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/std/fileset.py +0 -0
  69. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/std/flow.dv +0 -0
  70. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/std/message.py +0 -0
  71. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/std/task_null.py +0 -0
  72. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/task.py +0 -0
  73. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/task_data.py +0 -0
  74. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/task_def.py +0 -0
  75. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/task_graph_dot_writer.py +0 -0
  76. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/task_listener_log.py +0 -0
  77. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/task_node.py +0 -0
  78. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/task_node_compound.py +0 -0
  79. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/task_node_ctor.py +0 -0
  80. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/task_node_ctor_compound.py +0 -0
  81. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/task_node_ctor_compound_proxy.py +0 -0
  82. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/task_node_ctor_def_base.py +0 -0
  83. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/task_node_ctor_proxy.py +0 -0
  84. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/task_node_ctor_task.py +0 -0
  85. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/task_node_ctor_wrapper.py +0 -0
  86. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/task_node_leaf.py +0 -0
  87. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/task_output.py +0 -0
  88. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/task_params_ctor.py +0 -0
  89. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/task_run_ctxt.py +0 -0
  90. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/task_runner.py +0 -0
  91. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/type.py +0 -0
  92. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/type_def.py +0 -0
  93. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/util/__init__.py +0 -0
  94. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/util/__main__.py +0 -0
  95. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/util/cmds/__init__.py +0 -0
  96. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/util/cmds/cmd_schema.py +0 -0
  97. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/util/util.py +0 -0
  98. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow/mgr/yaml_srcinfo_loader.py +0 -0
  99. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow_mgr.egg-info/SOURCES.txt +0 -0
  100. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow_mgr.egg-info/dependency_links.txt +0 -0
  101. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow_mgr.egg-info/entry_points.txt +0 -0
  102. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow_mgr.egg-info/requires.txt +0 -0
  103. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/src/dv_flow_mgr.egg-info/top_level.txt +0 -0
  104. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/tests/examples/example1/example1.flow +0 -0
  105. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/tests/system/test_depends.py +0 -0
  106. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/tests/system/test_pkg_discovery.py +0 -0
  107. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/tests/system/test_stdlib.py +0 -0
  108. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/tests/unit/__init__.py +0 -0
  109. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/tests/unit/data/fileset/test1/files1/file1_1.sv +0 -0
  110. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/tests/unit/data/fileset/test1/files1/file1_2.sv +0 -0
  111. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/tests/unit/data/fileset/test1/files2/file2_1.sv +0 -0
  112. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/tests/unit/data/fileset/test1/files2/file2_2.sv +0 -0
  113. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/tests/unit/data/fileset/test1/flow.dv +0 -0
  114. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/tests/unit/data/fileset/test1 copy/files1/file1_1.sv +0 -0
  115. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/tests/unit/data/fileset/test1 copy/files1/file1_2.sv +0 -0
  116. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/tests/unit/data/fileset/test1 copy/files2/file2_1.sv +0 -0
  117. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/tests/unit/data/fileset/test1 copy/files2/file2_2.sv +0 -0
  118. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/tests/unit/data/fileset/test1 copy/test1.dfs +0 -0
  119. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/tests/unit/data/proj1/proj1.dfs +0 -0
  120. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/tests/unit/data/proj2/proj2.dfs +0 -0
  121. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/tests/unit/data/proj3/proj3.dfs +0 -0
  122. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/tests/unit/marker_collector.py +0 -0
  123. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/tests/unit/task_listener_test.py +0 -0
  124. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/tests/unit/test_data_merge.py +0 -0
  125. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/tests/unit/test_dataflow.py +0 -0
  126. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/tests/unit/test_deps.py +0 -0
  127. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/tests/unit/test_expr_eval.py +0 -0
  128. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/tests/unit/test_expr_parser.py +0 -0
  129. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/tests/unit/test_fileset.py +0 -0
  130. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/tests/unit/test_imports.py +0 -0
  131. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/tests/unit/test_load_package.py +0 -0
  132. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/tests/unit/test_markers.py +0 -0
  133. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/tests/unit/test_parse.py +0 -0
  134. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/tests/unit/test_pyclass.py +0 -0
  135. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/tests/unit/test_pyexec.py +0 -0
  136. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/tests/unit/test_pytask_smoke.py +0 -0
  137. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/tests/unit/test_smoke copy.sav +0 -0
  138. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/tests/unit/test_smoke.py +0 -0
  139. {dv_flow_mgr-1.0.0.14457729129a1 → dv_flow_mgr-1.0.0.14458222178a1}/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.14457729129a1
3
+ Version: 1.0.0.14458222178a1
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.14457729129a1"
8
+ version = "1.0.0.14458222178a1"
9
9
  dependencies = [
10
10
  'jq',
11
11
  'pydantic',
@@ -389,9 +389,9 @@ class TaskGraphBuilder(object):
389
389
  self._log.debug("--> processing needs (%s) (%d)" % (task.name, len(task.needs)))
390
390
  for need in task.needs:
391
391
  need_n = self._getTaskNode(need.name)
392
- self._log.debug("Add need %s" % need_n.name)
393
392
  if need_n is None:
394
393
  raise Exception("Failed to find need %s" % need.name)
394
+ self._log.debug("Add need %s with %d dependencies" % (need_n.name, len(need_n.needs)))
395
395
  node.input.needs.append((need_n, False))
396
396
  # node.needs.append((need_n, False))
397
397
  self._log.debug("<-- processing needs")
@@ -415,10 +415,13 @@ class TaskGraphBuilder(object):
415
415
  self._log.debug("Process node %s" % t.name)
416
416
 
417
417
  referenced = None
418
- for tt in task.subtasks:
419
- if tt in t.needs:
420
- referenced = tt
421
- break
418
+ for tt in node.tasks:
419
+ self._log.debug(" Checking task %s" % tt.name)
420
+ for tnn,_ in tt.needs:
421
+ self._log.debug(" Check against need %s" % tnn.name)
422
+ if tn == tnn:
423
+ referenced = tnn
424
+ break
422
425
 
423
426
  refs_internal = None
424
427
  # Assess how this task is connected to others in the compound node
@@ -440,7 +443,7 @@ class TaskGraphBuilder(object):
440
443
  self._log.debug("Node %s references internal node %s" % (t.name, refs_internal.name))
441
444
 
442
445
  if referenced is not None:
443
- self._log.debug("Node %s has internal needs" % tn.name)
446
+ self._log.debug("Node %s has internal needs: %s" % (tn.name, referenced.name))
444
447
  else:
445
448
  # Add this task as a dependency of the output
446
449
  # node (the root one)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dv-flow-mgr
3
- Version: 1.0.0.14457729129a1
3
+ Version: 1.0.0.14458222178a1
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
@@ -376,3 +376,60 @@ package:
376
376
  assert os.path.isfile(os.path.join(rundir, "rundir/foo.entry/foo.entry.mytask/mytask.txt"))
377
377
  content = open(os.path.join(rundir, "rundir/foo.entry/foo.entry.mytask/mytask.txt"), "r").read().strip()
378
378
  assert content == "inputs: 1"
379
+
380
+ def test_compound_input_auto_bind_chain(tmpdir):
381
+ flow_dv = """
382
+ package:
383
+ name: foo
384
+
385
+ tasks:
386
+ - name: TopLevelTask
387
+ uses: std.CreateFile
388
+ with:
389
+ filename: TopLevelTask.txt
390
+ content: "TopLevelTask.txt"
391
+
392
+ - name: entry
393
+ needs: [TopLevelTask]
394
+ body:
395
+ - name: mytask1
396
+ passthrough: all
397
+ - name: mytask2
398
+ passthrough: all
399
+ needs: [mytask1]
400
+ - name: mytask3
401
+ passthrough: all
402
+ needs: [mytask2]
403
+ - name: mytask4
404
+ passthrough: all
405
+ needs: [mytask3]
406
+ """
407
+
408
+ rundir = os.path.join(tmpdir)
409
+ with open(os.path.join(rundir, "flow.dv"), "w") as fp:
410
+ fp.write(flow_dv)
411
+
412
+ marker_collector = MarkerCollector()
413
+ pkg_def = PackageLoader(
414
+ marker_listeners=[marker_collector]).load(
415
+ os.path.join(rundir, "flow.dv"))
416
+ assert len(marker_collector.markers) == 0
417
+
418
+ builder = TaskGraphBuilder(
419
+ root_pkg=pkg_def,
420
+ rundir=os.path.join(rundir, "rundir"))
421
+ runner = TaskSetRunner(rundir=os.path.join(rundir, "rundir"))
422
+
423
+ t1 = builder.mkTaskNode("foo.entry")
424
+
425
+ TaskGraphDotWriter().write(
426
+ t1,
427
+ os.path.join(rundir, "graph.dot"))
428
+
429
+ output = asyncio.run(runner.run(t1))
430
+
431
+ assert runner.status == 0
432
+ assert len(output.output) == 1
433
+ assert output.output[0].src == 'foo.TopLevelTask'
434
+ assert output.output[0].type == 'std.FileSet'
435
+ assert len(output.output[0].files) == 1
@@ -195,6 +195,6 @@ package:
195
195
  assert runner.status == 0
196
196
  for out in output.output:
197
197
  print("Out: %s" % str(out))
198
- assert len(output.output) == 1
198
+ assert len(output.output) == 2
199
199
  assert output.output[0].type == 'std.FileSet'
200
200
  assert len(output.output[0].files) == 1