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

exit-first does not apply across discover phase boundaries #3116

Open
happz opened this issue Jul 29, 2024 · 0 comments
Open

exit-first does not apply across discover phase boundaries #3116

happz opened this issue Jul 29, 2024 · 0 comments
Labels
step | execute Stuff related to the execute step

Comments

@happz
Copy link
Collaborator

happz commented Jul 29, 2024

With multiple discover phases, each gets its own clone of the execute plugin. All copies do have an exit-first flag set, but if a test fails in one discover phase, follow-up discover phases remain oblivious and continue. The only check in execute/tmt happens after a test is run:

if (abort or self.data.exit_first and result.result not in (ResultOutcome.PASS, ResultOutcome.INFO))

This obviously does not include checking whether a previous plugin invocation, to run tests from the earlier discover phase, finished successfully. That could be a fix: before running any test, with the exit-first flag set, execute/tmt would check all results collected so far and skip running any tests if the check above would trigger.

@happz happz added the step | execute Stuff related to the execute step label Jul 29, 2024
coiby added a commit to coiby/kdump-utils that referenced this issue Jul 30, 2024
For local vmcore dumping, we only need to trigger a kernel crash and
check if vmcore exists and it can re-use some setups and tests from NFS
dumping.

Note
1. plans/main.fmf is created for NFS and local dumping test plans to
   inherit .
2. Virtual tests [1] are created so local dumping can re-use the code of
   checking vmcore on an NFS server
3. The local test is disabled for now due to [2]
4. exit-first=true [3] is to make the executor stop executing tests once
   a test failure is encountered. But TMT currently has the problem of
   exit-first not applying across discover phase boundaries [4]. So for local
   dumping test plan, simply remove multiple discover phases [5].

[1] https://tmt.readthedocs.io/en/stable/guide.html#virtual-tests
[2] https://bugzilla.redhat.com/show_bug.cgi?id=2270423
[3] https://tmt.readthedocs.io/en/stable/spec/plans.html#exit-first
[4] teemtee/tmt#3116
[5] https://tmt.readthedocs.io/en/stable/guide.html#multihost-testing

Signed-off-by: Coiby Xu <[email protected]>
coiby added a commit to coiby/kdump-utils that referenced this issue Jul 30, 2024
For local vmcore dumping, we only need to trigger a kernel crash and
check if vmcore exists and it can re-use some setups and tests from NFS
dumping.

Note
1. plans/main.fmf is created for NFS and local dumping test plans to
   inherit .
2. Virtual tests [1] are created so local dumping can re-use the code of
   checking vmcore on an NFS server
3. The local test is disabled for now due to [2]
4. exit-first=true [3] is to make the executor stop executing tests once
   a test failure is encountered. But TMT currently has the problem of
   exit-first not applying across discover phase boundaries [4]. So for local
   dumping test plan, simply remove multiple discover phases [5].

[1] https://tmt.readthedocs.io/en/stable/guide.html#virtual-tests
[2] https://bugzilla.redhat.com/show_bug.cgi?id=2270423
[3] https://tmt.readthedocs.io/en/stable/spec/plans.html#exit-first
[4] teemtee/tmt#3116
[5] https://tmt.readthedocs.io/en/stable/guide.html#multihost-testing

Signed-off-by: Coiby Xu <[email protected]>
coiby added a commit to coiby/kdump-utils that referenced this issue Jul 30, 2024
For local vmcore dumping, we only need to trigger a kernel crash and
check if vmcore exists and it can re-use some setups and tests from NFS
dumping.

Note
1. plans/main.fmf is created for NFS and local dumping test plans to
   inherit .
2. Virtual tests [1] are created so local dumping can re-use the code of
   checking vmcore on an NFS server
3. The local test is disabled for now due to [2]
4. exit-first=true [3] is to make the executor stop executing tests once
   a test failure is encountered. But TMT currently has the problem of
   exit-first not applying across discover phase boundaries [4]. So for local
   dumping test plan, simply remove multiple discover phases [5].

