← Back to team overview

curtin-dev team mailing list archive

[Merge] ~dbungert/curtin:integration-old-sfdisk into curtin:master

 

Dan Bungert has proposed merging ~dbungert/curtin:integration-old-sfdisk into curtin:master with ~dbungert/curtin:test-help as a prerequisite.

Commit message:
Skip 2 integration tests related to old sfdisk

Skip some scenarios related to gpt metadata preservation.  These are required
for dual-boot with Windows, but we aren't supporting that case on these older
series.  That functionality can be offered with a newer sfdisk.


Requested reviews:
  curtin developers (curtin-dev)

For more details, see:
https://code.launchpad.net/~dbungert/curtin/+git/curtin/+merge/443379
-- 
Your team curtin developers is requested to review the proposed merge of ~dbungert/curtin:integration-old-sfdisk into curtin:master.
diff --git a/tests/integration/test_block_meta.py b/tests/integration/test_block_meta.py
index d14a3f8..a666bcc 100644
--- a/tests/integration/test_block_meta.py
+++ b/tests/integration/test_block_meta.py
@@ -10,9 +10,10 @@ import re
 import sys
 import tempfile
 from typing import Optional
+from unittest import skipIf
 import yaml
 
-from curtin import block, log, udev, util
+from curtin import block, distro, log, udev, util
 
 from curtin.commands.block_meta import _get_volume_fstype
 from curtin.commands.block_meta_v2 import ONE_MIB_BYTES
@@ -1146,6 +1147,8 @@ class TestBlockMeta(IntegrationTestCase):
             actual_attrs = set(attrs_str.split(' '))
         self.assertEqual(set(attrs), actual_attrs)
 
+    @skipIf(distro.lsb_release()['release'] < '18.04',
+            'old sfdisk no attr support')
     def test_gpt_set_multi_attr(self):
         self.img = self.tmp_path('image.img')
         config = StorageConfigBuilder(version=2)
@@ -1195,10 +1198,11 @@ class TestBlockMeta(IntegrationTestCase):
                          preserve=True)
         script = '''\
 label: gpt
-first-lba: 34'''.encode()
+first-lba: 34
+1MiB 1MiB L'''.encode()
         with loop_dev(self.img) as dev:
             cmd = ['sfdisk', dev]
-            util.subp(cmd, data=script)
+            util.subp(cmd, data=script, capture=True)
 
         config.add_part(number=1, offset=1 << 20, size=1 << 20)
         self.run_bm(config.render())
@@ -1217,7 +1221,8 @@ first-lba: 34'''.encode()
                          preserve=True)
         script = '''\
 label: gpt
-last-lba: 10240'''.encode()
+last-lba: 10240
+1MiB 1MiB L'''.encode()
         with loop_dev(self.img) as dev:
             cmd = ['sfdisk', dev]
             util.subp(cmd, data=script)
@@ -1232,6 +1237,8 @@ last-lba: 10240'''.encode()
             # default is disk size in sectors - 17 KiB
             self.assertEqual(10240, sfdisk_info['lastlba'])
 
+    @skipIf(distro.lsb_release()['release'] < '18.04',
+            'old sfdisk has no table-length support')
     def test_gpt_table_length_persistent(self):
         self.img = self.tmp_path('image.img')
         config = StorageConfigBuilder(version=2)

Follow ups