Remove old draft test.
parent
5ccf90702e
commit
d573340d5f
@ -1,127 +0,0 @@
|
|||||||
#!/usr/bin/env python2.5
|
|
||||||
|
|
||||||
"""
|
|
||||||
def DoStuff():
|
|
||||||
import time
|
|
||||||
file('/tmp/foobar', 'w').write(time.ctime())
|
|
||||||
|
|
||||||
|
|
||||||
localhost = pyrpc.SSHConnection('localhost')
|
|
||||||
localhost.Connect()
|
|
||||||
try:
|
|
||||||
ret = localhost.Evaluate(DoStuff)
|
|
||||||
except OSError, e:
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Tests
|
|
||||||
- Test Channel objects to destruction.
|
|
||||||
- External contexts sometimes don't appear to die during a crash. This needs
|
|
||||||
tested to destruction.
|
|
||||||
- Test reconnecting to previously idle-killed contexts.
|
|
||||||
- Test remote context longevity to destruction. They should never stay
|
|
||||||
around after parent dies or disconnects.
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
import sys
|
|
||||||
import unittest
|
|
||||||
import econtext
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#
|
|
||||||
# Helper functions.
|
|
||||||
#
|
|
||||||
|
|
||||||
class GetModuleImportsTestCase(unittest.TestCase):
|
|
||||||
# This must be kept in sync with our actual imports.
|
|
||||||
IMPORTS = [
|
|
||||||
('econtext', 'econtext'),
|
|
||||||
('sys', 'PythonSystemModule'),
|
|
||||||
('sys', 'sys'),
|
|
||||||
('unittest', 'unittest')
|
|
||||||
]
|
|
||||||
|
|
||||||
def setUp(self):
|
|
||||||
global PythonSystemModule
|
|
||||||
import sys as PythonSystemModule
|
|
||||||
|
|
||||||
def tearDown(Self):
|
|
||||||
global PythonSystemModule
|
|
||||||
del PythonSystemModule
|
|
||||||
|
|
||||||
def testImports(self):
|
|
||||||
self.assertEqual(set(self.IMPORTS),
|
|
||||||
set(econtext.GetModuleImports(sys.modules[__name__])))
|
|
||||||
|
|
||||||
|
|
||||||
class BuildPartialModuleTestCase(unittest.TestCase):
|
|
||||||
def testNullModule(self):
|
|
||||||
"""Pass empty sequences; result should contain nothing but a hash bang line
|
|
||||||
and whitespace."""
|
|
||||||
|
|
||||||
lines = econtext.BuildPartialModule([], []).strip().split('\n')
|
|
||||||
|
|
||||||
self.assert_(lines[0].startswith('#!'))
|
|
||||||
self.assert_('import' not in lines[1:])
|
|
||||||
|
|
||||||
def testPassingMethodTypeFails(self):
|
|
||||||
"""Pass an instance method and ensure we refuse it."""
|
|
||||||
|
|
||||||
self.assertRaises(TypeError, econtext.BuildPartialModule,
|
|
||||||
[self.testPassingMethodTypeFails], [])
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def exampleStaticMethod():
|
|
||||||
pass
|
|
||||||
|
|
||||||
def testStaticMethodGetsUnwrapped(self):
|
|
||||||
"Ensure that @staticmethod decorators are stripped."
|
|
||||||
|
|
||||||
dct = {}
|
|
||||||
exec econtext.BuildPartialModule([self.exampleStaticMethod], []) in dct
|
|
||||||
self.assertFalse(isinstance(dct['exampleStaticMethod'], staticmethod))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#
|
|
||||||
# Streams
|
|
||||||
#
|
|
||||||
|
|
||||||
class StreamTestBase:
|
|
||||||
"""This defines rules that should remain true for all Stream subclasses. We
|
|
||||||
test in this manner to guard against a subclass breaking Stream's
|
|
||||||
polymorphism (e.g. overriding a method with the wrong prototype).
|
|
||||||
|
|
||||||
def testCommandLine(self):
|
|
||||||
print self.driver.command_line
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
class SSHStreamTestCase(unittest.TestCase, StreamTestBase):
|
|
||||||
DRIVER_CLASS = econtext.SSHStream
|
|
||||||
|
|
||||||
def setUp(self):
|
|
||||||
# Stubs.
|
|
||||||
|
|
||||||
# Instance initialization.
|
|
||||||
self.stream = econtext.SSHStream('localhost', 'test-agent')
|
|
||||||
|
|
||||||
def tearDown(self):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def testConstructor(self):
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
class TCPStreamTestCase(unittest.TestCase, StreamTestBase):
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
#
|
|
||||||
# Run the tests.
|
|
||||||
#
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
unittest.main()
|
|
||||||
Loading…
Reference in New Issue