-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Update bats tests to run in parallel #2191
Conversation
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: saschagrunert 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 |
Why is this modification needed? Note that containers/image is using a new library now. Vendoring the latest release of containers/image should help. |
Basically because of this behavior: cheggaaa/pb#148 When running dedicated applications in parallel they will lock each other out and never finish.
Ah thanks for the hint, I will check that out. |
Ewww. The new library does not suffer from this issue, so updating should be safe. Heads up: updating image is likely to require updating storage, buildah AND libpod as well. Just in case you run into incompatibility issues. |
@@ -184,7 +184,7 @@ function teardown() { | |||
|
|||
# 6. test running with ctr docker/default | |||
# test that we cannot run with a syscall blocked by the default seccomp profile | |||
@test "ctr seccomp profiles runtime/default" { | |||
@test "ctr seccomp profiles docker/default" { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why did you have to change the name of the test here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This test name is a duplicate with test number 2 and bats now complains about this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok thanks for the clarification!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It should be noted that this is intended to be fixed at some point in the future, but it has never actually worked as-expected (the latest-defined test would always be executed).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The fun part is that this test has overwritten the above one which has never been executed therefore, but that should be fixed now.
44c78f6
to
cbc0857
Compare
Okay this topic is much larger than I initially thought. There are several API changes which break up tests so I will see next week if I split this PR into several pieces. |
Codecov Report
@@ Coverage Diff @@
## master #2191 +/- ##
==========================================
- Coverage 31.87% 31.85% -0.03%
==========================================
Files 76 76
Lines 6708 6706 -2
==========================================
- Hits 2138 2136 -2
Misses 4444 4444
Partials 126 126 |
@saschagrunert I suggest waiting with updating containers/image until buildah and libpod have the new releases. There is a whole bunch of transitive dependencies that must be changed as well. I can spin that up on Monday. |
/retest |
cbc0857
to
73ccee9
Compare
73ccee9
to
b87c095
Compare
32437b5
to
7eadcd3
Compare
@chavafg I'm wondering if you had any problems with
|
0c7fa7a
to
ed939fc
Compare
@saschagrunert Didn't had any issues with rhel, but we use our own scripts to install parallel: |
/retest |
kata uses devicemapper driver for running the tests. seems like all tests are trying to get the same physical device (/dev/sdb) at the same time. |
Hm, this makes it a bit problematic right now. Since it is configured outside of the tests I would have no chance to fix it. WDYT? I mean we could set JOBS=1 in crio.sh, right? |
I have already added the |
/test kata-containers |
I mean it works, but the added GNU parallel dependency seems obsolete now. Do you have any idea how we could solve it @chavafg. I'm running a bit out of ideas. |
sorry, didn't catch your question... can you elaborate? |
/test kata-containers |
Yep, you added GNU parallel to the kata toolchain. But parallel will not be used at all If you run bats with |
ohh ok, got it. Yeah, I think we would still want to continue testing with devicemapper as it seems that we are the only job that do this... so for this testing we would not need it for the moment. But I am also trying to parallelize our k8s test suite which uses bats, so we are fine to have it. |
/check-dco |
This commit utilizes the parallelism support of bats and applies them to the integration tests. Signed-off-by: Sascha Grunert <sgrunert@suse.com>
ed939fc
to
8e2ee9b
Compare
LGTM |
/lgtm |
/test kata-containers |
1 similar comment
/test kata-containers |
/lgtm |
This PR utilizes the parallelism support of bats and applies them to the integration tests. All integration tests should now run int ~15min instead of >30min.