From 7f8a35ad52019f95e00d5c9e4721c20e4a4b611a Mon Sep 17 00:00:00 2001 From: woutdenolf Date: Sat, 10 Oct 2026 08:48:45 +0200 Subject: [PATCH 1/2] bump pypushflow to 2.1.0rc2 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 4da76bb..0e571df 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -17,7 +17,7 @@ classifiers = [ requires-python = ">=3.8" dependencies = [ "ewokscore >=5.0.0", - "pypushflow >=2.1.0rc1", + "pypushflow >=2.1.0rc2", ] [project.urls] From 5ff84d8d2a69576fc3d2c6059c7830b81d19ae74 Mon Sep 17 00:00:00 2001 From: woutdenolf Date: Sat, 10 Oct 2026 09:45:50 +0200 Subject: [PATCH 2/2] test: handle collision warnings --- src/ewoksppf/tests/test_examples.py | 13 ++++++++++++- src/ewoksppf/tests/test_ppf_workflow16.py | 7 ++++--- src/ewoksppf/tests/test_ppf_workflow18.py | 15 +++++++++------ src/ewoksppf/tests/test_workflow_outputs.py | 10 +++++++++- 4 files changed, 34 insertions(+), 11 deletions(-) diff --git a/src/ewoksppf/tests/test_examples.py b/src/ewoksppf/tests/test_examples.py index bd132ae..eee85ba 100644 --- a/src/ewoksppf/tests/test_examples.py +++ b/src/ewoksppf/tests/test_examples.py @@ -5,7 +5,18 @@ from ewokscore.tests.utils.results import assert_execute_graph_default_result -@pytest.mark.parametrize("graph_name", graph_names()) +def _graph_name_param(name): + if name == "triangle1": + return pytest.param( + name, + marks=pytest.mark.filterwarnings( + "ignore:Merged workflow results.*are overwritten by actor.*:UserWarning" + ), + ) + return name + + +@pytest.mark.parametrize("graph_name", [_graph_name_param(n) for n in graph_names()]) @pytest.mark.parametrize("scheme", (None, "json")) def test_execute_graph(engine, graph_name, scheme, ppf_log_config, tmpdir): if graph_name == "self_trigger": diff --git a/src/ewoksppf/tests/test_ppf_workflow16.py b/src/ewoksppf/tests/test_ppf_workflow16.py index 9790726..00ae5e1 100644 --- a/src/ewoksppf/tests/test_ppf_workflow16.py +++ b/src/ewoksppf/tests/test_ppf_workflow16.py @@ -1,4 +1,4 @@ -from ewokscore.tests.utils.results import assert_execute_graph_default_result +from ewokscore.tests.utils.results import filter_expected_results from ewoksppf import execute_graph @@ -136,5 +136,6 @@ def test_workflow16(ppf_log_config, tmpdir): """Test connecting nodes from sub-submodels to the top model""" varinfo = {"root_uri": str(tmpdir)} graph, expected = workflow16() - result = execute_graph(graph, varinfo=varinfo) - assert_execute_graph_default_result(graph, result, expected, varinfo=varinfo) + result = execute_graph(graph, varinfo=varinfo, merge_outputs=False) + expected = filter_expected_results(graph, expected, end_only=True) + assert result == expected diff --git a/src/ewoksppf/tests/test_ppf_workflow18.py b/src/ewoksppf/tests/test_ppf_workflow18.py index c4e0be3..e04ee09 100644 --- a/src/ewoksppf/tests/test_ppf_workflow18.py +++ b/src/ewoksppf/tests/test_ppf_workflow18.py @@ -1,5 +1,4 @@ import pytest -from ewokscore.tests.utils.results import assert_execute_graph_default_result from ewoksppf import execute_graph @@ -38,10 +37,9 @@ def workflow18(dotask4=True): "nodes": nodes, } + expected_results = {"task3": {"_ppfdict": {"value": 2}}} if dotask4: - expected_results = {"_ppfdict": {"value": 12}} - else: - expected_results = {"_ppfdict": {"value": 2}} + expected_results["task4"] = {"_ppfdict": {"value": 12}} return graph, expected_results @@ -51,5 +49,10 @@ def test_workflow18(dotask4, ppf_log_config, tmpdir): """Test conditional links""" varinfo = {"root_uri": str(tmpdir)} graph, expected = workflow18(dotask4=dotask4) - result = execute_graph(graph, varinfo=varinfo) - assert_execute_graph_default_result(graph, result, expected, varinfo=varinfo) + result = execute_graph( + graph, + varinfo=varinfo, + outputs=[{"id": "task3"}, {"id": "task4"}], + merge_outputs=False, + ) + assert result == expected diff --git a/src/ewoksppf/tests/test_workflow_outputs.py b/src/ewoksppf/tests/test_workflow_outputs.py index 76c9676..e2a1007 100644 --- a/src/ewoksppf/tests/test_workflow_outputs.py +++ b/src/ewoksppf/tests/test_workflow_outputs.py @@ -12,7 +12,12 @@ None, [], [{"all": False}], - [{"all": True}], + pytest.param( + [{"all": True}], + marks=pytest.mark.filterwarnings( + "ignore:Merged workflow results.*are overwritten by actor.*:UserWarning" + ), + ), [{"id": "task5"}], [{"label": "task5"}], [{"id": "task1", "name": "inputs"}, {"id": "task4", "name": "result"}], @@ -42,6 +47,9 @@ def test_default_outputs(ppf_log_config): assert execute_graph(_create_graph()) == dict() +@pytest.mark.filterwarnings( + "ignore:Merged workflow results.*are overwritten by actor.*:UserWarning" +) def test_all_outputs_merged(ppf_log_config): """'task6' is the last task with outputs so it takes precedence.""" result = execute_graph(_create_graph(), outputs=[{"all": True}])