diff --git a/examples/test/test_baresshd.py b/examples/test/test_baresshd.py index d57436eb67f1c3718f25699c7bd98f77b5c7eeb1..cec2c8122330f12f3b2f1cc007fcf1bc5fd793bd 100755 --- a/examples/test/test_baresshd.py +++ b/examples/test/test_baresshd.py @@ -1,6 +1,8 @@ #!/usr/bin/env python -"""TEST""" +""" +Tests for baresshd.py +""" import unittest import pexpect @@ -9,13 +11,12 @@ from mininet.clean import cleanup, sh class testBareSSHD( unittest.TestCase ): - "Test ping with single switch topology (common code)." opts = [ '\(yes/no\)\?', 'Welcome to h1', 'refused', pexpect.EOF, pexpect.TIMEOUT ] def connected( self ): - "check connected" - p = pexpect.spawn( 'ssh 10.0.0.1 -i /tmp/ssh/test_rsa ' ) + "Log into ssh server, check banner, then exit" + p = pexpect.spawn( 'ssh 10.0.0.1 -i /tmp/ssh/test_rsa exit' ) while True: index = p.expect( self.opts ) if index == 0: @@ -26,19 +27,22 @@ def connected( self ): return False def setUp( self ): + # verify that sshd is not running self.assertFalse( self.connected() ) # create public key pair for testing sh( 'mkdir /tmp/ssh' ) sh( "ssh-keygen -t rsa -P '' -f /tmp/ssh/test_rsa" ) sh( 'cat /tmp/ssh/test_rsa.pub >> /tmp/ssh/authorized_keys' ) + # run example with custom sshd args cmd = ( 'python -m mininet.examples.baresshd ' '-o AuthorizedKeysFile=/tmp/ssh/authorized_keys ' '-o StrictModes=no' ) sh( cmd ) def testSSH( self ): + "Simple test to verify that we can ssh into h1" result = False - # try to connect up to 3 times + # try to connect up to 3 times; sshd can take a while to start for _ in range( 3 ): result = self.connected() if result: @@ -54,7 +58,6 @@ def tearDown( self ): # remove public key pair sh( 'rm -rf /tmp/ssh' ) - if __name__ == '__main__': setLogLevel( 'warning' ) unittest.main()