diff --git a/src/orion/core/cli/base.py b/src/orion/core/cli/base.py index 0bb2299f0..2892beb04 100644 --- a/src/orion/core/cli/base.py +++ b/src/orion/core/cli/base.py @@ -9,6 +9,7 @@ import textwrap import orion +import orion.core from orion.core.io.database import DatabaseError from orion.core.utils.exceptions import ( BranchingEvent, @@ -18,6 +19,8 @@ NoNameError, ) +logger = logging.getLogger(__name__) + CLI_DOC_HEADER = "OrĂ­on CLI for asynchronous distributed optimization" @@ -71,6 +74,7 @@ def parse(self, argv): format="%(asctime)-15s::%(levelname)s::%(name)s::%(message)s", level=levels.get(verbose, logging.DEBUG), ) + logger.debug("Orion version : %s", orion.core.__version__) if args["command"] is None: self.parser.parse_args(["--help"]) diff --git a/tests/functional/commands/test_verbose_messages.py b/tests/functional/commands/test_verbose_messages.py new file mode 100644 index 000000000..603507742 --- /dev/null +++ b/tests/functional/commands/test_verbose_messages.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +"""Perform a functional test of the debug verbosity level.""" +import logging + +import pytest + +import orion.core.cli + + +def test_version_print_debug_verbosity(caplog): + """Tests that Orion version is printed in debug verbosity level""" + + caplog.set_level(logging.DEBUG) + + with pytest.raises(SystemExit): + orion.core.cli.main([""]) + assert "Orion version : " not in caplog.text + + caplog.clear() + with pytest.raises(SystemExit): + orion.core.cli.main(["-vv"]) + for (loggername, loggerlevel, text) in caplog.record_tuples: + assert not ( + text.startswith("Orion version : ") and (loggerlevel != logging.DEBUG) + ) + assert "Orion version : " in caplog.text