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

Make e2e tests more robust #100

Merged
merged 6 commits into from
Feb 20, 2024
Merged

Conversation

cfergeau
Copy link
Collaborator

Initial goal of this PR was to add a NVME test.
However, it initially failed and this was quite hard to debug.
This PR reworks the code in test/ to make unexpected failures easier to catch.

This adds a NVME test to TestPCIIDs.

Signed-off-by: Christophe Fergeau <[email protected]>
The loops over the macOS13-only tests and macOS14-only tests are exactly
the same, this commit refactors them so that we have a single loop.

Signed-off-by: Christophe Fergeau <[email protected]>
This introduces a retrySSHDial and reworks the API used to connect to the
VM over vsock/tcp. This will be useful in subsequent commits which will
add a way to error out from the test if the vfkit process unexpectedly
stopped.

Signed-off-by: Christophe Fergeau <[email protected]>
Instead of a for{} loop with a time.Sleep, this commit switches to using
select{} for retry loops. This is in preparation for catching unexpected
exits of the vfkit process while running the test

Signed-off-by: Christophe Fergeau <[email protected]>
This commit an a go routine which will `Wait()` for the vfkit process.
When it exits, it will push the corresponding error (or nil) to a
channel.
The code waiting for the VM to startup can then check for errors in
their select{} retry loop, and fail acccordingly.

This will make debugging test failures easier, as currently if the vfkit
process dies early, the test appears to be taking a very long time
without any indication as to what's going on.

Signed-off-by: Christophe Fergeau <[email protected]>
This captures vfkit stdout/stderr to a file to help understand some test
failures.
This file is currently removed after the test ends, its path needs to be
changed if one needs to look at it after.

Signed-off-by: Christophe Fergeau <[email protected]>
@praveenkumar
Copy link
Member

/lgtm
/approve

@cfergeau
Copy link
Collaborator Author

/approve

Copy link

openshift-ci bot commented Feb 20, 2024

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: cfergeau, praveenkumar

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-merge-bot openshift-merge-bot bot merged commit 09829aa into crc-org:main Feb 20, 2024
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants