diff --git a/tests/func/experiments/__init__.py b/tests/func/experiments/__init__.py index e69de29bb..410cc6f2c 100644 --- a/tests/func/experiments/__init__.py +++ b/tests/func/experiments/__init__.py @@ -0,0 +1,14 @@ +import json + +import pytest + +pytestmark = pytest.mark.xfail( + raises=( + # looks like dvc-task is not saving json atomically + json.JSONDecodeError, + # needs investigation, maybe a file locking issue? + PermissionError, + ), + strict=False, + reason="See https://github.com/iterative/dvc/issues/8570", +) diff --git a/tests/func/experiments/test_experiments.py b/tests/func/experiments/test_experiments.py index 4b2a05ee2..5a6ecbe53 100644 --- a/tests/func/experiments/test_experiments.py +++ b/tests/func/experiments/test_experiments.py @@ -4,6 +4,8 @@ import os import stat from textwrap import dedent +import dulwich.errors +import dulwich.file import pytest from funcy import first @@ -137,6 +139,14 @@ def test_apply(tmp_dir, scm, dvc, exp_stage): assert (tmp_dir / "metrics.yaml").read_text().strip() == "foo: 3" +@pytest.mark.xfail( + raises=( + dulwich.errors.CommitError, + dulwich.file.FileLocked, + ), + strict=False, + reason="See https://github.com/iterative/dvc/issues/8570", +) def test_apply_failed(tmp_dir, scm, dvc, failed_exp_stage, test_queue): from dvc.exceptions import InvalidArgumentError