From fb45dbc03650bd9ed7f5629fd01fffdaa951f109 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Thu, 10 Sep 2026 11:06:57 +0200 Subject: fix: keep the trailing comment at the end of the config The "Later parts add further sections here" block was emitted by build(), so preserved sections were appended below it and it became a comment about nothing, pointing at a table already underneath it. It is now a FOOTER constant that build() still appends, so a lone build() reads as a complete file, and write() strips before adding preserved text and puts back at the end. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01LByBnw83xr9YP85nskzkyE --- tests/test_init.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'tests') diff --git a/tests/test_init.py b/tests/test_init.py index 55153f4..f1b20f8 100644 --- a/tests/test_init.py +++ b/tests/test_init.py @@ -369,3 +369,20 @@ class TestRepeatedInit(unittest.TestCase): self.assertEqual( tomllib.loads(text)["reporter"]["name"], "A Reporter" ) + + def test_the_footer_stays_at_the_end_after_a_preserved_section(self): + # It says further sections are added below it, so a preserved table + # appended underneath made it a comment about nothing. + relays = {"trusted_relays": ["192.0.2.0/24"], "cases": ""} + answered = dict(relays, reporter_name="A Reporter", + reporter_email="r@example.org") + with tempfile.TemporaryDirectory() as tmp: + path = pathlib.Path(tmp) / "config.toml" + init.write(path, answered) + init.write(path, relays, force=True) + + text = path.read_text().rstrip("\n") + self.assertTrue( + text.endswith("# [reporting] - abuse-desk reporting defaults"), + f"footer is not last:\n{text}", + ) -- cgit v1.2.3