[libblockdev 3/3] Add the s390 plugin test file.
Samantha N. Bueno
sbueno+anaconda at redhat.com
Wed May 13 18:16:24 UTC 2015
Testing is limited since tests have to run on arches other than s390x.
So, right now the primary sort of testing we can safely do is
input sanitizing.
---
tests/s390_test.py | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 57 insertions(+)
create mode 100644 tests/s390_test.py
diff --git a/tests/s390_test.py b/tests/s390_test.py
new file mode 100644
index 0000000..8921c9a
--- /dev/null
+++ b/tests/s390_test.py
@@ -0,0 +1,57 @@
+import unittest
+import os
+import overrides_hack
+
+from utils import create_sparse_tempfile, fake_utils, fake_path
+from gi.repository import BlockDev, GLib
+if not BlockDev.is_initialized():
+ BlockDev.init(None, None)
+
+class S390TestCase(unittest.TestCase):
+ def test_device_input(self):
+ """Verify that s390_sanitize_dev_input works as expected"""
+ dev = "1234"
+ self.assertEqual(BlockDev.s390.sanitize_dev_input(dev), '0.0.' + dev)
+
+ # the device number is padded on the left with 0s up to 4 digits
+ dev = "123.abc"
+ self.assertEqual(BlockDev.s390.sanitize_dev_input(dev), "0.0.0abc")
+ dev = "abc"
+ self.assertEqual(BlockDev.s390.sanitize_dev_input(dev), "0.0.0abc")
+ dev = ".abc"
+ self.assertEqual(BlockDev.s390.sanitize_dev_input(dev), "0.0.0abc")
+
+ # a complete number is unchanged
+ dev = "0.0.abcd"
+ self.assertEqual(BlockDev.s390.sanitize_dev_input(dev), dev)
+
+ def test_wwpn_input(self):
+ """Verify that s390_zfcp_sanitize_wwpn_input works as expected"""
+ # missing "0x" from beginning of wwpn; this should be added by fx
+ wwpn = "01234567abcdefab"
+ self.assertEqual(BlockDev.s390.zfcp_sanitize_wwpn_input(wwpn), "0x01234567abcdefab")
+ # this should be fine as-is
+ wwpn = "0x01234567abcdefab"
+ self.assertEqual(BlockDev.s390.zfcp_sanitize_wwpn_input(wwpn), wwpn)
+
+ def test_lun_input(self):
+ """Verify that s390_zfcp_sanitize_lun_input works as expected"""
+ # user does not prepend lun with "0x"; this should get added
+ lun = "01234567abcdefab"
+ self.assertEqual(BlockDev.s390.zfcp_sanitize_lun_input(lun), "0x01234567abcdefab")
+ # a user enters a lun that is between 0 and 16 chars long (non-inclusive); 0 padding should be added to expand to 16
+ lun = "0x123"
+ self.assertEqual(BlockDev.s390.zfcp_sanitize_lun_input(lun), "0x0123000000000000")
+ lun = "0x12345"
+ self.assertEqual(BlockDev.s390.zfcp_sanitize_lun_input(lun), "0x1234500000000000")
+ lun = "0x123456"
+ self.assertEqual(BlockDev.s390.zfcp_sanitize_lun_input(lun), "0x1234560000000000")
+ # this should be fine as-is
+ lun = "0x1234567800000000"
+ self.assertEqual(BlockDev.s390.zfcp_sanitize_lun_input(lun), lun)
+
+class S390UnloadTest(unittest.TestCase):
+ def tearDown(self):
+ # make sure the library is initialized with all plugins loaded for other
+ # tests
+ self.assertTrue(BlockDev.reinit(None, True, None))
--
2.4.0
More information about the anaconda-patches
mailing list