summaryrefslogtreecommitdiff
path: root/test/test-open-iscsi.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/test-open-iscsi.py')
-rwxr-xr-xtest/test-open-iscsi.py124
1 files changed, 3 insertions, 121 deletions
diff --git a/test/test-open-iscsi.py b/test/test-open-iscsi.py
index 2c06372..2b8f2b9 100755
--- a/test/test-open-iscsi.py
+++ b/test/test-open-iscsi.py
@@ -8,133 +8,15 @@ import unittest
import os
import time
from harness import util
-from harness.util import Global
-from harness.iscsi import IscsiData
+#from harness import tests
+#from tests import TestRegression
__version__ = '1.0'
-class TestRegression(unittest.TestCase):
- """
- Regression testing
- """
-
- @classmethod
- def setUpClass(cls):
- util.verify_needed_commands_exist(['parted', 'fio', 'mkfs', 'bonnie++', 'sgdisk', 'iscsiadm'])
- util.vprint('*** Starting %s' % cls.__name__)
- # XXX validate that target exists?
- # an array of first burts, max burst, and max recv values, for testing
- cls.param_values = [[4096, 4096, 4096],
- [8192, 4096, 4096],
- [16384, 4096, 4096],
- [32768, 4096, 4096],
- [65536, 4096, 4096],
- [131972, 4096, 4096],
- [4096, 8192, 4096],
- [4096, 16384, 4096],
- [4096, 32768, 4096],
- [4096, 65536, 4096],
- [4096, 131072, 4096],
- [4096, 4096, 8192],
- [4096, 4096, 16384],
- [4096, 4096, 32768],
- [4096, 4096, 65536],
- [4096, 4096, 131072]]
-
- def setUp(self):
- if Global.debug or Global.verbosity > 1:
- # this makes debug printing a little more clean
- print('', file=sys.stderr)
-
- def iscsi_logout(self):
- res = util.run_cmd(['iscsiadm', '-m', 'node',
- '-T', Global.target,
- '-p', Global.ipnr,
- '--logout'])
- if res not in [0, 21]:
- self.fail('logout failed')
- self.assertFalse(os.path.exists(Global.device), '%s: exists after logout!' % Global.device)
-
- def test_InitialR2T_on(self):
- """Test Initial Request to Transmit on, but Immediate Data off"""
- i = 1
- for v in self.param_values:
- with self.subTest('Testing FirstBurst={} MaxBurts={} MaxRecv={}'.format(*v), i=i):
- util.vprint('Running subtest %d: FirstBurst={} MaxBurts={} MaxRecv={}'.format(*v) % i)
- self.iscsi_logout()
- iscsi_data = IscsiData('No', 'Yes', 'None', 'None', v[0], v[1], v[2])
- iscsi_data.update_cfg(Global.target, Global.ipnr)
- self.run_the_rest()
- i += 1
-
- def test_ImmediateData_on(self):
- """Test Initial Request to Transmit off, Immediate Data on"""
- i = 1
- for v in self.param_values:
- with self.subTest('Testing FirstBurst={} MaxBurts={} MaxRecv={}'.format(*v), i=i):
- self.iscsi_logout()
- iscsi_data = IscsiData('Yes', 'No', 'None', 'None', v[0], v[1], v[2])
- iscsi_data.update_cfg(Global.target, Global.ipnr)
- self.run_the_rest()
- i += 1
-
- def test_InitialR2T_and_ImmediateData_on(self):
- """Test Initial Request to Transmit and Immediate Data on"""
- i = 1
- for v in self.param_values:
- with self.subTest('Testing FirstBurst={} MaxBurts={} MaxRecv={}'.format(*v), i=i):
- util.vprint('Running subtest %d: FirstBurst={} MaxBurts={} MaxRecv={}'.format(*v) % i)
- self.iscsi_logout()
- iscsi_data = IscsiData('Yes', 'Yes', 'None', 'None', v[0], v[1], v[2])
- iscsi_data.update_cfg(Global.target, Global.ipnr)
- self.run_the_rest()
- i += 1
-
- def test_InitialR2T_and_ImmediateData_off(self):
- """Test Initial Request to Transmit and Immediate Data off"""
- i = 1
- for v in self.param_values:
- with self.subTest('Testing FirstBurst={} MaxBurts={} MaxRecv={}'.format(*v), i=i):
- util.vprint('Running subtest %d: FirstBurst={} MaxBurts={} MaxRecv={}'.format(*v) % i)
- self.iscsi_logout()
- iscsi_data = IscsiData('No', 'No', 'None', 'None', v[0], v[1], v[2])
- iscsi_data.update_cfg(Global.target, Global.ipnr)
- self.run_the_rest()
- i += 1
-
- def run_the_rest(self):
- res = util.run_cmd(['iscsiadm', '-m', 'node',
- '-T', Global.target,
- '-p', Global.ipnr,
- '--login'])
- self.assertEqual(res, 0, 'cannot login to device')
- # wait a few seconds for the device to show up
- if not util.wait_for_path(Global.device):
- self.fail('%s: does not exist after login' % Global.device)
- (res, reason) = util.run_fio()
- self.assertEqual(res, 0, reason)
- (res, reason) = util.run_parted()
- self.assertEqual(res, 0, reason)
- (res, reason) = util.run_mkfs()
- self.assertEqual(res, 0, reason)
- (res, reason) = util.run_bonnie()
- self.assertEqual(res, 0, reason)
-
- @classmethod
- def tearDownClass(cls):
- # restore iscsi config
- iscsi_data = IscsiData()
- iscsi_data.update_cfg(Global.target, Global.ipnr)
- # log out of iscsi connection
- util.run_cmd(['iscsiadm', '-m', 'node',
- '-T', Global.target,
- '-p', Global.ipnr,
- '--logout'])
-
if __name__ == '__main__':
# do our own hackery first, to get access to verbosity, debug, etc,
# as well as add our own command-line options
util.setup_testProgram_overrides(__version__, 'test-open-iscsi.py')
# now run the tests
- unittest.main()
+ unittest.main(module = 'harness.tests')