[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v7 5/8] Acceptance tests: keep a stable reference to the QEMU
From: |
Cleber Rosa |
Subject: |
Re: [PATCH v7 5/8] Acceptance tests: keep a stable reference to the QEMU build dir |
Date: |
Mon, 11 Nov 2019 17:38:44 -0500 |
User-agent: |
Mutt/1.12.1 (2019-06-15) |
On Thu, Nov 07, 2019 at 05:22:24PM -0200, Wainer dos Santos Moschetta wrote:
>
> On 11/4/19 1:13 PM, Cleber Rosa wrote:
> > This is related to the the differences in in-tree and out-of-tree
> > builds in QEMU. For simplification, <BLD> means my build directory.
> >
> > Currently, by running a `make check-acceptance` one gets (in
> > tests/acceptance/avocado_qemu/__init__.py):
> >
> > SRC_ROOT_DIR: <BLD>/tests/acceptance/avocado_qemu/../../..
> >
> > This in itself is problematic, because after the parent directories
> > are applied, one may be left not with a pointer to the build directory
> > as intended, but with the location of the source tree (assuming they
> > differ). Built binaries, such as qemu-img, are of course not there and
> > can't be found.
> >
> > Given that a Python '__file__' will contain the absolute path to the
> > file backing the module, say:
> >
> > __file__: <BLD>/tests/acceptance/avocado_qemu/__init__.py
> >
> > | 4 | 3 | 2 | 1 |
> >
> > A solution is to not "evaluate" the third parent dir (marked as 4
> > here) because that ends up following the "tests" directory symlink to
> > the source tree. In fact, there's no need to keep or evaluate any of
> > the parent directories, we can just drop the rightmost 4 components,
> > and we'll keep a stable reference to the build directory (with no
> > symlink being followed). This works for either a dedicated build
> > directory or also a combined source and build tree.
> >
> > Signed-off-by: Cleber Rosa <address@hidden>
> > ---
> > tests/acceptance/avocado_qemu/__init__.py | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/tests/acceptance/avocado_qemu/__init__.py
> > b/tests/acceptance/avocado_qemu/__init__.py
> > index 6618ea67c1..17ce583c87 100644
> > --- a/tests/acceptance/avocado_qemu/__init__.py
> > +++ b/tests/acceptance/avocado_qemu/__init__.py
> > @@ -16,7 +16,7 @@ import tempfile
> > import avocado
> > -SRC_ROOT_DIR = os.path.join(os.path.dirname(__file__), '..', '..', '..')
> > +SRC_ROOT_DIR =
> > os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(__file__))))
>
> In this case, wouldn't make sense to rename the constant from SRC_ROOT_DIR
> to BUILD_ROOT_DIR?
>
True. I remember thinking about doing that as a separate change and
ended up forgetting. Maybe it's better to just do it here.
> This patch looks good to me besides that.
>
> - Wainer
>
Thanks!
- Cleber.
- Re: [PATCH v7 4/8] Acceptance tests: use relative location for tests, (continued)
[PATCH v7 5/8] Acceptance tests: keep a stable reference to the QEMU build dir, Cleber Rosa, 2019/11/04
[PATCH v7 6/8] Acceptance tests: add the build directory to the system PATH, Cleber Rosa, 2019/11/04
Re: [PATCH v7 6/8] Acceptance tests: add the build directory to the system PATH, Philippe Mathieu-Daudé, 2019/11/08
[PATCH v7 7/8] Acceptance tests: depend on qemu-img, Cleber Rosa, 2019/11/04