From cd502086746b4cd6b89b3e6ed909bf84f3d5a8ac Mon Sep 17 00:00:00 2001 From: Amogh Desai Date: Mon, 24 Nov 2025 15:47:08 +0530 Subject: [PATCH] [v3-1-test] Use filelock to fix race condition in version suffix test for xdist runs (#58608) * Use filelock to fix race condition in version suffix test for xdist runs * Use filelock to fix race condition in version suffix test for xdist runs (cherry picked from commit 53ed24ffc76930f7d6760f9109e4c9b595a17f35) Co-authored-by: Amogh Desai --- dev/breeze/tests/test_packages.py | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/dev/breeze/tests/test_packages.py b/dev/breeze/tests/test_packages.py index 53e08050a74b1..df35db28945f3 100644 --- a/dev/breeze/tests/test_packages.py +++ b/dev/breeze/tests/test_packages.py @@ -397,22 +397,17 @@ def test_apply_version_suffix_to_provider_pyproject_toml(provider_id, version_su @pytest.fixture -def restore_version_files(): - # save contents of all version files before test starts - version_files = [ - AIRFLOW_CORE_INIT_PY, - TASK_SDK_INIT_PY, - AIRFLOWCTL_INIT_PY, - ] - original_contents = {f: f.read_text() for f in version_files if f.exists()} +def lock_version_files(): + from filelock import FileLock - yield - - # restore original contents after test - for fp, content in original_contents.items(): - fp.write_text(content) + lock_file = AIRFLOW_ROOT_PATH / ".version_files.lock" + with FileLock(lock_file): + yield + if lock_file.exists(): + lock_file.unlink() +@pytest.mark.usefixtures("lock_version_files") @pytest.mark.parametrize( ("distributions", "init_file_path", "version_suffix", "floored_version_suffix"), [ @@ -440,7 +435,6 @@ def restore_version_files(): ], ) def test_apply_version_suffix_to_non_provider_pyproject_tomls( - restore_version_files, distributions: tuple[str, ...], init_file_path: Path, version_suffix: str,