Repository navigation
ariadne material: no time cap on the runs, and no endless wait when one stops - #149
Merged
Merged
Conversation
…ne stops The material port ran both stories under Host's default 30 s per-action cap. The scenario story takes 25-30 s here, so on a busy machine the cap stopped it, its status never became "done", and --headless / --offscreen waited forever (test_material_runs_both_stories hung twice locally, killed at 1500 s). The runs now have no cap (each story ends on its own step budget). Each startup run reports back through run_program's done callback: a run that does not finish sets its status to "failed: <why>" (the window's spinner stops), and headless or offscreen ends with exit code 1 and the reason. A test stops slow stand-in runs with a 0.2 s cap and checks the port returns 1 within 30 s.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes a hang in the
materialAriadne port from #147.The bug
pycvc_gl.ariadne.Host's default per-action cap (ariadne.limits.action_max_time, 30 s).done, and--headless/--offscreenwait forever.test_material_runs_both_storieshung twice in full runs; both times the run was killed at the 1500 s timeout.main(749a4fd): with the cap forced to 3 s, both runs are stopped (time_limit_exceeded) and the port never returns.The fix
ariadne/material.py:RUN_LIMITS, 0 = none). Each story already ends on its own step budget: 4000 steps for the scenario,--swarm-stepsfor the swarm.run_program'sdonecallback. A run that does not finish sets its status tofailed: <why>, so the window's spinner stops.--headlessor--offscreen, the port then ends with exit code 1 and prints the reason.tests/test_ariadne_ports.py:test_material_returns_when_a_run_is_stoppedreplaces both stories with slow stand-ins and sets a 0.2 s cap. It checks that the port returns 1 within 30 s and names both runs. On the old code this test would hang.ariadne/README.md: a line on the uncapped runs and the exit code.Tests
GRL_SNAM_ARIADNE_GL=1 pytest tests/test_ariadne_ports.py tests/test_cli.py: 15 passed in 25 s.