From 4d01531f91e4b20db2cb6ff738ee9af724ed2bf1 Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Wed, 11 Jan 2012 13:22:36 -0800 Subject: [PATCH] Makes common/cfg.py raise AttributeError * fixes bug 915039 * includes test Change-Id: I67b886be3b5af3763f52fffe54085975d61d61eb --- nova/common/cfg.py | 2 +- nova/tests/test_cfg.py | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/nova/common/cfg.py b/nova/common/cfg.py index 54940e7d900..58d17d99fdf 100644 --- a/nova/common/cfg.py +++ b/nova/common/cfg.py @@ -229,7 +229,7 @@ def __str__(self): return ret -class NoSuchOptError(Error): +class NoSuchOptError(Error, AttributeError): """Raised if an opt which doesn't exist is referenced.""" def __init__(self, opt_name, group=None): diff --git a/nova/tests/test_cfg.py b/nova/tests/test_cfg.py index b70b7838a35..440b7acc7e5 100644 --- a/nova/tests/test_cfg.py +++ b/nova/tests/test_cfg.py @@ -598,6 +598,11 @@ def test_unknown_attr(self): self.assertFalse(hasattr(self.conf, 'foo')) self.assertRaises(NoSuchOptError, getattr, self.conf, 'foo') + def test_unknown_attr_is_attr_error(self): + self.conf([]) + self.assertFalse(hasattr(self.conf, 'foo')) + self.assertRaises(AttributeError, getattr, self.conf, 'foo') + def test_unknown_group_attr(self): self.conf.register_group(OptGroup('blaa'))