Catch ConfigParser.Error when reading config
authorHuang Hao <hao.h.huang@intel.com>
Thu, 13 Sep 2012 08:11:11 +0000 (16:11 +0800)
committerHuang Hao <hao.h.huang@intel.com>
Thu, 13 Sep 2012 14:29:05 +0000 (22:29 +0800)
Change-Id: I8ce04f7c9200ce02df62526144bf9a1dd9d13144

gitbuildsys/conf.py
tests/test_config.py
tests/testdata/ini/invalid_continuation_line.ini [new file with mode: 0644]

index 2852271..1ed756a 100644 (file)
@@ -25,7 +25,7 @@ import ast
 import base64
 import shutil
 from ConfigParser import SafeConfigParser, NoSectionError, NoOptionError, \
-                         MissingSectionHeaderError
+                         MissingSectionHeaderError, Error
 
 from gitbuildsys import msger, errors
 from gitbuildsys.safe_url import SafeURL
@@ -252,7 +252,7 @@ url = http://download.tizen.org/snapshots/trunk/common/latest/
             cfgparser = BrainConfigParser()
             try:
                 cfgparser.read_one(fpath)
-            except MissingSectionHeaderError, err:
+            except Error, err:
                 raise errors.ConfigError('config file error:%s' % err)
             self._cfgparsers.append(cfgparser)
         self._check_passwd()
index 6144198..14244a5 100644 (file)
@@ -129,6 +129,11 @@ class ConfigGettingTest(unittest.TestCase):
         'test invalid ini'
         self.assertRaises(ConfigError, reload, gitbuildsys.conf)
 
+    @Fixture(home='invalid_continuation_line.ini')
+    def test_invalid_continuation_line(self):
+        'test invalid cointinuation line'
+        self.assertRaises(ConfigError, reload, gitbuildsys.conf)
+
 
 if __name__ == '__main__':
     unittest.main()
\ No newline at end of file
diff --git a/tests/testdata/ini/invalid_continuation_line.ini b/tests/testdata/ini/invalid_continuation_line.ini
new file mode 100644 (file)
index 0000000..5bee728
--- /dev/null
@@ -0,0 +1,2 @@
+[general]
+ profile = test
\ No newline at end of file