Revision 7181fba0 test/ganeti.bdev_unittest.py
b/test/ganeti.bdev_unittest.py | ||
---|---|---|
340 | 340 |
self.failUnless(stats.is_in_resync) |
341 | 341 |
self.failUnless(stats.sync_percent is not None) |
342 | 342 |
|
343 |
|
|
344 |
class TestRADOSBlockDevice(testutils.GanetiTestCase): |
|
345 |
def test_ParseRbdShowmappedOutput(self): |
|
346 |
volume_name = "abc9778-8e8ace5b.rbd.disk0" |
|
347 |
output_ok = \ |
|
348 |
("0\trbd\te69f28e5-9817.rbd.disk0\t-\t/dev/rbd0\n" |
|
349 |
"1\t/dev/rbd0\tabc9778-8e8ace5b.rbd.disk0\t-\t/dev/rbd16\n" |
|
350 |
"line\twith\tfewer\tfields\n" |
|
351 |
"") |
|
352 |
output_empty = "" |
|
353 |
output_no_matches = \ |
|
354 |
("0\trbd\te69f28e5-9817.rbd.disk0\t-\t/dev/rbd0\n" |
|
355 |
"1\trbd\tabcdef01-9817.rbd.disk0\t-\t/dev/rbd10\n" |
|
356 |
"2\trbd\tcdef0123-9817.rbd.disk0\t-\t/dev/rbd12\n" |
|
357 |
"something\twith\tfewer\tfields" |
|
358 |
"") |
|
359 |
output_extra_matches = \ |
|
360 |
("0\t/dev/rbd0\tabc9778-8e8ace5b.rbd.disk0\t-\t/dev/rbd11\n" |
|
361 |
"1\trbd\te69f28e5-9817.rbd.disk0\t-\t/dev/rbd0\n" |
|
362 |
"2\t/dev/rbd0\tabc9778-8e8ace5b.rbd.disk0\t-\t/dev/rbd16\n" |
|
363 |
"something\twith\tfewer\tfields" |
|
364 |
"") |
|
365 |
|
|
366 |
parse_function = bdev.RADOSBlockDevice._ParseRbdShowmappedOutput |
|
367 |
self.assertEqual(parse_function(output_ok, volume_name), "/dev/rbd16") |
|
368 |
self.assertRaises(errors.BlockDeviceError, parse_function, |
|
369 |
output_empty, volume_name) |
|
370 |
self.assertEqual(parse_function(output_no_matches, volume_name), None) |
|
371 |
self.assertRaises(errors.BlockDeviceError, parse_function, |
|
372 |
output_extra_matches, volume_name) |
|
373 |
|
|
374 |
|
|
343 | 375 |
if __name__ == '__main__': |
344 | 376 |
testutils.GanetiTestProgram() |
Also available in: Unified diff