bpo-35633: test_lockf() fails with "PermissionError: [Errno 13] Permission denied" on AIX (GH-11424)

[bpo-35633](https://bugs.python.org/issue35633): Fix a test regression introduced with [bpo-35189](https://bugs.python.org/issue35189) (PEP 475: fnctl functions are not retried if interrupted (EINTR)).

Not only a blocking IO error needs to be ignored - permission errors also need to be ignored.

p.s. - iirc as a "test" only correction a NEWS item is not required. If this is not correct - just mention, and I'll add a NEWS blurb.


https://bugs.python.org/issue35633
This commit is contained in:
Michael Felt 2019-02-14 19:22:35 +01:00 committed by Miss Islington (bot)
parent 8a1657b934
commit b94d4bed67
1 changed files with 4 additions and 0 deletions

View File

@ -12,6 +12,7 @@ import contextlib
import faulthandler
import fcntl
import os
import platform
import select
import signal
import socket
@ -518,6 +519,9 @@ class FNTLEINTRTest(EINTRBaseTest):
self.stop_alarm()
proc.wait()
# Issue 35633: See https://bugs.python.org/issue35633#msg333662
# skip test rather than accept PermissionError from all platforms
@unittest.skipIf(platform.system() == "AIX", "AIX returns PermissionError")
def test_lockf(self):
self._lock(fcntl.lockf, "lockf")