diff --git a/homcc/client/__init__.py b/homcc/client/__init__.py index e69de29..e9d29fb 100644 --- a/homcc/client/__init__.py +++ b/homcc/client/__init__.py @@ -0,0 +1,3 @@ +"""HOMCC client: homcc""" + +__version__: str = "0.0.2" diff --git a/homcc/client/parsing.py b/homcc/client/parsing.py index 0e1f025..fbcfbb6 100644 --- a/homcc/client/parsing.py +++ b/homcc/client/parsing.py @@ -13,6 +13,7 @@ from pathlib import Path from typing import Any, Dict, List, Optional, Tuple, Union +from homcc import client from homcc.common.arguments import Arguments from homcc.common.compression import Compression from configparser import ConfigParser, Error, SectionProxy @@ -59,7 +60,7 @@ class ShowVersion(ShowAndExitAction): """show version and exit""" def __call__(self, *_): - print("homcc 0.0.1") + print(f"homcc {client.__version__}") sys.exit(os.EX_OK) diff --git a/homcc/server/__init__.py b/homcc/server/__init__.py index e69de29..1e88986 100644 --- a/homcc/server/__init__.py +++ b/homcc/server/__init__.py @@ -0,0 +1,3 @@ +"""HOMCC server: homccd""" + +__version__: str = "0.0.2" diff --git a/homcc/server/parsing.py b/homcc/server/parsing.py index 418cdf7..296a69c 100644 --- a/homcc/server/parsing.py +++ b/homcc/server/parsing.py @@ -11,6 +11,7 @@ from pathlib import Path from typing import Any, Dict, List, Optional, Union +from homcc import server from homcc.common.logging import LogLevel from homcc.common.parsing import HOMCC_CONFIG_FILENAME, default_locations, parse_configs from homcc.server.server import TCPServer @@ -30,7 +31,7 @@ def __init__(self, **kwargs): super().__init__(nargs=0, help=self.__doc__, **kwargs) def __call__(self, *_): - print("homccd 0.0.1") + print(f"homccd {server.__version__}") sys.exit(os.EX_OK) diff --git a/setup_client.py b/setup_client.py index 1c36f4c..eef8c36 100644 --- a/setup_client.py +++ b/setup_client.py @@ -1,10 +1,11 @@ """Setuptools for the homcc client - homcc.""" +from homcc import client from setuptools import setup if __name__ == "__main__": setup( name="homcc", - version="0.0.1", + version=client.__version__, description=("Home-Office friendly distcc replacement - Client"), license="GPL-3.0", url="https://github.com/celonis/homcc", diff --git a/setup_server.py b/setup_server.py index 41c51e0..f796854 100644 --- a/setup_server.py +++ b/setup_server.py @@ -1,10 +1,11 @@ """Setuptools for the homcc server - homccd.""" +from homcc import server from setuptools import setup if __name__ == "__main__": setup( name="homccd", - version="0.0.1", + version=server.__version__, description=("Home-Office friendly distcc replacement - Server"), license="GPL-3.0", url="https://github.com/celonis/homcc", diff --git a/tests/client/parsing_test.py b/tests/client/parsing_test.py index 05c8543..9c3f2c8 100644 --- a/tests/client/parsing_test.py +++ b/tests/client/parsing_test.py @@ -9,6 +9,7 @@ from pytest_mock.plugin import MockerFixture from typing import List +from homcc import client from homcc.common.errors import HostParsingError from homcc.client.parsing import ( HOMCC_HOSTS_ENV_VAR, @@ -43,7 +44,7 @@ def test_version(self, capfd: CaptureFixture): assert sys_exit.value.code == os.EX_OK assert not cap.err - assert "homcc 0.0.1" in cap.out + assert f"homcc {client.__version__}" in cap.out def test_show_hosts(self, capfd: CaptureFixture): with pytest.raises(SystemExit) as sys_exit: diff --git a/tests/server/parsing_test.py b/tests/server/parsing_test.py index 8b4f79c..525746f 100644 --- a/tests/server/parsing_test.py +++ b/tests/server/parsing_test.py @@ -1,11 +1,18 @@ """ Tests for client/compilation.py""" +import pytest + +import os + from pathlib import Path from typing import List +from pytest import CaptureFixture +from homcc import server from homcc.common.parsing import HOMCC_CONFIG_FILENAME from homcc.server.parsing import ( SCHROOT_CONF_FILENAME, ServerConfig, + parse_cli_args, parse_config, load_schroot_profiles, ) @@ -36,6 +43,16 @@ class TestParsingConfig: "verbose=FALSE", ] + def test_version(self, capfd: CaptureFixture): + with pytest.raises(SystemExit) as sys_exit: + parse_cli_args(["--version"]) + + cap = capfd.readouterr() + + assert sys_exit.value.code == os.EX_OK + assert not cap.err + assert f"homccd {server.__version__}" in cap.out + def test_parse_config_file(self, tmp_path: Path): tmp_config_file: Path = tmp_path / HOMCC_CONFIG_FILENAME tmp_config_file.write_text("\n".join(self.config))