1#! /usr/bin/env python 2# 3# This file is part of pySerial - Cross platform serial port support for Python 4# (C) 2015 Chris Liechti <cliechti@gmx.net> 5# 6# SPDX-License-Identifier: BSD-3-Clause 7"""\ 8Test RFC 2217 related functionality. 9""" 10 11import unittest 12import serial 13import serial.rfc2217 14 15 16class Test_RFC2217(unittest.TestCase): 17 """Test RFC 2217 related functionality""" 18 19 def test_failed_connection(self): 20 # connection to closed port 21 s = serial.serial_for_url('rfc2217://127.99.99.99:2217', do_not_open=True) 22 self.assertRaises(serial.SerialException, s.open) 23 self.assertFalse(s.is_open) 24 s.close() # no errors expected 25 # invalid address 26 s = serial.serial_for_url('rfc2217://127goingtofail', do_not_open=True) 27 self.assertRaises(serial.SerialException, s.open) 28 self.assertFalse(s.is_open) 29 s.close() # no errors expected 30 # close w/o open is also OK 31 s = serial.serial_for_url('rfc2217://irrelevant', do_not_open=True) 32 self.assertFalse(s.is_open) 33 s.close() # no errors expected 34 35 36if __name__ == '__main__': 37 import sys 38 sys.stdout.write(__doc__) 39 sys.stdout.write("Testing connection on localhost\n") 40 sys.argv[1:] = ['-v'] 41 # When this module is executed from the command-line, it runs all its tests 42 unittest.main() 43