blob: a65a626d2bb204990f14e4560b862097a1ac2870 [file] [log] [blame]
Guillaume Galeazzi48a5ce12017-06-28 16:21:46 +02001#! /usr/bin/env python
2#
3# This file is part of pySerial - Cross platform serial port support for Python
4# (C) 2017 Guillaume Galeazzi <guillaume.g@leazzi.ch>
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 cliechti@gmx.net
10
11Intended to be run on different platforms, to ensure portability of
12the code.
13
Pierre Grimaud14259d62021-04-19 21:37:33 +020014Cover some of the aspects of context management
Guillaume Galeazzi48a5ce12017-06-28 16:21:46 +020015"""
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()