Message ID | 20220702185604.46643-1-peter@pjd.dev (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | avocado: Fix BUILD_DIR if it's equal to SOURCE_DIR | expand |
On Sat, Jul 02, 2022 at 11:56:04AM -0700, Peter Delevoryas wrote: > I like to build QEMU from the root source directory, rather than cd'ing > into the build directory. This code may as well include a search path > for that, so that you can run avocado tests individually without > specifying "-p qemu_bin=build/qemu-system-arm" manually. Pinging this thread since I didn't get a response. > > Signed-off-by: Peter Delevoryas <peter@pjd.dev> > --- > tests/avocado/avocado_qemu/__init__.py | 17 +++++++++-------- > 1 file changed, 9 insertions(+), 8 deletions(-) > > diff --git a/tests/avocado/avocado_qemu/__init__.py b/tests/avocado/avocado_qemu/__init__.py > index b656a70c55..ed4853c805 100644 > --- a/tests/avocado/avocado_qemu/__init__.py > +++ b/tests/avocado/avocado_qemu/__init__.py > @@ -120,14 +120,15 @@ def pick_default_qemu_bin(bin_prefix='qemu-system-', arch=None): > # qemu binary path does not match arch for powerpc, handle it > if 'ppc64le' in arch: > arch = 'ppc64' > - qemu_bin_relative_path = os.path.join(".", bin_prefix + arch) > - if is_readable_executable_file(qemu_bin_relative_path): > - return qemu_bin_relative_path > - > - qemu_bin_from_bld_dir_path = os.path.join(BUILD_DIR, > - qemu_bin_relative_path) > - if is_readable_executable_file(qemu_bin_from_bld_dir_path): > - return qemu_bin_from_bld_dir_path > + qemu_bin_name = bin_prefix + arch > + qemu_bin_paths = [ > + os.path.join(".", qemu_bin_name), > + os.path.join(BUILD_DIR, qemu_bin_name), > + os.path.join(BUILD_DIR, "build", qemu_bin_name), Thinking about how to write this last line again, maybe it should actually be "os.path.join(SOURCE_DIR, "build", qemu_bin_name)"? > + ] > + for path in qemu_bin_paths: > + if is_readable_executable_file(path): > + return path > return None > > > -- > 2.37.0 > >
On 2/7/22 20:56, Peter Delevoryas wrote: > I like to build QEMU from the root source directory, rather than cd'ing > into the build directory. This code may as well include a search path > for that, so that you can run avocado tests individually without > specifying "-p qemu_bin=build/qemu-system-arm" manually. > > Signed-off-by: Peter Delevoryas <peter@pjd.dev> > --- > tests/avocado/avocado_qemu/__init__.py | 17 +++++++++-------- > 1 file changed, 9 insertions(+), 8 deletions(-) > > diff --git a/tests/avocado/avocado_qemu/__init__.py b/tests/avocado/avocado_qemu/__init__.py > index b656a70c55..ed4853c805 100644 > --- a/tests/avocado/avocado_qemu/__init__.py > +++ b/tests/avocado/avocado_qemu/__init__.py > @@ -120,14 +120,15 @@ def pick_default_qemu_bin(bin_prefix='qemu-system-', arch=None): > # qemu binary path does not match arch for powerpc, handle it > if 'ppc64le' in arch: > arch = 'ppc64' > - qemu_bin_relative_path = os.path.join(".", bin_prefix + arch) > - if is_readable_executable_file(qemu_bin_relative_path): > - return qemu_bin_relative_path > - > - qemu_bin_from_bld_dir_path = os.path.join(BUILD_DIR, > - qemu_bin_relative_path) > - if is_readable_executable_file(qemu_bin_from_bld_dir_path): > - return qemu_bin_from_bld_dir_path > + qemu_bin_name = bin_prefix + arch > + qemu_bin_paths = [ > + os.path.join(".", qemu_bin_name), > + os.path.join(BUILD_DIR, qemu_bin_name), > + os.path.join(BUILD_DIR, "build", qemu_bin_name), I suppose you are building as pseudo-in-tree (see commit dedad02720: "configure: add support for pseudo-"in source tree" builds"). OK. > + ] > + for path in qemu_bin_paths: > + if is_readable_executable_file(path): > + return path > return None > > Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> And queued.
On Tue, Jul 12, 2022 at 11:53:14PM +0200, Philippe Mathieu-Daudé wrote: > On 2/7/22 20:56, Peter Delevoryas wrote: > > I like to build QEMU from the root source directory, rather than cd'ing > > into the build directory. This code may as well include a search path > > for that, so that you can run avocado tests individually without > > specifying "-p qemu_bin=build/qemu-system-arm" manually. > > > > Signed-off-by: Peter Delevoryas <peter@pjd.dev> > > --- > > tests/avocado/avocado_qemu/__init__.py | 17 +++++++++-------- > > 1 file changed, 9 insertions(+), 8 deletions(-) > > > > diff --git a/tests/avocado/avocado_qemu/__init__.py b/tests/avocado/avocado_qemu/__init__.py > > index b656a70c55..ed4853c805 100644 > > --- a/tests/avocado/avocado_qemu/__init__.py > > +++ b/tests/avocado/avocado_qemu/__init__.py > > @@ -120,14 +120,15 @@ def pick_default_qemu_bin(bin_prefix='qemu-system-', arch=None): > > # qemu binary path does not match arch for powerpc, handle it > > if 'ppc64le' in arch: > > arch = 'ppc64' > > - qemu_bin_relative_path = os.path.join(".", bin_prefix + arch) > > - if is_readable_executable_file(qemu_bin_relative_path): > > - return qemu_bin_relative_path > > - > > - qemu_bin_from_bld_dir_path = os.path.join(BUILD_DIR, > > - qemu_bin_relative_path) > > - if is_readable_executable_file(qemu_bin_from_bld_dir_path): > > - return qemu_bin_from_bld_dir_path > > + qemu_bin_name = bin_prefix + arch > > + qemu_bin_paths = [ > > + os.path.join(".", qemu_bin_name), > > + os.path.join(BUILD_DIR, qemu_bin_name), > > + os.path.join(BUILD_DIR, "build", qemu_bin_name), > > I suppose you are building as pseudo-in-tree (see commit dedad02720: > "configure: add support for pseudo-"in source tree" builds"). OK. That's right, thanks for adding the reference in the commit message. > > > + ] > > + for path in qemu_bin_paths: > > + if is_readable_executable_file(path): > > + return path > > return None > > Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Thanks!! Peter > > And queued.
diff --git a/tests/avocado/avocado_qemu/__init__.py b/tests/avocado/avocado_qemu/__init__.py index b656a70c55..ed4853c805 100644 --- a/tests/avocado/avocado_qemu/__init__.py +++ b/tests/avocado/avocado_qemu/__init__.py @@ -120,14 +120,15 @@ def pick_default_qemu_bin(bin_prefix='qemu-system-', arch=None): # qemu binary path does not match arch for powerpc, handle it if 'ppc64le' in arch: arch = 'ppc64' - qemu_bin_relative_path = os.path.join(".", bin_prefix + arch) - if is_readable_executable_file(qemu_bin_relative_path): - return qemu_bin_relative_path - - qemu_bin_from_bld_dir_path = os.path.join(BUILD_DIR, - qemu_bin_relative_path) - if is_readable_executable_file(qemu_bin_from_bld_dir_path): - return qemu_bin_from_bld_dir_path + qemu_bin_name = bin_prefix + arch + qemu_bin_paths = [ + os.path.join(".", qemu_bin_name), + os.path.join(BUILD_DIR, qemu_bin_name), + os.path.join(BUILD_DIR, "build", qemu_bin_name), + ] + for path in qemu_bin_paths: + if is_readable_executable_file(path): + return path return None
I like to build QEMU from the root source directory, rather than cd'ing into the build directory. This code may as well include a search path for that, so that you can run avocado tests individually without specifying "-p qemu_bin=build/qemu-system-arm" manually. Signed-off-by: Peter Delevoryas <peter@pjd.dev> --- tests/avocado/avocado_qemu/__init__.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-)