From 5bf6eba845d16b91b8a299b41c5048ab3dfe1c30 Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Sat, 6 Feb 2016 21:58:58 +0200 Subject: [PATCH] tests/open_plus: Add tests for "r+", "w+" open modes. --- tests/io/open_plus.py | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 tests/io/open_plus.py diff --git a/tests/io/open_plus.py b/tests/io/open_plus.py new file mode 100644 index 0000000000..e5530f2d52 --- /dev/null +++ b/tests/io/open_plus.py @@ -0,0 +1,42 @@ +import sys +try: + import uos as os +except ImportError: + import os + +if not hasattr(os, "unlink"): + print("SKIP") + sys.exit() + +# cleanup in case testfile exists +try: + os.unlink("testfile") +except OSError: + pass + +try: + f = open("testfile", "r+b") + print("Unexpectedly opened non-existing file") +except OSError: + print("Expected OSError") + pass + +f = open("testfile", "w+b") +f.write(b"1234567890") +f.seek(0) +print(f.read()) +f.close() + +# Open with truncation +f = open("testfile", "w+b") +f.write(b"abcdefg") +f.seek(0) +print(f.read()) +f.close() + +# Open without truncation +f = open("testfile", "r+b") +f.write(b"1234") +f.seek(0) +print(f.read()) +f.close()