Skip to content

Commit 9672d65

Browse files
committed
Display a decent error message when aborting due to FrozenFlaskWarning
Related #26 (comment)
1 parent 00d14d3 commit 9672d65

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

elsa/_cli.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import os
2+
import sys
23
import urllib.parse
34
import warnings
45

@@ -39,7 +40,11 @@ def freeze_app(app, freezer, path, base_url):
3940
# make sure Frozen Flask warnings are treated as errors
4041
warnings.filterwarnings('error', category=flask_frozen.FrozenFlaskWarning)
4142

42-
freezer.freeze()
43+
try:
44+
freezer.freeze()
45+
except flask_frozen.FrozenFlaskWarning as w:
46+
print('Error:', w, file=sys.stderr)
47+
sys.exit(1)
4348

4449

4550
def inject_cname(app):

tests/test_commands.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -291,6 +291,15 @@ def test_freeze_different_warning_is_fine(elsa):
291291
# tests just success of the command
292292

293293

294+
def test_freeze_mishmash_decent_error_msg(elsa, capsys):
295+
elsa.run('freeze', script='mishmash.py', should_fail=True)
296+
out, err = capsys.readouterr()
297+
print('OUT', out)
298+
print('ERR', err)
299+
assert 'Traceback' not in err
300+
assert 'does not match' in err
301+
302+
294303
def test_freeze_cname(elsa):
295304
elsa.run('freeze')
296305
with open(CNAME_FIXTURES) as f:

0 commit comments

Comments
 (0)