Завершить разделение SDK и внешних проектов
This commit is contained in:
@@ -114,6 +114,22 @@ class Integration(unittest.TestCase):
|
||||
self.assertEqual(value['bank'],1)
|
||||
self.assertEqual(value['window'],1)
|
||||
|
||||
def test_04a_absolute_variable_is_not_confused_with_code(self):
|
||||
source=self.work/'absolute.c'
|
||||
source.write_text('''
|
||||
__at (0x4000) volatile unsigned char scratch;
|
||||
int main(void) { scratch = 42; return 0; }
|
||||
''')
|
||||
self.build('absolute',[source],'--src-debug')
|
||||
model=self.model('absolute')
|
||||
scratch=next(v for v in model.variables if v['name']=='scratch')
|
||||
self.assertEqual(scratch['section'],'_ABS')
|
||||
self.assertEqual(scratch['logical_address'],0x4000)
|
||||
self.assertEqual(scratch['window'],1)
|
||||
self.assertIsNone(scratch['bank'])
|
||||
with self.assertRaisesRegex(ValueError,'секция'):
|
||||
model.location(0x4000)
|
||||
|
||||
def test_05_stale_sources_and_corrupt_artifacts(self):
|
||||
source=self.work/'stale.c'
|
||||
source.write_text('int main(void) {return 42;}')
|
||||
|
||||
Reference in New Issue
Block a user