Skip to content

Commit 83a162f

Browse files
committed
test version
1 parent 6d71816 commit 83a162f

File tree

3 files changed

+15
-7
lines changed

3 files changed

+15
-7
lines changed

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ addopts = "--lf -Werror"
146146

147147
[tool.coverage.run]
148148
source = ["pms"]
149-
omit = ["*/__init__.py", "*/__main__.py", "*/core/types.py"]
149+
omit = ["*/core/types.py"]
150150

151151
[tool.coverage.report]
152152
exclude_also = [

src/pms/cli.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,10 @@
1212
import typer
1313
from loguru import logger
1414

15+
from pms import __version__
1516
from pms.core import MessageReader, Sensor, SensorReader, Supported, exit_on_fail
1617

18+
APP_VERSION = f"PyPMS v{__version__}"
1719
main = typer.Typer(add_completion=False, no_args_is_help=True)
1820

1921
"""
@@ -25,13 +27,11 @@
2527
main.command(name=ep.name)(ep.load())
2628

2729

28-
def version_callback(value: bool): # pragma: no cover
30+
def version_callback(value: bool):
2931
if not value:
3032
return
3133

32-
from pms import __version__
33-
34-
typer.echo(f"PyPMS v{__version__}")
34+
typer.echo(APP_VERSION)
3535
raise typer.Exit()
3636

3737

@@ -65,6 +65,7 @@ def callback(
6565
],
6666
)
6767

68+
logger.debug(APP_VERSION)
6869
ctx.obj = {"reader": SensorReader(model, port, seconds, samples)}
6970

7071

tests/test_cli.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,20 @@
33
import pytest
44
from typer.testing import CliRunner
55

6-
from pms.cli import main
6+
from pms.cli import APP_VERSION, main
77

88
runner = CliRunner()
99

1010

11+
@pytest.mark.parametrize("cmd", {"--version", "-V"})
12+
def test_version(cmd: str, caplog: pytest.LogCaptureFixture):
13+
result = runner.invoke(main, cmd)
14+
assert result.exit_code == 0
15+
assert result.stdout.strip() == APP_VERSION
16+
17+
1118
@pytest.mark.parametrize("format", {"csv", "hexdump"})
12-
def test_serial(capture, format):
19+
def test_serial(capture, format: str):
1320
result = runner.invoke(main, capture.options(f"serial_{format}"))
1421
assert result.exit_code == 0
1522
assert result.stdout == capture.output(format)

0 commit comments

Comments
 (0)