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']))
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']))
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)
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])
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))
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)
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()))
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()))
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)
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])
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']))