Skip to content

Commit 2c361ba

Browse files
committed
Wrap commands in __main__ to prepend 'covimerage: ' prefix with errors.
1 parent 75300f1 commit 2c361ba

File tree

3 files changed

+27
-4
lines changed

3 files changed

+27
-4
lines changed

covimerage/__main__.py

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,26 @@
1-
if __name__ == '__main__':
1+
def wrap_for_errormsg(f, *args, **kwargs):
2+
try:
3+
f(*args, standalone_mode=False, **kwargs)
4+
except Exception as exc:
5+
from click.exceptions import ClickException
6+
if isinstance(exc, ClickException):
7+
import sys
8+
from click.utils import echo
9+
10+
msg = 'covimerage: error: %s' % (exc.format_message(),)
11+
echo(msg, err=True)
12+
sys.exit(exc.exit_code)
13+
14+
15+
def main():
216
from .cli import main
17+
wrap_for_errormsg(main.main, prog_name='covimerage')
18+
19+
20+
def run():
21+
from .cli import run
22+
wrap_for_errormsg(run.main, prog_name='covimerage-run')
23+
24+
25+
if __name__ == '__main__':
326
main()

setup.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,8 @@ def run(self):
7474
packages=['covimerage'],
7575
entry_points={
7676
'console_scripts': [
77-
'covimerage=covimerage.cli:main',
78-
'covimerage-run=covimerage.cli:run',
77+
'covimerage=covimerage.__main__:main',
78+
'covimerage-run=covimerage.__main__:run',
7979
],
8080
},
8181
use_scm_version={

tests/test_cli.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
def test_dunder_main_run(capfd):
1616
assert call([sys.executable, '-m', 'covimerage']) == 0
1717
out, err = capfd.readouterr()
18-
assert out.startswith('Usage: __main__')
18+
assert out.startswith('Usage: covimerage')
1919

2020

2121
def test_dunder_main_run_help(capfd):

0 commit comments

Comments
 (0)