From e96ea890086bf818bc5435f1ea32b0386c8f8231 Mon Sep 17 00:00:00 2001 From: Diego Hurtado Date: Wed, 3 Jul 2024 10:18:29 -0600 Subject: [PATCH] Use pytest-retry on flaky test case --- opentelemetry-sdk/test-requirements.txt | 1 + opentelemetry-sdk/tests/trace/export/test_export.py | 9 +++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/opentelemetry-sdk/test-requirements.txt b/opentelemetry-sdk/test-requirements.txt index 04498c470e..2835b3f191 100644 --- a/opentelemetry-sdk/test-requirements.txt +++ b/opentelemetry-sdk/test-requirements.txt @@ -12,6 +12,7 @@ tomli==2.0.1 typing_extensions==4.10.0 wrapt==1.16.0 zipp==3.17.0 +pytest-retry==1.6.3 -e tests/opentelemetry-test-utils -e opentelemetry-api -e opentelemetry-semantic-conventions diff --git a/opentelemetry-sdk/tests/trace/export/test_export.py b/opentelemetry-sdk/tests/trace/export/test_export.py index 52bc071204..afbcb375cf 100644 --- a/opentelemetry-sdk/tests/trace/export/test_export.py +++ b/opentelemetry-sdk/tests/trace/export/test_export.py @@ -461,9 +461,10 @@ def _target(): span_processor.shutdown() - @mark.skipif( - python_implementation() == "PyPy" or system() == "Windows", - reason="This test randomly fails with huge delta in Windows with PyPy", + @mark.flaky( + retries=3, + only_on=[AssertionError], + condition=(python_implementation == "PyPy" or system() == "Windows"), ) def test_batch_span_processor_scheduled_delay(self): """Test that spans are exported each schedule_delay_millis""" @@ -486,7 +487,7 @@ def test_batch_span_processor_scheduled_delay(self): self.assertTrue(export_event.wait(2)) export_time = time.time() self.assertEqual(len(spans_names_list), 1) - self.assertAlmostEqual((export_time - start_time) * 1e3, 500, delta=25) + self.assertAlmostEqual((export_time - start_time) * 1e3, 500, delta=40) span_processor.shutdown()