Exemple #1
0
 def testMultiLineEqual(self):
     """Test that equal instances are equal."""
     dd = kernel_cmdline.DmDevice(['v u f 2', '0 1 typ a', '2 3 t b'])
     self.assertEqual(
         dd, kernel_cmdline.DmDevice(['v u f 2', '0 1 typ a', '2 3 t b']))
     self.assertFalse(
         dd != kernel_cmdline.DmDevice(['v u f 2', '0 1 typ a', '2 3 t b']))
Exemple #2
0
 def testEqual(self):
     """Test that equal instances are equal."""
     dd = kernel_cmdline.DmDevice(['v u f 1', '0 1 typ a'])
     self.assertEqual(dd, kernel_cmdline.DmDevice(['v u f 1', '0 1 typ a']))
     self.assertTrue(
         dd == kernel_cmdline.DmDevice(['v u f 1', '0 1 typ a']))
     self.assertFalse(
         dd != kernel_cmdline.DmDevice(['v u f 1', '0 1 typ a']))
Exemple #3
0
 def testParsesOneLine(self):
     """Verify that DmDevice correctly handles the results from DmLine."""
     lines = ['vboot none ro 1', '0 1 verity arg']
     dd = kernel_cmdline.DmDevice(lines)
     self.assertEqual('vboot', dd.name)
     self.assertEqual('none', dd.uuid)
     self.assertEqual('ro', dd.flags)
     self.assertEqual(1, dd.num_rows)
     self.assertEqual([kernel_cmdline.DmLine('0 1 verity arg')], dd.rows)
Exemple #4
0
 def testUpdateVerityArg(self):
     """Test that UpdateVerityArg works."""
     arg = ['v1 u1 f1 1', '0 1 verity a1 a2=v2']
     dd = kernel_cmdline.DmDevice(arg)
     dd.UpdateVerityArg('a2', 'new')
     self.assertEqual(kernel_cmdline.KernelArg('a2', 'new'),
                      dd.rows[0].args[1])
     dd.UpdateVerityArg('a3', None)
     self.assertEqual(kernel_cmdline.KernelArg('a3', None),
                      dd.rows[0].args[2])
Exemple #5
0
 def testGetVerityArg(self):
     """Test that GetVerityArg works."""
     arg = ['v1 u1 f1 1', '0 1 verity a1 a2=v2']
     a1 = kernel_cmdline.KernelArg('a1', None)
     a2 = kernel_cmdline.KernelArg('a2', 'v2')
     dd = kernel_cmdline.DmDevice(arg)
     self.assertEqual(a1, dd.GetVerityArg('a1'))
     self.assertEqual(a2, dd.GetVerityArg('a2'))
     self.assertEqual(None, dd.GetVerityArg('a3', default=None))
     self.assertEqual(a1, dd.GetVerityArg('a3', default=a1))
Exemple #6
0
 def testParsesMultiLine(self):
     """Verify that DmDevice correctly handles multiline device."""
     lines = ['vboot none ro 2', '0 1 verity arg', '9 10 type a2']
     dd = kernel_cmdline.DmDevice(lines)
     self.assertEqual('vboot', dd.name)
     self.assertEqual('none', dd.uuid)
     self.assertEqual('ro', dd.flags)
     self.assertEqual(2, dd.num_rows)
     self.assertEqual([
         kernel_cmdline.DmLine('0 1 verity arg'),
         kernel_cmdline.DmLine('9 10 type a2')
     ], dd.rows)
Exemple #7
0
 def testIgnoresQuotes(self):
     """Verify that DmConfig works with quoted string."""
     device_data = [['vboot uuid ro 1', '0 1 verity arg1 arg2'],
                    [
                        'vblah uuid2 ro 2', '100 9 stripe larg1=val1',
                        '200 10 stripe larg2=val2'
                    ], ['vroot uuid3 ro 1', '99 3 linear larg1 larg2']]
     dm_arg = ', '.join(','.join(x for x in data) for data in device_data)
     devices = [kernel_cmdline.DmDevice(x) for x in device_data]
     dc = kernel_cmdline.DmConfig('"%d %s"' % (len(device_data), dm_arg))
     self.assertEqual(len(device_data), dc.num_devices)
     self.assertEqual(devices, list(dc.devices.values()))
Exemple #8
0
 def testParses(self):
     """Verify that DmConfig correctly parses the config from DmDevice."""
     device_data = [['vboot uuid ro 1', '0 1 verity arg1 arg2'],
                    [
                        'vblah uuid2 ro 2', '100 9 stripe larg1=val1',
                        '200 10 stripe larg2=val2'
                    ], ['vroot uuid3 ro 1', '99 3 linear larg1 larg2']]
     dm_arg = ', '.join(','.join(x for x in data) for data in device_data)
     devices = [kernel_cmdline.DmDevice(x) for x in device_data]
     dc = kernel_cmdline.DmConfig('%d %s' % (len(device_data), dm_arg))
     self.assertEqual(len(device_data), dc.num_devices)
     self.assertEqual(devices, list(dc.devices.values()))
Exemple #9
0
 def testParsesIgnoresExcessRows(self):
     """Verify that DmDevice ignores excess rows."""
     lines = [
         'vboot none ro 2', '0 1 verity arg', '9 10 type a2', '4 5 t a3'
     ]
     dd = kernel_cmdline.DmDevice(lines)
     self.assertEqual('vboot', dd.name)
     self.assertEqual('none', dd.uuid)
     self.assertEqual('ro', dd.flags)
     self.assertEqual(2, dd.num_rows)
     self.assertEqual([
         kernel_cmdline.DmLine('0 1 verity arg'),
         kernel_cmdline.DmLine('9 10 type a2')
     ], dd.rows)
Exemple #10
0
 def testUpdateVerityArgMultiLine(self):
     """Test that UpdateVerityArg works."""
     arg = [
         'v1 u1 f1 3', '9 9 xx a3 a4=v4', '0 1 verity a1 a2=v2',
         '9 9 verity a1 a2=v2 an'
     ]
     dd = kernel_cmdline.DmDevice(arg)
     a2 = kernel_cmdline.KernelArg('a2', 'new')
     dd.UpdateVerityArg('a2', 'new')
     self.assertEqual(a2, dd.rows[1].args[1])
     self.assertEqual(a2, dd.rows[2].args[1])
     a3 = kernel_cmdline.KernelArg('a3', None)
     dd.UpdateVerityArg('a3', None)
     self.assertEqual(a3, dd.rows[1].args[2])
     self.assertEqual(a3, dd.rows[2].args[3])
Exemple #11
0
 def testNotEqual(self):
     """Test that unequal instances are unequal."""
     dd = kernel_cmdline.DmDevice(['v u f 2', '0 1 typ a', '2 3 t b'])
     self.assertNotEqual(dd, '')
     self.assertNotEqual(
         dd, kernel_cmdline.DmDevice(['x u f 2', '0 1 typ a', '2 3 t b']))
     self.assertNotEqual(
         dd, kernel_cmdline.DmDevice(['v x f 2', '0 1 typ a', '2 3 t b']))
     self.assertNotEqual(
         dd, kernel_cmdline.DmDevice(['v u x 2', '0 1 typ a', '2 3 t b']))
     self.assertNotEqual(
         dd, kernel_cmdline.DmDevice(['v u f 1', '0 1 typ a', '2 3 t b']))
     self.assertNotEqual(
         dd, kernel_cmdline.DmDevice(['v u f 2', '9 1 typ a', '2 3 t b']))