[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