Fix some resourcewarnings in the test suite

This commit is contained in:
Kovid Goyal 2021-06-24 08:57:22 +05:30
parent f1b3ed07f8
commit dd8aa42c17
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
3 changed files with 19 additions and 6 deletions

View File

@ -98,8 +98,9 @@ def initialize_constants():
__version__ = '%s.%s.%s'%(nv.group(1), nv.group(2), nv.group(3))
__appname__ = re.search(r'__appname__\s+=\s+(u{0,1})[\'"]([^\'"]+)[\'"]',
src).group(2)
epsrc = re.compile(r'entry_points = (\{.*?\})', re.DOTALL).\
search(open(os.path.join(SRC, 'calibre/linux.py'), 'rb').read().decode('utf-8')).group(1)
with open(os.path.join(SRC, 'calibre/linux.py'), 'rb') as sf:
epsrc = re.compile(r'entry_points = (\{.*?\})', re.DOTALL).\
search(sf.read().decode('utf-8')).group(1)
entry_points = eval(epsrc, {'__appname__': __appname__})
def e2b(ep):

View File

@ -148,6 +148,7 @@ elif islinux:
try:
eintr_retry_call(sock.bind, address)
except socket.error as err:
sock.close()
if getattr(err, 'errno', None) == errno.EADDRINUSE:
return
raise
@ -181,6 +182,7 @@ else:
eintr_retry_call(fcntl.lockf, f.fileno(), fcntl.LOCK_EX | fcntl.LOCK_NB)
return partial(_clean_lock_file, f)
except EnvironmentError as err:
f.close()
if err.errno not in (errno.EAGAIN, errno.EACCES):
raise

View File

@ -130,6 +130,7 @@ class IPCLockTest(unittest.TestCase):
while not os.path.exists('ready'):
time.sleep(0.01)
child.kill()
child.wait()
release_mutex = create_single_instance_mutex('test')
self.assertIsNotNone(release_mutex)
release_mutex()
@ -166,13 +167,22 @@ def other1():
def other2():
release_mutex = create_single_instance_mutex('test')
raise SystemExit(0 if release_mutex is None else 1)
if release_mutex is None:
ret = 0
else:
ret = 1
release_mutex()
raise SystemExit(ret)
def other3():
create_single_instance_mutex('test')
os.mkdir('ready')
time.sleep(30)
release_mutex = create_single_instance_mutex('test')
try:
os.mkdir('ready')
time.sleep(30)
finally:
if release_mutex is not None:
release_mutex()
def other4():