Browse Source

Improved error message for configuration files

pull/112/head
Armin Ronacher 15 years ago
parent
commit
778e44e39e
  1. 6
      flask/config.py
  2. 12
      tests/flask_tests.py

6
flask/config.py

@ -116,7 +116,11 @@ class Config(dict):
filename = os.path.join(self.root_path, filename)
d = type(sys)('config')
d.__file__ = filename
execfile(filename, d.__dict__)
try:
execfile(filename, d.__dict__)
except IOError, e:
e.strerror = 'Unable to load configuration file (%s)' % e.strerror
raise
self.from_object(d)
def from_object(self, obj):

12
tests/flask_tests.py

@ -1018,6 +1018,18 @@ class ConfigTestCase(unittest.TestCase):
finally:
os.environ = env
def test_config_missing(self):
app = flask.Flask(__name__)
try:
app.config.from_pyfile('missing.cfg')
except IOError, e:
msg = str(e)
assert msg.startswith('[Errno 2] Unable to load configuration '
'file (No such file or directory):')
assert msg.endswith("missing.cfg'")
else:
assert 0, 'expected config'
class SubdomainTestCase(unittest.TestCase):

Loading…
Cancel
Save