diff options
Diffstat (limited to 'test/test-open-iscsi.py')
-rwxr-xr-x | test/test-open-iscsi.py | 124 |
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') |