From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53065) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZZQbQ-0000Yb-OA for qemu-devel@nongnu.org; Tue, 08 Sep 2015 17:38:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZZQbP-0003zX-Md for qemu-devel@nongnu.org; Tue, 08 Sep 2015 17:38:56 -0400 References: <1441047913-30596-1-git-send-email-mreitz@redhat.com> <1441047913-30596-3-git-send-email-mreitz@redhat.com> <55EF5251.90906@redhat.com> <55EF5347.8020503@redhat.com> <55EF5500.4080904@redhat.com> From: Max Reitz Message-ID: <55EF5567.7040809@redhat.com> Date: Tue, 8 Sep 2015 23:38:47 +0200 MIME-Version: 1.0 In-Reply-To: <55EF5500.4080904@redhat.com> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="61xbd2gAl1eRRkTgQmTXiPlVRwoFjfgcX" Subject: Re: [Qemu-devel] [Qemu-block] [PATCH 2/2] iotests: Warn if python subprocess is killed List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: John Snow , qemu-block@nongnu.org Cc: Kevin Wolf , qemu-devel@nongnu.org This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --61xbd2gAl1eRRkTgQmTXiPlVRwoFjfgcX Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable On 08.09.2015 23:37, John Snow wrote: >=20 >=20 > On 09/08/2015 05:29 PM, Max Reitz wrote: >> On 08.09.2015 23:25, John Snow wrote: >>> >>> >>> On 08/31/2015 03:05 PM, Max Reitz wrote: >>>> Currently, if a subprocess of a python test (i.e. qemu-io, >>>> qemu-img, or qemu) receives a signal and is subsequently >>>> aborted, this is not logged. >>>> >>>> This patch makes python tests always check the exit code of >>>> these subprocesses, and emit a message if they have been >>>> killed. >>>> >>>> Signed-off-by: Max Reitz ---=20 >>>> tests/qemu-iotests/iotests.py | 26 +++++++++++++++++++++----- 1 >>>> file changed, 21 insertions(+), 5 deletions(-) >>>> >>>> diff --git a/tests/qemu-iotests/iotests.py >>>> b/tests/qemu-iotests/iotests.py index 927c74a..d082597 100644=20 >>>> --- a/tests/qemu-iotests/iotests.py +++ >>>> b/tests/qemu-iotests/iotests.py @@ -49,20 +49,34 @@ >>>> socket_scm_helper =3D os.environ.get('SOCKET_SCM_HELPER', >>>> 'socket_scm_helper') def qemu_img(*args): '''Run qemu-img and >>>> return the exit code''' devnull =3D open('/dev/null', 'r+') - >>>> return subprocess.call(qemu_img_args + list(args), >>>> stdin=3Ddevnull, stdout=3Ddevnull) + exitcode =3D >>>> subprocess.call(qemu_img_args + list(args), stdin=3Ddevnull, >>>> stdout=3Ddevnull) + if exitcode < 0: + >>>> sys.stderr.write('qemu-img received signal %i: %s\n' % >>>> (-exitcode, ' '.join(qemu_img_args + list(args)))) + return >>>> exitcode >>>> >>> >>> Why tack on the arguments after the retcode for the print? The >>> format makes it look like it should be a description for the >>> signal received. >> >> qemu_img_args contains the qemu-img filename as well, so it should >> be obvious that that is the command line. >> >> For the "why": I hope it will make debugging easier by providing >> the exact command line so you can reproduce the problem outside of >> the test. >> >> Max >> >=20 > Sorry for being captain bikeshed: can this be something like: >=20 > "%s received signal %i; args: %s" >=20 > to avoid the string looking like it was meant to answer the question > of what the signal was? > I won't insist on it, though: >=20 > Reviewed-by: John Snow Well, feel free to fix it since it's already in master. :-) (also, compare how bash does it: > $FILE: line $LINE: $PID $SIGNAL_NAME (core dumped) ($ARGS) ) Max --61xbd2gAl1eRRkTgQmTXiPlVRwoFjfgcX Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJV71VnAAoJEDuxQgLoOKytibUH/Rz24Xhrk5vdtS+MXI0iTAJP aDmJhujTcsALA+FYQqmP0jkbzmwJxm8GwkosOUEbxRMHi+vv4rh/BrhGZ5Q0LAyn CmZJUY40cmgQ8MLp+iAxAJsoQ2TA4qbIFIZOWnbbS7mN0K5WJO/rkZZ7cvjsBzsq q99bKkQ5m3KDKt5RX5a+T305vVaKwq0i2uEjPVaBSez+byNVHM6ygFxKepeTkTpA 0h61D+nXHbiqB0La2wsu5CM9TapMzA+hjvP8RazudEwslpeCCUPEI97XRV9E2lJV /CU0YEz/3tqcujQvF9EaefXFz97bzXYKDdlNfEknPON1zuie3wY6QPVWnZAk4G4= =h1Cq -----END PGP SIGNATURE----- --61xbd2gAl1eRRkTgQmTXiPlVRwoFjfgcX--