Add signal handling for SIGTERM in addition to SIGINT #1259
Build #20250131.4 had test failures
Details
- Failed: 20 (0.08%)
- Passed: 19,918 (83.51%)
- Other: 3,914 (16.41%)
- Total: 23,852
- 2147 of 2353 line covered (91.25%)
Annotations
Check failure on line 2248 in Build log
azure-pipelines / jpype.build
Build log #L2248
Cmd.exe exited with code '1'.
Check failure on line 2209 in Build log
azure-pipelines / jpype.build
Build log #L2209
Cmd.exe exited with code '1'.
Check failure on line 2248 in Build log
azure-pipelines / jpype.build
Build log #L2248
Cmd.exe exited with code '1'.
Check failure on line 2206 in Build log
azure-pipelines / jpype.build
Build log #L2206
Cmd.exe exited with code '1'.
Check failure on line 1 in testSigInt
azure-pipelines / jpype.build
testSigInt
AssertionError: function <function _hook at 0x000001E4F88396C0> FAILED with args: ('D:\\a\\1\\s\\test\\jpypetest\\test_signals.py', 'SignalsTest', '_testSigInt') and kwargs: {}
Raw output
self = <subrun.Client object at 0x000001E4FD7C9BA0>
function = <function _hook at 0x000001E4F88396C0>
args = ('D:\\a\\1\\s\\test\\jpypetest\\test_signals.py', 'SignalsTest', '_testSigInt')
kwargs = {}
def execute(self, function, *args, **kwargs):
self.inQueue.put([function.__name__, os.path.abspath(
inspect.getfile(function)), args, kwargs])
try:
> (ret, out, ex) = self.outQueue.get(True, self.timeout)
test\jpypetest\subrun.py:85:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <multiprocessing.queues.Queue object at 0x000001E4FD7C99C0>, block = True
timeout = 20.0
def get(self, block=True, timeout=None):
if self._closed:
raise ValueError(f"Queue {self!r} is closed")
if block and timeout is None:
with self._rlock:
res = self._recv_bytes()
self._sem.release()
else:
if block:
deadline = time.monotonic() + timeout
if not self._rlock.acquire(block, timeout):
raise Empty
try:
if block:
timeout = deadline - time.monotonic()
if not self._poll(timeout):
> raise Empty
E _queue.Empty
C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\multiprocessing\queues.py:114: Empty
During handling of the above exception, another exception occurred:
self = <subrun._prepare.<locals>.ProxyMethod object at 0x000001E4F8BF9510>
def __call__(self):
> ProxyClass._client.execute(_hook, filename, clsname, self.name)
test\jpypetest\subrun.py:172:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <subrun.Client object at 0x000001E4FD7C9BA0>
function = <function _hook at 0x000001E4F88396C0>
args = ('D:\\a\\1\\s\\test\\jpypetest\\test_signals.py', 'SignalsTest', '_testSigInt')
kwargs = {}
def execute(self, function, *args, **kwargs):
self.inQueue.put([function.__name__, os.path.abspath(
inspect.getfile(function)), args, kwargs])
try:
(ret, out, ex) = self.outQueue.get(True, self.timeout)
except queue.Empty:
> raise AssertionError("function {func} FAILED with args: {args} and kwargs: {kwargs}"
.format(func=function, args=args, kwargs=kwargs))
E AssertionError: function <function _hook at 0x000001E4F88396C0> FAILED with args: ('D:\\a\\1\\s\\test\\jpypetest\\test_signals.py', 'SignalsTest', '_testSigInt') and kwargs: {}
test\jpypetest\subrun.py:87: AssertionError
Check failure on line 1 in testSigInt
azure-pipelines / jpype.build
testSigInt
failed on teardown with "AssertionError: function <function _hook at 0x000001E4F88396C0> FAILED with args: ('D:\\a\\1\\s\\test\\jpypetest\\test_signals.py', 'SignalsTest', '_tearDown') and kwargs: {}"
Raw output
self = <subrun.Client object at 0x000001E4FD7C9BA0>
function = <function _hook at 0x000001E4F88396C0>
args = ('D:\\a\\1\\s\\test\\jpypetest\\test_signals.py', 'SignalsTest', '_tearDown')
kwargs = {}
def execute(self, function, *args, **kwargs):
self.inQueue.put([function.__name__, os.path.abspath(
inspect.getfile(function)), args, kwargs])
try:
> (ret, out, ex) = self.outQueue.get(True, self.timeout)
test\jpypetest\subrun.py:85:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <multiprocessing.queues.Queue object at 0x000001E4FD7C99C0>, block = True
timeout = 20.0
def get(self, block=True, timeout=None):
if self._closed:
raise ValueError(f"Queue {self!r} is closed")
if block and timeout is None:
with self._rlock:
res = self._recv_bytes()
self._sem.release()
else:
if block:
deadline = time.monotonic() + timeout
if not self._rlock.acquire(block, timeout):
raise Empty
try:
if block:
timeout = deadline - time.monotonic()
if not self._poll(timeout):
> raise Empty
E _queue.Empty
C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\multiprocessing\queues.py:114: Empty
During handling of the above exception, another exception occurred:
self = <subrun._prepare.<locals>.ProxyClass testMethod=testSigInt>
def tearDown(self):
> ProxyClass._client.execute(_hook, filename, clsname, '_tearDown')
test\jpypetest\subrun.py:163:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <subrun.Client object at 0x000001E4FD7C9BA0>
function = <function _hook at 0x000001E4F88396C0>
args = ('D:\\a\\1\\s\\test\\jpypetest\\test_signals.py', 'SignalsTest', '_tearDown')
kwargs = {}
def execute(self, function, *args, **kwargs):
self.inQueue.put([function.__name__, os.path.abspath(
inspect.getfile(function)), args, kwargs])
try:
(ret, out, ex) = self.outQueue.get(True, self.timeout)
except queue.Empty:
> raise AssertionError("function {func} FAILED with args: {args} and kwargs: {kwargs}"
.format(func=function, args=args, kwargs=kwargs))
E AssertionError: function <function _hook at 0x000001E4F88396C0> FAILED with args: ('D:\\a\\1\\s\\test\\jpypetest\\test_signals.py', 'SignalsTest', '_tearDown') and kwargs: {}
test\jpypetest\subrun.py:87: AssertionError
Check failure on line 1 in testSigTerm
azure-pipelines / jpype.build
testSigTerm
AssertionError: function <function _hook at 0x000001E4F88396C0> FAILED with args: ('D:\\a\\1\\s\\test\\jpypetest\\test_signals.py', 'SignalsTest', '_setUp') and kwargs: {}
Raw output
self = <subrun.Client object at 0x000001E4FD7C9BA0>
function = <function _hook at 0x000001E4F88396C0>
args = ('D:\\a\\1\\s\\test\\jpypetest\\test_signals.py', 'SignalsTest', '_setUp')
kwargs = {}
def execute(self, function, *args, **kwargs):
self.inQueue.put([function.__name__, os.path.abspath(
inspect.getfile(function)), args, kwargs])
try:
> (ret, out, ex) = self.outQueue.get(True, self.timeout)
test\jpypetest\subrun.py:85:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <multiprocessing.queues.Queue object at 0x000001E4FD7C99C0>, block = True
timeout = 20.0
def get(self, block=True, timeout=None):
if self._closed:
raise ValueError(f"Queue {self!r} is closed")
if block and timeout is None:
with self._rlock:
res = self._recv_bytes()
self._sem.release()
else:
if block:
deadline = time.monotonic() + timeout
if not self._rlock.acquire(block, timeout):
raise Empty
try:
if block:
timeout = deadline - time.monotonic()
if not self._poll(timeout):
> raise Empty
E _queue.Empty
C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\multiprocessing\queues.py:114: Empty
During handling of the above exception, another exception occurred:
self = <subrun._prepare.<locals>.ProxyClass testMethod=testSigTerm>
def setUp(self):
if common.fast:
raise unittest.SkipTest("fast")
if individual:
ProxyClass._client.restart()
> ProxyClass._client.execute(_hook, filename, clsname, '_setUp')
test\jpypetest\subrun.py:153:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <subrun.Client object at 0x000001E4FD7C9BA0>
function = <function _hook at 0x000001E4F88396C0>
args = ('D:\\a\\1\\s\\test\\jpypetest\\test_signals.py', 'SignalsTest', '_setUp')
kwargs = {}
def execute(self, function, *args, **kwargs):
self.inQueue.put([function.__name__, os.path.abspath(
inspect.getfile(function)), args, kwargs])
try:
(ret, out, ex) = self.outQueue.get(True, self.timeout)
except queue.Empty:
> raise AssertionError("function {func} FAILED with args: {args} and kwargs: {kwargs}"
.format(func=function, args=args, kwargs=kwargs))
E AssertionError: function <function _hook at 0x000001E4F88396C0> FAILED with args: ('D:\\a\\1\\s\\test\\jpypetest\\test_signals.py', 'SignalsTest', '_setUp') and kwargs: {}
test\jpypetest\subrun.py:87: AssertionError
Check failure on line 1 in testSigTerm
azure-pipelines / jpype.build
testSigTerm
failed on teardown with "AssertionError: function <function _hook at 0x000001E4F88396C0> FAILED with args: ('D:\\a\\1\\s\\test\\jpypetest\\test_signals.py', 'SignalsTest', '_tearDownClass') and kwargs: {}"
Raw output
self = <subrun.Client object at 0x000001E4FD7C9BA0>
function = <function _hook at 0x000001E4F88396C0>
args = ('D:\\a\\1\\s\\test\\jpypetest\\test_signals.py', 'SignalsTest', '_tearDownClass')
kwargs = {}
def execute(self, function, *args, **kwargs):
self.inQueue.put([function.__name__, os.path.abspath(
inspect.getfile(function)), args, kwargs])
try:
> (ret, out, ex) = self.outQueue.get(True, self.timeout)
test\jpypetest\subrun.py:85:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <multiprocessing.queues.Queue object at 0x000001E4FD7C99C0>, block = True
timeout = 20.0
def get(self, block=True, timeout=None):
if self._closed:
raise ValueError(f"Queue {self!r} is closed")
if block and timeout is None:
with self._rlock:
res = self._recv_bytes()
self._sem.release()
else:
if block:
deadline = time.monotonic() + timeout
if not self._rlock.acquire(block, timeout):
raise Empty
try:
if block:
timeout = deadline - time.monotonic()
if not self._poll(timeout):
> raise Empty
E _queue.Empty
C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\multiprocessing\queues.py:114: Empty
During handling of the above exception, another exception occurred:
cls = <class 'subrun._prepare.<locals>.ProxyClass'>
@classmethod
def tearDownClass(cls):
> ProxyClass._client.execute(
_hook, filename, clsname, '_tearDownClass')
test\jpypetest\subrun.py:139:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <subrun.Client object at 0x000001E4FD7C9BA0>
function = <function _hook at 0x000001E4F88396C0>
args = ('D:\\a\\1\\s\\test\\jpypetest\\test_signals.py', 'SignalsTest', '_tearDownClass')
kwargs = {}
def execute(self, function, *args, **kwargs):
self.inQueue.put([function.__name__, os.path.abspath(
inspect.getfile(function)), args, kwargs])
try:
(ret, out, ex) = self.outQueue.get(True, self.timeout)
except queue.Empty:
> raise AssertionError("function {func} FAILED with args: {args} and kwargs: {kwargs}"
.format(func=function, args=args, kwargs=kwargs))
E AssertionError: function <function _hook at 0x000001E4F88396C0> FAILED with args: ('D:\\a\\1\\s\\test\\jpypetest\\test_signals.py', 'SignalsTest', '_tearDownClass') and kwargs: {}
test\jpypetest\subrun.py:87: AssertionError