1#! /usr/bin/env python 2# 3# This file is part of pySerial - Cross platform serial port support for Python 4# (C) 2017 Guillaume Galeazzi <[email protected]> 5# 6# SPDX-License-Identifier: BSD-3-Clause 7"""\ 8Some tests for the serial module. 9Part of pySerial (http://pyserial.sf.net) (C)2001-2011 [email protected] 10 11Intended to be run on different platforms, to ensure portability of 12the code. 13 14Cover some of the aspects of context management 15""" 16 17import unittest 18import serial 19 20# on which port should the tests be performed: 21PORT = 'loop://' 22 23 24class Test_Context(unittest.TestCase): 25 """Test context""" 26 27 def setUp(self): 28 # create a closed serial port 29 self.s = serial.serial_for_url(PORT) 30 31 def tearDown(self): 32 self.s.close() 33 34 def test_with_idempotent(self): 35 with self.s as stream: 36 stream.write(b'1234') 37 38 # do other stuff like calling an exe which use COM4 39 40 with self.s as stream: 41 stream.write(b'5678') 42 43 44if __name__ == '__main__': 45 import sys 46 sys.stdout.write(__doc__) 47 sys.argv[1:] = ['-v'] 48 # When this module is executed from the command-line, it runs all its tests 49 unittest.main() 50