allure-framework / allure-framework/allure-python

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

Ouverte
#825 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
bug theme:pytest
Langage dominant
Python
Étoiles
814
Forks
260
Métriques de merge des PR
Aucune PR mergée en 30 j

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
)

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par la reproduction en Python avec pytest et le cas test_simulate_crash, puis comparez sa sortie avec les rapports Allure et HTML joints. Utilisez comme contexte l’issue associée concernant le worker-crash de pytest-xdist ; le travail est terminé lorsque le cas de test en échec apparaît dans le rapport Allure après le worker-crash.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
testing
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.