Improved error message for configuration files

This commit is contained in:
Armin Ronacher 2010-07-30 00:03:06 +02:00
parent ed1b34c724
commit 778e44e39e
2 changed files with 17 additions and 1 deletions

View file

@ -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):

View file

@ -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):