liquidmetal-dev / liquidmetal-dev/flintlock

[e2e]: Add signal handler

Open
#240 5 comments 2 reactions 0 assignees View on GitHub
area/testing good first issue help wanted kind/bug lifecycle/stale priority/backlog
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.