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

View File

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

View File

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