[1] https://tmt.readthedocs.io/en/stable/guide.html#virtual-tests
[2] https://bugzilla.redhat.com/show_bug.cgi?id=2270423
[3] https://tmt.readthedocs.io/en/stable/spec/plans.html#exit-first
[4] teemtee/tmt#3116
[5] https://tmt.readthedocs.io/en/stable/guide.html#multihost-testing

Signed-off-by: Coiby Xu <[email protected]>
coiby added a commit to coiby/kdump-utils that referenced this issue Jul 30, 2024
For local vmcore dumping, we only need to trigger a kernel crash and
check if vmcore exists and it can re-use some setups and tests from NFS
dumping.

Note
1. plans/main.fmf is created for NFS and local dumping test plans to
   inherit .
2. Virtual tests [1] are created so local dumping can re-use the code of
   checking vmcore on an NFS server
3. The local test is disabled for now due to [2]
4. exit-first=true [3] is to make the executor stop executing tests once
   a test failure is encountered. But TMT currently has the problem of
   exit-first not applying across discover phase boundaries [4]. So for local
   dumping test plan, simply remove multiple discover phases [5].

[1] https://tmt.readthedocs.io/en/stable/guide.html#virtual-tests
[2] https://bugzilla.redhat.com/show_bug.cgi?id=2270423
[3] https://tmt.readthedocs.io/en/stable/spec/plans.html#exit-first
[4] teemtee/tmt#3116
[5] https://tmt.readthedocs.io/en/stable/guide.html#multihost-testing

Signed-off-by: Coiby Xu <[email protected]>
coiby added a commit to coiby/kdump-utils that referenced this issue Jul 30, 2024
For local vmcore dumping, we only need to trigger a kernel crash and
check if vmcore exists and it can re-use some setups and tests from NFS
dumping.

Note
1. plans/main.fmf is created for NFS and local dumping test plans to
   inherit .
2. Virtual tests [1] are created so local dumping can re-use the code of
   checking vmcore on an NFS server
3. The local test is disabled for now due to [2]
4. exit-first=true [3] is to make the executor stop executing tests once
   a test failure is encountered. But TMT currently has the problem of
   exit-first not applying across discover phase boundaries [4]. So for local
   dumping test plan, simply remove multiple discover phases [5].

[1] https://tmt.readthedocs.io/en/stable/guide.html#virtual-tests
[2] https://bugzilla.redhat.com/show_bug.cgi?id=2270423
[3] https://tmt.readthedocs.io/en/stable/spec/plans.html#exit-first
[4] teemtee/tmt#3116
[5] https://tmt.readthedocs.io/en/stable/guide.html#multihost-testing

Signed-off-by: Coiby Xu <[email protected]>
coiby added a commit to coiby/kdump-utils that referenced this issue Jul 30, 2024
For local vmcore dumping, we only need to trigger a kernel crash and
check if vmcore exists and it can re-use some setups and tests from NFS
dumping.

Note
1. plans/main.fmf is created for NFS and local dumping test plans to
   inherit .
2. Virtual tests [1] are created so local dumping can re-use the code of
   checking vmcore on an NFS server
3. The local test is disabled for now due to [2]
4. exit-first=true [3] is to make the executor stop executing tests once
   a test failure is encountered. But TMT currently has the problem of
   exit-first not applying across discover phase boundaries [4]. So for local
   dumping test plan, simply remove multiple discover phases [5].

[1] https://tmt.readthedocs.io/en/stable/guide.html#virtual-tests
[2] https://bugzilla.redhat.com/show_bug.cgi?id=2270423
[3] https://tmt.readthedocs.io/en/stable/spec/plans.html#exit-first
[4] teemtee/tmt#3116
[5] https://tmt.readthedocs.io/en/stable/guide.html#multihost-testing

Signed-off-by: Coiby Xu <[email protected]>
coiby added a commit to coiby/kdump-utils that referenced this issue Jul 30, 2024
For local vmcore dumping, we only need to trigger a kernel crash and
check if vmcore exists and it can re-use some setups and tests from NFS
dumping.

Note
1. plans/main.fmf is created for NFS and local dumping test plans to
   inherit .
