Revision: 3093
Author: janne.t.harkonen
Date: Mon Apr 26 04:55:00 2010
Log: Fixed multisource suite
http://code.google.com/p/robotframework/source/detail?r=3093

Modified:
 /trunk/src/robot/parsing/model.py

=======================================
--- /trunk/src/robot/parsing/model.py   Mon Apr 26 02:51:48 2010
+++ /trunk/src/robot/parsing/model.py   Mon Apr 26 04:55:00 2010
@@ -42,18 +42,26 @@
     def __init__(self, rawdata, parent=None):
         name, source = self._get_name_and_source(rawdata.source)
         BaseTestSuite.__init__(self, name, source, parent)
-        self._metadata = self._get_metadata(rawdata)
-        self.doc = self._metadata['Documentation']
-        self.suite_setup = self._metadata['SuiteSetup']
-        self.suite_teardown = self._metadata['SuiteTeardown']
-        self.test_setup = self._metadata['TestSetup']
-        self.test_teardown = self._metadata['TestTeardown']
-        self.force_tags = self._metadata['ForceTags']
-        self.metadata = self._metadata.user_metadata
-        self.imports = self._metadata.imports
+        metadata = self._get_metadata(rawdata)
+        self.doc = metadata['Documentation']
+        self.suite_setup = metadata['SuiteSetup']
+        self.suite_teardown = metadata['SuiteTeardown']
+        self.test_setup = metadata['TestSetup']
+        self.test_teardown = metadata['TestTeardown']
+        self.force_tags = metadata['ForceTags']
+        self.default_tags = self._get_meta_or_none(metadata, 'DefaultTags')
+        self.test_timeout = self._get_meta_or_none(metadata, 'TestTimeout')
+        self.metadata = metadata.user_metadata
+        self.imports = metadata.imports
         self.variables = rawdata.variables
         self.user_keywords = UserHandlerList(rawdata.keywords)

+    def _get_meta_or_none(self, metadata, name):
+        try:
+            return metadata[name]
+        except KeyError:
+            return None
+
     def _get_name_and_source(self, path):
         source = self._get_source(path)
         return self._get_name(source), source
@@ -86,8 +94,6 @@
         rawdata = self._get_rawdata(path)
         _BaseSuite.__init__(self, rawdata, parent)
         self._create_testcases(rawdata)
-        self.default_tags = self._metadata['DefaultTags']
-        self.test_timeout = self._metadata['TestTimeout']

     def _get_metadata(self, rawdata):
         return TestCaseFileMetadata(rawdata)
@@ -125,8 +131,6 @@
         _BaseSuite.__init__(self, rawdata, parent)
         error = "Test suite directory '%s' contains no test cases." % path
         self._create_subsuites(subitems, suitenames, error)
-        self.default_tags = None
-        self.test_timeout = None

     def _get_metadata(self, rawdata):
         return TestSuiteInitFileMetadata(rawdata)


--
Subscription settings: 
http://groups.google.com/group/robotframework-commit/subscribe?hl=en

Reply via email to