From 048dd09cc25df23544bb914352c7d06b35781a7b Mon Sep 17 00:00:00 2001 From: Sven van Heugten Date: Thu, 5 Mar 2026 19:52:32 +0100 Subject: [PATCH] Return a non-zero error code if anything is left out --- bin/mechanicaldiff.py | 5 +++++ test/mechanicaldiff.bats | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/bin/mechanicaldiff.py b/bin/mechanicaldiff.py index 453f04f..f583fc8 100755 --- a/bin/mechanicaldiff.py +++ b/bin/mechanicaldiff.py @@ -88,6 +88,7 @@ def main() -> None: output_lines = [] output_lines.extend(preamble_lines) + left_out = False for section in sections: if not section["hunks"]: @@ -99,6 +100,8 @@ def main() -> None: hunk_text = "".join(hunk_lines) if should_include_hunk(hunk_text, search, replace): kept_hunks.append(hunk_lines) + else: + left_out = True if not kept_hunks: continue @@ -108,6 +111,8 @@ def main() -> None: output_lines.extend(hunk_lines) sys.stdout.write("".join(output_lines)) + if left_out: + raise SystemExit(1) if __name__ == "__main__": diff --git a/test/mechanicaldiff.bats b/test/mechanicaldiff.bats index 8f26fa4..46f779d 100755 --- a/test/mechanicaldiff.bats +++ b/test/mechanicaldiff.bats @@ -26,6 +26,6 @@ setup() { git diff --no-index "$BATS_TEST_TMPDIR/old" "$BATS_TEST_TMPDIR/new" \ >"$BATS_TEST_TMPDIR/diff" || true run mechanicaldiff.py foo bar <"$BATS_TEST_TMPDIR/diff" - assert_success + assert_failure assert_output "" }