From 23e21e2ed21d1d3427c7ebf2a4dff2e45312094b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Krzysztof=20Wi=C5=9Bniewski?= Date: Sun, 24 Nov 2024 02:05:22 +0100 Subject: [PATCH] Add test for __main__.py --- src/pygerber/__main__.py | 10 ++++++++ .../test_gerber/test_console/test_main.py | 23 +++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 test/unit/test_gerber/test_console/test_main.py diff --git a/src/pygerber/__main__.py b/src/pygerber/__main__.py index 7aa50c92..11dee84a 100644 --- a/src/pygerber/__main__.py +++ b/src/pygerber/__main__.py @@ -2,7 +2,17 @@ from __future__ import annotations +import os +from contextlib import suppress + from pygerber.console.commands import main +if os.environ.get("COVERAGE_PROCESS_START") is not None: + with suppress(ImportError, ModuleNotFoundError): + import coverage + + coverage.process_startup() + + if __name__ == "__main__": main() diff --git a/test/unit/test_gerber/test_console/test_main.py b/test/unit/test_gerber/test_console/test_main.py new file mode 100644 index 00000000..3dd8c75c --- /dev/null +++ b/test/unit/test_gerber/test_console/test_main.py @@ -0,0 +1,23 @@ +from __future__ import annotations + +import logging +import os +import subprocess +import sys + + +def test_double_under_main_file() -> None: + result = subprocess.run( # noqa: S603 + [sys.executable, "-m", "pygerber"], + executable=sys.executable, + env={**os.environ, "COVERAGE_PROCESS_START": ".coveragerc"}, + check=False, + capture_output=True, + ) + + logging.info(result.stdout.decode()) + logging.error(result.stderr.decode()) + + assert b"--version" in result.stdout + assert b"--help" in result.stdout + assert result.returncode == 0