2. Virtual tests [1] are created so local dumping can re-use the code of
   checking vmcore on an NFS server
3. The local test is disabled for now due to [2]
4. exit-first=true [3] is to make the executor stop executing tests once
   a test failure is encountered. But TMT currently has the problem of
   exit-first not applying across discover phase boundaries [4]. So for local
   dumping test plan, simply remove multiple discover phases [5].

[1] https://tmt.readthedocs.io/en/stable/guide.html#virtual-tests
[2] https://bugzilla.redhat.com/show_bug.cgi?id=2270423
[3] https://tmt.readthedocs.io/en/stable/spec/plans.html#exit-first
[4] teemtee/tmt#3116
[5] https://tmt.readthedocs.io/en/stable/guide.html#multihost-testing

Signed-off-by: Coiby Xu <[email protected]>
coiby added a commit to coiby/kdump-utils that referenced this issue Jul 30, 2024
For local vmcore dumping, we only need to trigger a kernel crash and
check if vmcore exists and it can re-use some setups and tests from NFS
dumping.

Note
1. plans/main.fmf is created for NFS and local dumping test plans to
   inherit .
2. Virtual tests [1] are created so local dumping can re-use the code of
   checking vmcore on an NFS server
3. The local test is disabled for now due to [2]
4. exit-first=true [3] is to make the executor stop executing tests once
   a test failure is encountered. But TMT currently has the problem of
   exit-first not applying across discover phase boundaries [4]. So for local
   dumping test plan, simply remove multiple discover phases [5].

[1] https://tmt.readthedocs.io/en/stable/guide.html#virtual-tests
[2] https://bugzilla.redhat.com/show_bug.cgi?id=2270423
[3] https://tmt.readthedocs.io/en/stable/spec/plans.html#exit-first
[4] teemtee/tmt#3116
[5] https://tmt.readthedocs.io/en/stable/guide.html#multihost-testing

Signed-off-by: Coiby Xu <[email protected]>
coiby added a commit to coiby/kdump-utils that referenced this issue Jul 30, 2024
For local vmcore dumping, we only need to trigger a kernel crash and
check if vmcore exists and it can re-use some setups and tests from NFS
dumping.

Note
1. plans/main.fmf is created for NFS and local dumping test plans to
   inherit .
2. Virtual tests [1] are created so local dumping can re-use the code of
   checking vmcore on an NFS server
3. The local test is disabled for now due to [2]
4. exit-first=true [3] is to make the executor stop executing tests once
   a test failure is encountered. But TMT currently has the problem of
   exit-first not applying across discover phase boundaries [4]. So for local
   dumping test plan, simply remove multiple discover phases [5].

[1] https://tmt.readthedocs.io/en/stable/guide.html#virtual-tests
[2] https://bugzilla.redhat.com/show_bug.cgi?id=2270423
[3] https://tmt.readthedocs.io/en/stable/spec/plans.html#exit-first
[4] teemtee/tmt#3116
[5] https://tmt.readthedocs.io/en/stable/guide.html#multihost-testing

Signed-off-by: Coiby Xu <[email protected]>
coiby added a commit to coiby/kdump-utils that referenced this issue Jul 30, 2024
For local vmcore dumping, we only need to trigger a kernel crash and
check if vmcore exists and it can re-use some setups and tests from NFS
dumping.

Note
1. plans/main.fmf is created for NFS and local dumping test plans to
   inherit .
2. Virtual tests [1] are created so local dumping can re-use the code of
   checking vmcore on an NFS server
3. The local test is disabled for now due to [2]
4. exit-first=true [3] is to make the executor stop executing tests once
   a test failure is encountered. But TMT currently has the problem of
   exit-first not applying across discover phase boundaries [4]. So for local
   dumping test plan, simply remove multiple discover phases [5].

[1] https://tmt.readthedocs.io/en/stable/guide.html#virtual-tests
[2] https://bugzilla.redhat.com/show_bug.cgi?id=2270423
[3] https://tmt.readthedocs.io/en/stable/spec/plans.html#exit-first
[4] teemtee/tmt#3116
[5] https://tmt.readthedocs.io/en/stable/guide.html#multihost-testing

