Kaydet (Commit) e255c10f authored tarafından Joffrey F's avatar Joffrey F

Ensure integration tests work with LXC exec driver

üst 5ce02b9f
......@@ -32,6 +32,7 @@ from test import Cleanup
# export; history; import_image; insert; port; push; tag; get; load; stats;
DEFAULT_BASE_URL = os.environ.get('DOCKER_HOST')
EXEC_DRIVER_IS_NATIVE = True
warnings.simplefilter('error')
create_host_config = docker.utils.create_host_config
......@@ -312,6 +313,7 @@ class TestStartContainerWithRoBinds(BaseTestCase):
self.assertFalse(inspect_data['VolumesRW'][mount_dest])
@unittest.skipIf(not EXEC_DRIVER_IS_NATIVE)
class TestCreateContainerReadOnlyFs(BaseTestCase):
def runTest(self):
ctnr = self.client.create_container(
......@@ -325,6 +327,7 @@ class TestCreateContainerReadOnlyFs(BaseTestCase):
self.assertNotEqual(res, 0)
@unittest.skipIf(not EXEC_DRIVER_IS_NATIVE)
class TestStartContainerReadOnlyFs(BaseTestCase):
def runTest(self):
# Presumably a bug in 1.5.0
......@@ -581,7 +584,8 @@ class TestStop(BaseTestCase):
self.assertIn('State', container_info)
state = container_info['State']
self.assertIn('ExitCode', state)
self.assertNotEqual(state['ExitCode'], 0)
if EXEC_DRIVER_IS_NATIVE:
self.assertNotEqual(state['ExitCode'], 0)
self.assertIn('Running', state)
self.assertEqual(state['Running'], False)
......@@ -598,7 +602,8 @@ class TestStopWithDictInsteadOfId(BaseTestCase):
self.assertIn('State', container_info)
state = container_info['State']
self.assertIn('ExitCode', state)
self.assertNotEqual(state['ExitCode'], 0)
if EXEC_DRIVER_IS_NATIVE:
self.assertNotEqual(state['ExitCode'], 0)
self.assertIn('Running', state)
self.assertEqual(state['Running'], False)
......@@ -614,7 +619,8 @@ class TestKill(BaseTestCase):
self.assertIn('State', container_info)
state = container_info['State']
self.assertIn('ExitCode', state)
self.assertNotEqual(state['ExitCode'], 0)
if EXEC_DRIVER_IS_NATIVE:
self.assertNotEqual(state['ExitCode'], 0)
self.assertIn('Running', state)
self.assertEqual(state['Running'], False)
......@@ -630,7 +636,8 @@ class TestKillWithDictInsteadOfId(BaseTestCase):
self.assertIn('State', container_info)
state = container_info['State']
self.assertIn('ExitCode', state)
self.assertNotEqual(state['ExitCode'], 0)
if EXEC_DRIVER_IS_NATIVE:
self.assertNotEqual(state['ExitCode'], 0)
self.assertIn('Running', state)
self.assertEqual(state['Running'], False)
......@@ -978,6 +985,7 @@ class TestRestartingContainer(BaseTestCase):
self.client.remove_container(id, force=True)
@unittest.skipIf(not EXEC_DRIVER_IS_NATIVE)
class TestExecuteCommand(BaseTestCase):
def runTest(self):
container = self.client.create_container('busybox', 'cat',
......@@ -991,6 +999,7 @@ class TestExecuteCommand(BaseTestCase):
self.assertEqual(res, expected)
@unittest.skipIf(not EXEC_DRIVER_IS_NATIVE)
class TestExecuteCommandString(BaseTestCase):
def runTest(self):
container = self.client.create_container('busybox', 'cat',
......@@ -1004,6 +1013,7 @@ class TestExecuteCommandString(BaseTestCase):
self.assertEqual(res, expected)
@unittest.skipIf(not EXEC_DRIVER_IS_NATIVE)
class TestExecuteCommandStreaming(BaseTestCase):
def runTest(self):
container = self.client.create_container('busybox', 'cat',
......@@ -1458,5 +1468,7 @@ class TestRegressions(unittest.TestCase):
if __name__ == '__main__':
c = docker.Client(base_url=DEFAULT_BASE_URL)
c.pull('busybox')
exec_driver = c.info()['ExecutionDriver']
EXEC_DRIVER_IS_NATIVE = exec_driver.startswith('native')
c.close()
unittest.main()
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment