On Fri, Sep 06, 2019 at 10:52:02AM -0400, Cleber Rosa wrote: > On Fri, Sep 06, 2019 at 11:43:58AM -0300, Eduardo Habkost wrote: > > On Fri, Sep 06, 2019 at 10:34:16AM +1000, David Gibson wrote: > > > On Thu, Sep 05, 2019 at 09:38:24AM -0400, Cleber Rosa wrote: > > > > On Thu, Sep 05, 2019 at 12:09:24PM +1000, David Gibson wrote: > > > > > On Wed, Sep 04, 2019 at 03:57:17PM -0400, Cleber Rosa wrote: > > > > > > > > > > > > Hi David, > > > > > > > > > > > > I've pushed a branch here (most of the commits have already been > > > > > > sent > > > > > > separately): > > > > > > > > > > > > https://github.com/clebergnu/qemu/tree/ppc64 > > > > > > > > > > > > I've tested on a RHEL 8 ppc64le Power 9, and it seems to work for > > > > > > me. > > > > > > My steps for building QEMU: > > > > > > > > > > > > - Configured with: '/home/cleber/src/qemu/configure' > > > > > > '--enable-slirp=git' '--python=/usr/bin/python3' > > > > > > '--target-list=x86_64-softmmu,ppc64-softmmu,arm-softmmu,aarch64-softmmu,mips-softmmu,mipsel-softmmu,mips64-softmmu,mips64el-softmmu,sh4-softmmu,s390x-softmmu,alpha-softmmu,m68k-softmmu,riscv64-softmmu' > > > > > > - make > > > > > > - make check-acceptance > > > > > > > > > > > > Would you be able to test if that branch works smoothly for you? > > > > > > > > > > So, with this tree I'm no longer getting problems if openssl-devel is > > > > > not installed, so that much looks good. > > > > > > > > > > I am getting some different errors - I was seeing this before (with > > > > > openssl-devel installed) sometimes, but only sometimes. I haven't yet > > > > > worked out a pattern for when they appeared. They also don't appear > > > > > to be fatal, the rest of the tests seem to be running ok. Any ideas? > > > > > > > > > > VENV /home/dwg/qemu/build/rhel8/tests/venv > > > > > PIP /home/dwg/qemu/tests/requirements.txt > > > > > AVOCADO tests/acceptance > > > > > Error running method "run" of plugin "html": 'Namespace' object has > > > > > no attribute 'get' > > > > > Error running method "run" of plugin "varianter_cit": 'Namespace' > > > > > object has no attribute 'get' > > > > > > > > Hi David, > > > > > > > > Yes, those should not be fatal. Anyway, they are caused by two things: > > > > > > > > 1) A second set of Avocado plugins installation with different versions > > > > than the Avocado installation on QEMU's tests venv > > > > > > Ah! That'll be from the Avocado setup that Lukaš set up on there for > > > some different tests. > > > > > > > 2) The tests' venv, which is created with "--system-site-packages", > > > > option that is described as "Give the virtual environment access > > > > to the system site-packages dir." > > > > > > > > The motivation to have "--system-site-packages" is that, if the user > > > > had any of the "requirements.txt" depedencies installed system wide, > > > > the venv would simply use it and skip downloads. Maybe we should make > > > > that an optional feature, disabled by default, so that the test's venv > > > > is better isolated and more predictable by default. > > > > > > If pip doesn't have good enough version tracking that it's verifying > > > the correct versions of the installed packages as well as the > > > presence, then yes I tend to agree that keeping it better isolated > > > would be preferable. > > > > pip ensures the right version of packages we request are > > installed, but Avocado plugins are separate packages and we don't > > tell pip anything about the plugins we are not using (but could be > > already installed in the system). > > Right. > > > > > Cleber, does Avocado have any kind of plugin API versioning, so > > it could detect incompatible plugins before using them? > > > > It does not. And while making an exact version match requirement > between plugins and core Avocado would be easy, it would put unfair > (IMO) requirements on plugin writers. It's quite possible that > an external plugin would work for many different avocado versions, > and the author wouldn't feel like updating it just to satisfy the > version check.
I agree that tying a plugin to a specific Avocado version seems too strict. Are there any rules about API stability that plugin writers can expect Avocado to follow? > > I'm not quite sure we should be trying to solve this problem here, but > I'm open to suggestions. This will probably become a minor problem once we stop using --system-site-packages by default. -- Eduardo