MAPPING_ALL_OBJECTS = "*"
+ def __init__(self):
+ Fragment.__init__(self)
+ self.entries = set()
+
def set_key_value(self, key, parse_results):
if key == "archive":
self.archive = parse_results[0]["archive"]
elif key == "entries":
- self.entries = set()
-
for result in parse_results:
obj = None
symbol = None
grammars = {
"archive": KeyGrammar(Fragment.ENTITY.setResultsName("archive"), 1, 1, True),
- "entries": KeyGrammar(entry, 1, None, True)
+ "entries": KeyGrammar(entry, 0, None, True)
}
return grammars
* (noflash) # if condition is false, then no 'entries' key value
""")
- with self.assertRaises(ParseFatalException):
- FragmentFile(test_fragment, self.sdkconfig)
+ expected = set()
+
+ fragment_file = FragmentFile(test_fragment, self.sdkconfig)
+ self.assertEqual(expected, fragment_file.fragments[0].entries)
test_fragment = self.create_fragment_file(u"""
[mapping:test]
self.compare_rules(expected, actual)
+ def test_rule_generation_empty_entries(self):
+ normal = u"""
+[mapping:test]
+archive: lib.a
+entries:
+ if PERFORMANCE_LEVEL >= 1: # is false, generate no special rules
+ obj.a (noflash)
+"""
+
+ self.add_fragments(normal)
+ actual = self.model.generate_rules(self.sections_info)
+ expected = self.generate_default_rules() # only default rules
+ self.compare_rules(expected, actual)
+
def test_conditional_sections_1(self):
generation_with_condition = u"""
[sections:cond_text_data]