From: Skip Montanaro Date: Fri, 17 Jun 2005 01:14:49 +0000 (+0000) Subject: Add tests for posix O_SHLOCK & O_EXLOCK. Missed checking this in with X-Git-Tag: v2.5a0~1684 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=98470002672dd10c4b28763f26ed2f2320fac647;p=thirdparty%2FPython%2Fcpython.git Add tests for posix O_SHLOCK & O_EXLOCK. Missed checking this in with posixmodule.c 2.335. Really should be considered part of patch #1103951. --- diff --git a/Lib/test/test_posix.py b/Lib/test/test_posix.py index 24e5b1ced623..1ccc62bdf27d 100644 --- a/Lib/test/test_posix.py +++ b/Lib/test/test_posix.py @@ -94,6 +94,37 @@ class PosixTester(unittest.TestCase): self.fdopen_helper('r') self.fdopen_helper('r', 100) + def test_osexlock(self): + if hasattr(posix, "O_EXLOCK"): + fd = os.open(test_support.TESTFN, + os.O_WRONLY|os.O_EXLOCK|os.O_CREAT) + self.assertRaises(OSError, os.open, test_support.TESTFN, + os.O_WRONLY|os.O_EXLOCK|os.O_NONBLOCK) + os.close(fd) + + if hasattr(posix, "O_SHLOCK"): + fd = os.open(test_support.TESTFN, + os.O_WRONLY|os.O_SHLOCK|os.O_CREAT) + self.assertRaises(OSError, os.open, test_support.TESTFN, + os.O_WRONLY|os.O_EXLOCK|os.O_NONBLOCK) + os.close(fd) + + def test_osshlock(self): + if hasattr(posix, "O_SHLOCK"): + fd1 = os.open(test_support.TESTFN, + os.O_WRONLY|os.O_SHLOCK|os.O_CREAT) + fd2 = os.open(test_support.TESTFN, + os.O_WRONLY|os.O_SHLOCK|os.O_CREAT) + os.close(fd2) + os.close(fd1) + + if hasattr(posix, "O_EXLOCK"): + fd = os.open(test_support.TESTFN, + os.O_WRONLY|os.O_SHLOCK|os.O_CREAT) + self.assertRaises(OSError, os.open, test_support.TESTFN, + os.O_RDONLY|os.O_EXLOCK|os.O_NONBLOCK) + os.close(fd) + def test_fstat(self): if hasattr(posix, 'fstat'): fp = open(test_support.TESTFN)