mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-06 02:54:26 +00:00
fix(tests): make the dockerignore lint follow the repository lints
tests/lint/repository/test_dockerignore.py from #1384 computes its own PROJECT_ROOT through parents[3] and reads files with Path.read_text, so test_project_root_import and test_no_uncached_file_reads fail on main (found by the store-i18n quality gate after its main merge). It now imports PROJECT_ROOT from the package and reads through utils.cache.files.read_text, like its neighbours; its three checks are unchanged. Both lints fail with main's version of the file and pass with this one; the test itself still passes. | 🎯 Fix | 💥 Break | 💸 Cost | ⏱️ Time | 🛡️ Security | 🏆 Score | Gate | | --- | --- | --- | --- | --- | --- | --- | | 95 % | 1 % | – | – | ~100 % | 94 | ⏳ score passes, gate.py not run (store-i18n gate holds the slot) | Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
e2a4ecc15d
commit
5caa064345
1 file changed
+8
-6
@@ -1,27 +1,29 @@
|
||||
import re
|
||||
import unittest
|
||||
from pathlib import Path
|
||||
|
||||
PROJECT_ROOT = Path(__file__).resolve().parents[3]
|
||||
from utils.cache.files import read_text
|
||||
|
||||
from . import PROJECT_ROOT
|
||||
|
||||
NESTED_CHECKOUTS = (".claude/worktrees/", ".worktrees/")
|
||||
|
||||
|
||||
class TestDockerignore(unittest.TestCase):
|
||||
def test_dockerignore_is_the_gitignore(self) -> None:
|
||||
self.assertEqual(
|
||||
(PROJECT_ROOT / ".gitignore").read_text(),
|
||||
(PROJECT_ROOT / ".dockerignore").read_text(),
|
||||
read_text(str(PROJECT_ROOT / ".gitignore")),
|
||||
read_text(str(PROJECT_ROOT / ".dockerignore")),
|
||||
"Run 'make fix-dockerignore': .dockerignore must be a copy of .gitignore.",
|
||||
)
|
||||
|
||||
def test_nested_checkouts_stay_out_of_the_build_context(self) -> None:
|
||||
lines = (PROJECT_ROOT / ".dockerignore").read_text().splitlines()
|
||||
lines = read_text(str(PROJECT_ROOT / ".dockerignore")).splitlines()
|
||||
for entry in NESTED_CHECKOUTS:
|
||||
with self.subTest(entry=entry):
|
||||
self.assertIn(entry, lines)
|
||||
|
||||
def test_compose_up_regenerates_the_dockerignore(self) -> None:
|
||||
makefile = (PROJECT_ROOT / "Makefile").read_text()
|
||||
makefile = read_text(str(PROJECT_ROOT / "Makefile"))
|
||||
match = re.search(r"^compose-up:(.*)$", makefile, re.MULTILINE)
|
||||
self.assertIsNotNone(match, "Makefile has no compose-up target")
|
||||
self.assertIn("fix-dockerignore", match.group(1).split())
|
||||
|
||||
Reference in new issue
Block a user