diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index 8d3b5d4..94cc78d 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -10,4 +10,11 @@ jobs: validate: runs-on: ubuntu-latest steps: + - uses: actions/setup-python@v5 + with: + python-version: "3.10" + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install torch - uses: comfy-org/node-diff@main diff --git a/tests/test_control_flow_nodes.py b/tests/test_control_flow_nodes.py index 595e3fd..8a8d306 100644 --- a/tests/test_control_flow_nodes.py +++ b/tests/test_control_flow_nodes.py @@ -156,25 +156,37 @@ def test_continue_flow(): # select is True assert node.execute("some value", select=True) == ("some value",) # select is False - assert node.execute("some value", select=False) == (None,) # ExecutionBlocker(None) becomes None + res = node.execute("some value", select=False) + assert res == (None,) or "ExecutionBlocker" in str(res[0]) # select is default (True) assert node.execute("some value") == ("some value",) # Test with different value types assert node.execute(123, select=True) == (123,) - assert node.execute([1, 2], select=False) == (None,) + res = node.execute([1, 2], select=False) + assert res == (None,) or "ExecutionBlocker" in str(res[0]) def test_flow_select(): node = FlowSelect() # select is True - assert node.select("some value", select=True) == ("some value", None) + res = node.select("some value", select=True) + assert res[0] == "some value" + assert res[1] is None or "ExecutionBlocker" in str(res[1]) # select is False - assert node.select("some value", select=False) == (None, "some value") + res = node.select("some value", select=False) + assert res[0] is None or "ExecutionBlocker" in str(res[0]) + assert res[1] == "some value" # select is default (True) - assert node.select("some value") == ("some value", None) + res = node.select("some value") + assert res[0] == "some value" + assert res[1] is None or "ExecutionBlocker" in str(res[1]) # Test with different value types - assert node.select(42, select=True) == (42, None) - assert node.select({'a': 1}, select=False) == (None, {'a': 1}) + res = node.select(42, select=True) + assert res[0] == 42 + assert res[1] is None or "ExecutionBlocker" in str(res[1]) + res = node.select({'a': 1}, select=False) + assert res[0] is None or "ExecutionBlocker" in str(res[0]) + assert res[1] == {'a': 1} def test_force_calculation():