Signed-off-by: Coiby Xu <[email protected]>
coiby added a commit to coiby/kdump-utils that referenced this issue Jul 30, 2024
For local vmcore dumping, we only need to trigger a kernel crash and
check if vmcore exists and it can re-use some setups and tests from NFS
dumping.

Note
1. plans/main.fmf is created for NFS and local dumping test plans to
   inherit .
2. Virtual tests [1] are created so local dumping can re-use the code of
   checking vmcore on an NFS server
3. The local test is disabled for now due to [2]
4. exit-first=true [3] is to make the executor stop executing tests once
   a test failure is encountered. But TMT currently has the problem of
   exit-first not applying across discover phase boundaries [4]. So for local
   dumping test plan, simply remove multiple discover phases [5].

[1] https://tmt.readthedocs.io/en/stable/guide.html#virtual-tests
[2] https://bugzilla.redhat.com/show_bug.cgi?id=2270423
[3] https://tmt.readthedocs.io/en/stable/spec/plans.html#exit-first
[4] teemtee/tmt#3116
[5] https://tmt.readthedocs.io/en/stable/guide.html#multihost-testing

Signed-off-by: Coiby Xu <[email protected]>
coiby added a commit to coiby/kdump-utils that referenced this issue Jul 30, 2024
For local vmcore dumping, we only need to trigger a kernel crash and
check if vmcore exists and it can re-use some setups and tests from NFS
dumping.

Note
1. plans/main.fmf is created for NFS and local dumping test plans to
   inherit .
2. Virtual tests [1] are created so local dumping can re-use the code of
   checking vmcore on an NFS server
3. The local test is disabled for now due to [2]
4. exit-first=true [3] is to make the executor stop executing tests once
   a test failure is encountered. But TMT currently has the problem of
   exit-first not applying across discover phase boundaries [4]. So for local
   dumping test plan, simply remove multiple discover phases [5].

[1] https://tmt.readthedocs.io/en/stable/guide.html#virtual-tests
[2] https://bugzilla.redhat.com/show_bug.cgi?id=2270423
[3] https://tmt.readthedocs.io/en/stable/spec/plans.html#exit-first
[4] teemtee/tmt#3116
[5] https://tmt.readthedocs.io/en/stable/guide.html#multihost-testing

Signed-off-by: Coiby Xu <[email protected]>
coiby added a commit to coiby/kdump-utils that referenced this issue Jul 30, 2024
For local vmcore dumping, we only need to trigger a kernel crash and
check if vmcore exists and it can re-use some setups and tests from NFS
dumping.

Note
1. plans/main.fmf is created for NFS and local dumping test plans to
   inherit .
2. Virtual tests [1] are created so local dumping can re-use the code of
   checking vmcore on an NFS server
3. The local test is disabled for now due to [2]
4. exit-first=true [3] is to make the executor stop executing tests once
   a test failure is encountered. But TMT currently has the problem of
   exit-first not applying across discover phase boundaries [4]. So for local
   dumping test plan, simply remove multiple discover phases [5].

[1] https://tmt.readthedocs.io/en/stable/guide.html#virtual-tests
[2] https://bugzilla.redhat.com/show_bug.cgi?id=2270423
[3] https://tmt.readthedocs.io/en/stable/spec/plans.html#exit-first
[4] teemtee/tmt#3116
[5] https://tmt.readthedocs.io/en/stable/guide.html#multihost-testing

Signed-off-by: Coiby Xu <[email protected]>
coiby added a commit to coiby/kdump-utils that referenced this issue Jul 30, 2024
For local vmcore dumping, we only need to trigger a kernel crash and
check if vmcore exists and it can re-use some setups and tests from NFS
dumping.

Note
1. plans/main.fmf is created for NFS and local dumping test plans to
   inherit .
2. Virtual tests [1] are created so local dumping can re-use the code of
   checking vmcore on an NFS server
