]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
tests: gpt: Remove test order dependency
authorJoshua Watt <jpewhacker@gmail.com>
Thu, 31 Aug 2023 16:51:36 +0000 (10:51 -0600)
committerTom Rini <trini@konsulko.com>
Mon, 11 Sep 2023 20:24:46 +0000 (16:24 -0400)
Re-create a clean disk image for each test to prevent modifications from
one test affecting another

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
test/py/tests/test_gpt.py

index 73bfbf77a2764994d9ed0c55437707f7dc3d1b06..339468bc1276c5f7896717dcd803cb44ed716e70 100644 (file)
@@ -61,18 +61,14 @@ class GptTestDiskImage(object):
         cmd = ('cp', persistent, self.path)
         u_boot_utils.run_and_log(u_boot_console, cmd)
 
-gtdi = None
 @pytest.fixture(scope='function')
 def state_disk_image(u_boot_console):
     """pytest fixture to provide a GptTestDiskImage object to tests.
     This is function-scoped because it uses u_boot_console, which is also
-    function-scoped. However, we don't need to actually do any function-scope
-    work, so this simply returns the same object over and over each time."""
+    function-scoped. A new disk is returned each time to prevent tests from
+    interfering with each other."""
 
-    global gtdi
-    if not gtdi:
-        gtdi = GptTestDiskImage(u_boot_console)
-    return gtdi
+    return GptTestDiskImage(u_boot_console)
 
 @pytest.mark.boardspec('sandbox')
 @pytest.mark.buildconfigspec('cmd_gpt')
@@ -186,12 +182,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 '0x00000800 0x00000fff      "first"' in output
-    assert '0x00001000 0x00001bff      "second"' in output
-    u_boot_console.run_command('gpt swap host 0 first second')
+    assert '0x00000800 0x00000fff      "part1"' in output
+    assert '0x00001000 0x00001bff      "part2"' in output
+    u_boot_console.run_command('gpt swap host 0 part1 part2')
     output = u_boot_console.run_command('part list host 0')
-    assert '0x00000800 0x00000fff      "second"' in output
-    assert '0x00001000 0x00001bff      "first"' in output
+    assert '0x00000800 0x00000fff      "part2"' in output
+    assert '0x00001000 0x00001bff      "part1"' in output
 
 @pytest.mark.boardspec('sandbox')
 @pytest.mark.buildconfigspec('cmd_gpt')