All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eduardo Habkost <ehabkost@redhat.com>
To: Cleber Rosa <crosa@redhat.com>
Cc: "Markus Armbruster" <armbru@redhat.com>,
	"Kevin Wolf" <kwolf@redhat.com>,
	"Peter Maydell" <peter.maydell@linaro.org>,
	"Fam Zheng" <famz@redhat.com>, Qemu-block <qemu-block@nongnu.org>,
	"Philippe Mathieu-Daudé" <philmd@redhat.com>,
	"Philippe Mathieu-Daudé" <f4bug@amsat.org>,
	"QEMU Developers" <qemu-devel@nongnu.org>,
	"Max Reitz" <mreitz@redhat.com>,
	"Alex Bennée" <alex.bennee@linaro.org>
Subject: Re: [Qemu-devel] [Qemu-block] [PATCH] tests: Fix Python 3 detection on older GNU make versions
Date: Thu, 8 Nov 2018 16:26:44 -0200	[thread overview]
Message-ID: <20181108182644.GP12503@habkost.net> (raw)
In-Reply-To: <d8782551-ca89-c70c-a2b9-0ba665171c63@redhat.com>

On Thu, Nov 08, 2018 at 12:36:37PM -0500, Cleber Rosa wrote:
> 
> 
> On 11/8/18 11:51 AM, Eduardo Habkost wrote:
> 
> > I'm not sure I agree with the "is an important thing to keep
> > track of" part.  I don't think we'll have any need to keep track
> > of the Python version in shell script or makefiles after we start
> > requiring Python 3.
> > 
> 
> Well, "Python 3" is not a uniform thing.  There are many changes across
> the 3.x spectrum that can bite you.  I'm speaking out of the experience
> with Avocado, that supports Python 3.4, 3.5 and 3.6 (and that reminds me
> we should add tests for 3.7).

Do you expect us to need to keep track of the exact Python
version before running the Python interpreter?  Code written in
Python doesn't count, because it can simply use sys.version_info.


> 
> > Extra cleanups (like moving version checks to ./configure) are
> > still welcome, but keep in mind that this will probably be thrown
> > away once we drop Python 2 support.
> > 
> 
> I don't think it should.  Let me give the example of a "Python 3.0" job
> on Travis, related to the following snippet:
> 
>     # Python builds
>     - env: CONFIG="--target-list=x86_64-softmmu"
>       python:
>         - "3.0"
> 
> If you look at https://travis-ci.org/clebergnu/qemu/jobs/452033247#L983
> you'll see that the intended goal was missed.  That has to do with how
> Travis makes the requested Python version available, and it was only
> obvious because this branch prints the Python version used.
> 
> Developers writing Python code, for instance tests, may assume a given
> API that doesn't exist or behave like they expect, and not knowing the
> Python version used on a remote environment makes debugging extra hard.

I'm not sure I get your point.  We can surely add diagnostic
messages to show the Python version, and we can make ./configure
fail if Python 3 is unavailable.  I'm talking about adding code
to ./configure to save Python version info for makefile rules and
shell scripts.  I expect the extra code to be unnecessary in the
future.

-- 
Eduardo

  reply	other threads:[~2018-11-08 18:27 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-31  0:31 [Qemu-devel] [PULL 00/15] Python queue, 2018-10-30 Eduardo Habkost
2018-10-31  0:31 ` [Qemu-devel] [PULL 01/15] scripts/device-crash-test: Remove devices that are not user_creatable anymore Eduardo Habkost
2018-10-31  0:31 ` [Qemu-devel] [PULL 02/15] iotests: Make nbd-fault-injector flush Eduardo Habkost
2018-10-31  0:31 ` [Qemu-devel] [PULL 03/15] iotests: Flush in iotests.py's QemuIoInteractive Eduardo Habkost
2018-10-31  0:31 ` [Qemu-devel] [PULL 04/15] iotests: Use Python byte strings where appropriate Eduardo Habkost
2018-10-31  0:31 ` [Qemu-devel] [PULL 05/15] iotests: Use // for Python integer division Eduardo Habkost
2018-10-31  0:31 ` [Qemu-devel] [PULL 06/15] iotests: Different iterator behavior in Python 3 Eduardo Habkost
2018-10-31  0:31 ` [Qemu-devel] [PULL 07/15] iotests: Explicitly bequeath FDs in Python Eduardo Habkost
2018-10-31  0:31 ` [Qemu-devel] [PULL 08/15] iotests: 'new' module replacement in 169 Eduardo Habkost
2018-10-31  0:31 ` [Qemu-devel] [PULL 09/15] iotests: Modify imports for Python 3 Eduardo Habkost
2018-10-31  0:31 ` [Qemu-devel] [PULL 10/15] iotests: Unify log outputs between Python 2 and 3 Eduardo Habkost
2018-10-31  0:31 ` [Qemu-devel] [PULL 11/15] Bootstrap Python venv for tests Eduardo Habkost
2018-11-06 13:10   ` Peter Maydell
2018-11-06 13:34     ` Philippe Mathieu-Daudé
2018-11-06 14:13       ` [Qemu-devel] [PATCH] tests: Fix Python 3 detection on older GNU make versions Eduardo Habkost
2018-11-06 14:27         ` Philippe Mathieu-Daudé
2018-11-06 14:38           ` Philippe Mathieu-Daudé
2018-11-06 15:40         ` Peter Maydell
2018-11-07  6:05         ` [Qemu-devel] [Qemu-block] " Markus Armbruster
2018-11-07 11:25           ` Peter Maydell
2018-11-07 12:49           ` Eduardo Habkost
2018-11-07 13:45             ` Peter Maydell
2018-11-07 15:34               ` Eduardo Habkost
2018-11-07 16:22                 ` Markus Armbruster
2018-11-08  1:13           ` Cleber Rosa
2018-11-08  8:45             ` Markus Armbruster
2018-11-08  9:11               ` Philippe Mathieu-Daudé
2018-11-08 12:43                 ` Markus Armbruster
2018-11-09 17:58                   ` Max Reitz
2018-11-12  9:07                     ` Markus Armbruster
2018-11-08 16:06               ` Cleber Rosa
2018-11-08 16:51                 ` Eduardo Habkost
2018-11-08 17:36                   ` Cleber Rosa
2018-11-08 18:26                     ` Eduardo Habkost [this message]
2018-11-09  0:31                       ` Cleber Rosa
2018-10-31  0:31 ` [Qemu-devel] [PULL 12/15] Acceptance tests: add make rule for running them Eduardo Habkost
2018-11-06 23:24   ` Paolo Bonzini
2018-11-28 17:25     ` Eduardo Habkost
2018-10-31  0:31 ` [Qemu-devel] [PULL 13/15] Travis support for the acceptance tests Eduardo Habkost
2018-10-31  0:31 ` [Qemu-devel] [PULL 14/15] scripts/decodetree.py: fix reference to attributes Eduardo Habkost
2018-10-31  0:31 ` [Qemu-devel] [PULL 15/15] scripts/qemu.py: use a more consistent docstring style Eduardo Habkost
2018-11-01  5:02 ` [Qemu-devel] [PULL 00/15] Python queue, 2018-10-30 no-reply
2018-11-01 13:54 ` Peter Maydell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181108182644.GP12503@habkost.net \
    --to=ehabkost@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=armbru@redhat.com \
    --cc=crosa@redhat.com \
    --cc=f4bug@amsat.org \
    --cc=famz@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=mreitz@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=philmd@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.