3. The local test is disabled for now due to [2]
4. exit-first=true [3] is to make the executor stop executing tests once
   a test failure is encountered. But TMT currently has the problem of
   exit-first not applying across discover phase boundaries [4]. So for local
   dumping test plan, simply remove multiple discover phases [5].

[1] https://tmt.readthedocs.io/en/stable/guide.html#virtual-tests
[2] https://bugzilla.redhat.com/show_bug.cgi?id=2270423
[3] https://tmt.readthedocs.io/en/stable/spec/plans.html#exit-first
[4] teemtee/tmt#3116
[5] https://tmt.readthedocs.io/en/stable/guide.html#multihost-testing

Signed-off-by: Coiby Xu <[email protected]>
coiby added a commit to coiby/kdump-utils that referenced this issue Jul 31, 2024
For local vmcore dumping, we only need to trigger a kernel crash and
check if vmcore exists and it can re-use some setups and tests from NFS
dumping.

Note
1. plans/main.fmf is created for NFS and local dumping test plans to
   inherit .
2. Virtual tests [1] are created so local dumping can re-use the code of
   checking vmcore on an NFS server
3. The local test is disabled for now due to [2]
4. exit-first=true [3] is to make the executor stop executing tests once
   a test failure is encountered. But TMT currently has the problem of
   exit-first not applying across discover phase boundaries [4]. So for local
   dumping test plan, simply remove multiple discover phases [5].

[1] https://tmt.readthedocs.io/en/stable/guide.html#virtual-tests
[2] https://bugzilla.redhat.com/show_bug.cgi?id=2270423
[3] https://tmt.readthedocs.io/en/stable/spec/plans.html#exit-first
[4] teemtee/tmt#3116
[5] https://tmt.readthedocs.io/en/stable/guide.html#multihost-testing

Signed-off-by: Coiby Xu <[email protected]>
coiby added a commit to coiby/kdump-utils that referenced this issue Aug 1, 2024
For local vmcore dumping, we only need to trigger a kernel crash and
check if vmcore exists and it can re-use some setups and tests from NFS
dumping.

Note
1. plans/main.fmf is created for NFS and local dumping test plans to
   inherit .
2. Virtual tests [1] are created so local dumping can re-use the code of
   checking vmcore on an NFS server
3. The local test is disabled for now due to [2]
4. exit-first=true [3] is to make the executor stop executing tests once
   a test failure is encountered. But TMT currently has the problem of
   exit-first not applying across discover phase boundaries [4]. So for local
   dumping test plan, simply remove multiple discover phases [5].

[1] https://tmt.readthedocs.io/en/stable/guide.html#virtual-tests
[2] https://bugzilla.redhat.com/show_bug.cgi?id=2270423
[3] https://tmt.readthedocs.io/en/stable/spec/plans.html#exit-first
[4] teemtee/tmt#3116
[5] https://tmt.readthedocs.io/en/stable/guide.html#multihost-testing

Signed-off-by: Coiby Xu <[email protected]>
coiby added a commit to coiby/kdump-utils that referenced this issue Aug 1, 2024
For local vmcore dumping, we only need to trigger a kernel crash and
check if vmcore exists and it can re-use some setups and tests from NFS
dumping.

Note
1. plans/main.fmf is created for NFS and local dumping test plans to
   inherit .
2. Virtual tests [1] are created so local dumping can re-use the code of
   checking vmcore on an NFS server
3. The local test is disabled for now due to [2]
4. exit-first=true [3] is to make the executor stop executing tests once
   a test failure is encountered. But TMT currently has the problem of
   exit-first not applying across discover phase boundaries [4]. So for local
   dumping test plan, simply remove multiple discover phases [5].

[1] https://tmt.readthedocs.io/en/stable/guide.html#virtual-tests
[2] https://bugzilla.redhat.com/show_bug.cgi?id=2270423
[3] https://tmt.readthedocs.io/en/stable/spec/plans.html#exit-first
[4] teemtee/tmt#3116
[5] https://tmt.readthedocs.io/en/stable/guide.html#multihost-testing

Signed-off-by: Coiby Xu <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
step | execute Stuff related to the execute step
Projects
None yet
Development

No branches or pull requests

1 participant