From e7d4d97ffc7c33b4203cbae9d5da8f61d8bf8355 Mon Sep 17 00:00:00 2001 From: Fredrik de Groot Date: Wed, 11 Dec 2024 10:13:11 +0100 Subject: [PATCH] Fix fail in test_repo_trace if trace is disabled If env has REPO_TRACE 0, then the test produces: FileNotFoundError: No such file or directory: TRACE_FILE_from_test' because it assumes trace is always enabled. Improve by enabling trace for this test class. Also modify the repo_trace.SetTrace API to take an optional True/False if needed, still defaults to True though. Change-Id: I2bb4632eb45ee529fc1785833e0bafd9c36f0875 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/445541 Commit-Queue: Fredrik de Groot Reviewed-by: Mike Frysinger Reviewed-by: Brian Gan Tested-by: Fredrik de Groot --- repo_trace.py | 6 +++--- tests/conftest.py | 1 + tests/test_repo_trace.py | 3 +++ 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/repo_trace.py b/repo_trace.py index ee224ea7c..d8ed58329 100644 --- a/repo_trace.py +++ b/repo_trace.py @@ -57,10 +57,10 @@ def SetTraceToStderr(): _TRACE_TO_STDERR = True -def SetTrace(): - """Enables tracing.""" +def SetTrace(value: bool = True) -> None: + """Enables by default, or disables tracing.""" global _TRACE - _TRACE = True + _TRACE = value def _SetTraceFile(quiet): diff --git a/tests/conftest.py b/tests/conftest.py index ce3c3d6ce..c76046806 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -26,6 +26,7 @@ import repo_trace @pytest.fixture(autouse=True) def disable_repo_trace(tmp_path): """Set an environment marker to relax certain strict checks for test code.""" # noqa: E501 + repo_trace.SetTrace(False) repo_trace._TRACE_FILE = str(tmp_path / "TRACE_FILE_from_test") diff --git a/tests/test_repo_trace.py b/tests/test_repo_trace.py index 3ec540b25..7b938a6f6 100644 --- a/tests/test_repo_trace.py +++ b/tests/test_repo_trace.py @@ -25,6 +25,9 @@ def test_trace_max_size_enforced(monkeypatch: pytest.MonkeyPatch) -> None: """Check Trace behavior.""" content = "git chicken" + # Enable trace for the test, in case users have it disabled. + monkeypatch.setattr(repo_trace, "_TRACE", True) + with repo_trace.Trace(content, first_trace=True): pass first_trace_size = os.path.getsize(repo_trace._TRACE_FILE)