liquidmetal-dev / liquidmetal-dev/flintlock
[e2e]: Add signal handler
- Dominant language
- Go
- Stars
- 1.5k
- Forks
- 73
- Avg merge
- 17h 24m
- Merged PRs (30d)
- 30
Description
Right now if I:
- Start the e2e tests `make test-e2e` or `make test-e2e-docker`
- Change my mind before they finish
- Hit ctrl-C (or whatever)
There is no cleanup:
- Any existing mvms created by the test will still be there
- Containerd will still be running
- Flintlockd will still be running
- The thinpool and loop devices will still be in place
- etc
in other words, annoying as you cannot re-run the test before manual cleanup
I should be able to CTRL+C in the middle of an e2e test run and still have the processes exit nicely and the cleanup run. I should be able to re-run the e2e tests immediately and see everything start from a blank slate.
Ginkgo does have a signal handler which does this, so that is an option. Otherwise we can roll our own.
Contributor guide
Research direction
Start with the e2e entry points behind `make test-e2e` and `make test-e2e-docker`, then review Ginkgo's signal-handler behavior. Verify what cleanup currently runs for MVMs, containerd, Flintlockd, the thinpool, and loop devices. Done means interrupting either e2e command exits processes cleanly, removes test resources, and allows an immediate rerun from a blank slate.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- testing
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100