[U-Boot] [PATCH v3 5/6] test/py: gpt: test start LBA for sub-command rename and swap
Patrick Delaunay
patrick.delaunay at st.com
Wed Oct 18 13:11:07 UTC 2017
Add test of first and last LBA in gpt for rename and swap.
Only the name is expected to change, so test 3 columns
for part command
1: first LBA (start)
2: last LBA (end)
3: partition name
After rename, the last LBA change and it is a error in current U-Boot code
+ "first" = 0x7ff : invalid value (<start)
+ "second" = 0x17ff => size increasing !
Signed-off-by: Patrick Delaunay <patrick.delaunay at st.com>
---
Before rename
0x00000800 0x00000a00 "part1"
0x00001000 0x00001200 "part2"
And after rename last LBA are invalid
0x00000800 0x000007ff "first"
0x00001000 0x000017ff "second"
this issue will be corrected in next commit of the patchset
Changes in v3:
- Indicate LBA end error for rename command in test/py and commit message
Changes in v2: None
test/py/tests/test_gpt.py | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/test/py/tests/test_gpt.py b/test/py/tests/test_gpt.py
index 2eb07a1..b7adc10 100644
--- a/test/py/tests/test_gpt.py
+++ b/test/py/tests/test_gpt.py
@@ -119,6 +119,7 @@ def test_gpt_save_guid(state_disk_image, u_boot_console):
@pytest.mark.boardspec('sandbox')
@pytest.mark.buildconfigspec('cmd_gpt')
@pytest.mark.buildconfigspec('cmd_gpt_rename')
+ at pytest.mark.buildconfigspec('cmd_part')
@pytest.mark.requiredtool('sgdisk')
def test_gpt_rename_partition(state_disk_image, u_boot_console):
"""Test the gpt rename command to write partition names."""
@@ -130,6 +131,13 @@ def test_gpt_rename_partition(state_disk_image, u_boot_console):
u_boot_console.run_command('gpt rename host 0 2 second')
output = u_boot_console.run_command('gpt read host 0')
assert 'name second' in output
+ output = u_boot_console.run_command('part list host 0')
+ assert '0x00000800 0x000007ff "first"' in output
+ assert '0x00001000 0x000017ff "second"' in output
+ # command error here because 'end LBA' (column 2) change after rename
+ # (previous value can be found in test_gpt_read)
+ # "first" 0xa00 => 0x7ff : it is an invalid value < start LBA !
+ # "seconf" 0x1200 => 0x17ff : size is increasing !
@pytest.mark.boardspec('sandbox')
@pytest.mark.buildconfigspec('cmd_gpt')
@@ -141,12 +149,12 @@ def test_gpt_swap_partitions(state_disk_image, u_boot_console):
u_boot_console.run_command('host bind 0 ' + state_disk_image.path)
output = u_boot_console.run_command('part list host 0')
- assert '0x000007ff "first"' in output
- assert '0x000017ff "second"' in output
+ assert '0x00000800 0x000007ff "first"' in output
+ assert '0x00001000 0x000017ff "second"' in output
u_boot_console.run_command('gpt swap host 0 first second')
output = u_boot_console.run_command('part list host 0')
- assert '0x000007ff "second"' in output
- assert '0x000017ff "first"' in output
+ assert '0x00000800 0x000007ff "second"' in output
+ assert '0x00001000 0x000017ff "first"' in output
@pytest.mark.boardspec('sandbox')
@pytest.mark.buildconfigspec('cmd_gpt')
--
2.7.4
More information about the U-Boot
mailing list