change: misaligned partitions now raise an exception

change: alignment for data partitions is now 4kB instead of 4B
remove: STRICT_DATA_ALIGNMENT variable
remove: warning tests for misaligned partitions
add: assertion test for misaligned partitions
add: breaking change documentation
This commit is contained in:
Matus Fabo
2022-03-03 00:16:11 +01:00
parent fa62f39ba8
commit 6bc7b4b5e2
3 changed files with 17 additions and 22 deletions

View File

@@ -393,6 +393,17 @@ class VerificationTests(Py23TestCase):
csv = """
# Name,Type, SubType,Offset,Size
app,app, factory, 32K, 1M
"""
with self.assertRaisesRegex(gen_esp32part.ValidationError, r'Offset.+not aligned'):
t = gen_esp32part.PartitionTable.from_csv(csv)
t.verify()
csv = """
# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9420, 0x6000,
phy_init, data, phy, , 0x1000,
factory, app, factory, , 1M,
"""
with self.assertRaisesRegex(gen_esp32part.ValidationError, r'Offset.+not aligned'):
t = gen_esp32part.PartitionTable.from_csv(csv)
@@ -453,19 +464,6 @@ ota_1, 0, ota_1, , 1M,
self.assertIn('WARNING', sys.stderr.getvalue())
self.assertIn('partition subtype', sys.stderr.getvalue())
sys.stderr = io.StringIO()
csv_3 = 'nvs, data, nvs, 0x8800, 32k'
gen_esp32part.PartitionTable.from_csv(csv_3).verify()
self.assertIn('WARNING', sys.stderr.getvalue())
self.assertIn('not aligned to 0x1000', sys.stderr.getvalue())
sys.stderr = io.StringIO()
csv_4 = 'factory, app, factory, 0x10000, 0x100100\n' \
'nvs, data, nvs, , 32k'
gen_esp32part.PartitionTable.from_csv(csv_4).verify()
self.assertIn('WARNING', sys.stderr.getvalue())
self.assertIn('not aligned to 0x1000', sys.stderr.getvalue())
finally:
sys.stderr = sys.__stderr__