serial: SerialBase with is idempotent
diff --git a/test/test_context.py b/test/test_context.py
new file mode 100755
index 0000000..456c85a
--- /dev/null
+++ b/test/test_context.py
@@ -0,0 +1,49 @@
+#! /usr/bin/env python

+#

+# This file is part of pySerial - Cross platform serial port support for Python

+# (C) 2017 Guillaume Galeazzi <guillaume.g@leazzi.ch>

+#

+# SPDX-License-Identifier:    BSD-3-Clause

+"""\

+Some tests for the serial module.

+Part of pySerial (http://pyserial.sf.net)  (C)2001-2011 cliechti@gmx.net

+

+Intended to be run on different platforms, to ensure portability of

+the code.

+

+Cover some of the aspects of context managment

+"""

+

+import unittest

+import serial

+

+# on which port should the tests be performed:

+PORT = 'loop://'

+

+

+class Test_Context(unittest.TestCase):

+    """Test context"""

+

+    def setUp(self):

+        # create a closed serial port

+        self.s = serial.serial_for_url(PORT)

+

+    def tearDown(self):

+        self.s.close()

+

+    def test_with_idempotent(self):

+        with self.s as stream:

+            stream.write(b'1234')

+

+        # do other stuff like calling an exe which use COM4

+

+        with self.s as stream:

+            stream.write(b'5678')

+

+

+if __name__ == '__main__':

+    import sys

+    sys.stdout.write(__doc__)

+    sys.argv[1:] = ['-v']

+    # When this module is executed from the command-line, it runs all its tests

+    unittest.main()