26 lines
822 B
Python
26 lines
822 B
Python
|
|
from tests.e2e._util import run
|
||
|
|
import tempfile
|
||
|
|
import unittest
|
||
|
|
from pathlib import Path
|
||
|
|
|
||
|
|
class TestMakefileThreeTimes(unittest.TestCase):
|
||
|
|
def test_make_install_three_times(self):
|
||
|
|
with tempfile.TemporaryDirectory(prefix="makefile-3x-") as tmp:
|
||
|
|
repo = Path(tmp)
|
||
|
|
|
||
|
|
# Minimal Makefile with install target
|
||
|
|
(repo / "Makefile").write_text(
|
||
|
|
"install:\n\t@echo install >> install.log\n"
|
||
|
|
)
|
||
|
|
|
||
|
|
for i in range(1, 4):
|
||
|
|
print(f"\n=== RUN {i}/3 ===")
|
||
|
|
run(["make", "install"], cwd=repo)
|
||
|
|
|
||
|
|
log = (repo / "install.log").read_text().splitlines()
|
||
|
|
self.assertEqual(
|
||
|
|
len(log),
|
||
|
|
3,
|
||
|
|
"make install should have been executed exactly three times",
|
||
|
|
)
|