|
|
|
|
|
|
|
import os
|
|
|
|
import sys
|
|
|
|
|
|
|
|
import unittest2
|
|
|
|
|
|
|
|
import mitogen
|
|
|
|
import mitogen.ssh
|
|
|
|
import mitogen.utils
|
|
|
|
|
|
|
|
import testlib
|
|
|
|
import plain_old_module
|
|
|
|
|
|
|
|
|
|
|
|
def get_sys_executable():
|
|
|
|
return sys.executable
|
|
|
|
|
|
|
|
|
|
|
|
def get_os_environ():
|
|
|
|
return dict(os.environ)
|
|
|
|
|
|
|
|
|
|
|
|
class LocalTest(testlib.RouterMixin, unittest2.TestCase):
|
|
|
|
stream_class = mitogen.ssh.Stream
|
|
|
|
|
|
|
|
def test_stream_name(self):
|
|
|
|
context = self.router.local()
|
|
|
|
pid = context.call(os.getpid)
|
|
|
|
self.assertEquals('local.%d' % (pid,), context.name)
|
|
|
|
|
|
|
|
|
|
|
|
class PythonPathTest(testlib.RouterMixin, unittest2.TestCase):
|
|
|
|
stream_class = mitogen.ssh.Stream
|
|
|
|
|
|
|
|
def test_inherited(self):
|
|
|
|
context = self.router.local()
|
|
|
|
self.assertEquals(sys.executable, context.call(get_sys_executable))
|
|
|
|
|
|
|
|
def test_string(self):
|
|
|
|
os.environ['PYTHON'] = sys.executable
|
|
|
|
context = self.router.local(
|
|
|
|
python_path=testlib.data_path('env_wrapper.sh'),
|
|
|
|
)
|
|
|
|
self.assertEquals(sys.executable, context.call(get_sys_executable))
|
|
|
|
env = context.call(get_os_environ)
|
|
|
|
self.assertEquals('1', env['EXECUTED_VIA_ENV_WRAPPER'])
|
|
|
|
|
|
|
|
def test_list(self):
|
|
|
|
context = self.router.local(
|
|
|
|
python_path=[
|
|
|
|
testlib.data_path('env_wrapper.sh'),
|
|
|
|
"magic_first_arg",
|
|
|
|
sys.executable
|
|
|
|
]
|
|
|
|
)
|
|
|
|
self.assertEquals(sys.executable, context.call(get_sys_executable))
|
|
|
|
env = context.call(get_os_environ)
|
|
|
|
self.assertEquals('magic_first_arg', env['ENV_WRAPPER_FIRST_ARG'])
|
|
|
|
self.assertEquals('1', env['EXECUTED_VIA_ENV_WRAPPER'])
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
unittest2.main()
|