allure-framework / allure-framework/allure-python

Test Case is missing in report when It failed because of pytest worker crash

Open
#825 1 comment 0 reactions 0 assignees View on GitHub
bug theme:pytest
Dominant language
Python
Stars
814
Forks
260
PR merge metrics
No merged PRs in 30d

Description

[//]: # (
. Note: for support questions, please use Stackoverflow or Gitter**.
. This repository's issues are reserved for feature requests and bug reports.
.
. In case of any problems with Allure Jenkins plugin** please use the following repository
. to create an issue: https://github.com/jenkinsci/allure-plugin/issues
.
. Make sure you have a clear name for your issue. The name should start with a capital
. letter and no dot is required in the end of the sentence. An example of good issue names:
.
. - The report is broken in IE11
. - Add an ability to disable default plugins
. - Support emoji in test descriptions
)

#### I'm submitting a ...
- [✓] bug report
- [ ] feature request
- [ ] support request => Please do not submit support request here, see note at the top of this template.

#### What is the current behavior?
In my Jenkins CI, we run Selenium automation using pytest with a Selenium Grid. Sometimes, the pytest worker crashes, causing the test case to fail with the status “FAILED”. When a test case fails due to a pytest worker crash, the failed test case is missing from the report

#### If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem

**Python Code to reproduce the Issue:**

import os

def test_simulate_crash():
if os.environ.get("PYTEST_XDIST_WORKER", None):
os._exit(1) # This will crash the worker process
assert True

def test_normal():
assert True

![pytest-worker-crash-console-logs](https://github.com/user-attachments/assets/c60ba7e8-d300-49d5-8516-e48919c08a36)
![pytest-worker-crash-allure-report](https://github.com/user-attachments/assets/731d4cc1-7ec2-4756-9c24-fef9e0020a0f)
![pytest-worker-crash-html-report](https://github.com/user-attachments/assets/60043857-4d42-4e96-a623-0e6b2ae483ef)

#### What is the expected behaviour?

The Failed Test Case ('test_simulate_crash' in the above code) should be shown in the allure report.

For reference, I attached the HTML report where we could see the Failed Test Cases.

#### What is the motivation / use case for changing the behavior?

#### Please tell us about your environment:

- Allure version: 2.29.0
- Test framework: Python 3.9.6
- Allure adaptor: allure-pytest-2.8.40

#### Other information
Related ticket for pytest worker crash
https://github.com/pytest-dev/pytest-xdist/issues/466

[//]: # (
. e.g. detailed explanation, stacktraces, related issues, suggestions
. how to fix, links for us to have more context, eg. Stackoverflow, Gitter etc
)

Contributor guide

Open the contributing guide

Research direction

Start with the Python reproduction using pytest and the test_simulate_crash case, then compare its output with the attached Allure and HTML reports. Use the related pytest-xdist worker-crash issue for context; done means the failed test case appears in the Allure report after the worker crash.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
testing
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.