summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--summainlib.py2
-rw-r--r--summainlib_tests.py4
2 files changed, 6 insertions, 0 deletions
diff --git a/summainlib.py b/summainlib.py
index fa0953e..c2dc2ff 100644
--- a/summainlib.py
+++ b/summainlib.py
@@ -259,6 +259,8 @@ class FilesystemObject(object):
value = getattr(self, method)()
if value is not None:
self.values[key] = value
+ else:
+ raise KeyError(key)
return self.values.get(key, '')
def _isdir(self):
diff --git a/summainlib_tests.py b/summainlib_tests.py
index 6fe7549..4121fd8 100644
--- a/summainlib_tests.py
+++ b/summainlib_tests.py
@@ -97,6 +97,10 @@ class FilesystemObjectTests(unittest.TestCase):
md5=FakeChecksummer(),
open_file=FakeOpenFile(),
readlink=FakeReadlink(self))
+
+ def test_raises_keyerror_for_unknown_field(self):
+ self.assertRaises(KeyError, self.new('foo').__getitem__,
+ 'UNKNOWNHASH')
def test_formats_simple_name_identically(self):
self.assertEqual(self.new('foo')['Name'], 'foo')