Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

intTests/runtests.sh should be more gracefully interruptible #612

Closed
brianhuffman opened this issue Dec 12, 2019 · 1 comment · Fixed by #627
Closed

intTests/runtests.sh should be more gracefully interruptible #612

brianhuffman opened this issue Dec 12, 2019 · 1 comment · Fixed by #627
Labels
tooling: test infrastructure Issues involving test infrastructure or test execution, or making SAW more testable

Comments

@brianhuffman
Copy link
Contributor

Here's what usually happens when I try to abort an execution of runtests.sh by pressing Ctrl-C:

test0001: OK (1s)
test0002: OK (15s)
test0003: OK (1s)
test0003_w4: OK (0s)
^Ctest0004: FAIL (2s)
^Ctest0004_w4: FAIL (0s)
^Ctest0005: FAIL (0s)
^Ctest0006: FAIL (0s)
^Ctest0006_w4: FAIL (0s)
^Ctest0007: FAIL (0s)
^Ctest0008_jss_cnf: FAIL (0s)
^Ctest0012_jss_aig: FAIL (0s)
^Ctest0015_sawscript_aig: FAIL (0s)
^Ctest0016_sawscript_cnf: FAIL (0s)
^Ctest0018_jss_class_load: FAIL (0s)
^C^Ctest0019_jss_switch_statement: FAIL (0s)
^C^C

Pressing Ctrl-C once only quits the currently running test, prints a spurious FAIL message, and then continues running the next test. To quit the whole thing, I have to either press Ctrl-C lots of times, or else just hold Ctrl-C until the keyboard repeat takes over.

What I want is to be able to cancel the whole thing with a single press of Ctrl-C. Even better would be to get a correct results summary for the partial test run.

@brianhuffman brianhuffman added the tooling: test infrastructure Issues involving test infrastructure or test execution, or making SAW more testable label Dec 12, 2019
@robdockins
Copy link
Contributor

The difficulty, I think, is that subshells are spawned to run each individual test. If I recall correctly, this was done so that the individual test jobs could be run with a timeout. I don't know offhand a good way to get the behavior you want, but maybe a better shell hacker than I could figure out how to do it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
tooling: test infrastructure Issues involving test infrastructure or test execution, or making SAW more testable
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants