Am 03.09.2020 um 14:54 hat Max Reitz geschrieben: > On 02.09.20 13:03, Kevin Wolf wrote: > > It is convenient to be able to edit the tests and run them without > > changing the current working directory back and forth. Instead of > > assuming that $PWD is the qemu-iotests build directory, derive the build > > directory from the executed script. > > > > This allows 'check' to find the required files even when called from > > another directory. The scratch directory will still be in the current > > working directory. > > > > Signed-off-by: Kevin Wolf <kw...@redhat.com> > > --- > > tests/qemu-iotests/check | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/tests/qemu-iotests/check b/tests/qemu-iotests/check > > index 3ab859ac1a..22ada6a549 100755 > > --- a/tests/qemu-iotests/check > > +++ b/tests/qemu-iotests/check > > @@ -44,7 +44,7 @@ then > > _init_error "failed to obtain source tree name from check symlink" > > fi > > source_iotests=$(cd "$source_iotests"; pwd) || _init_error "failed to > > enter source tree" > > - build_iotests=$PWD > > + build_iotests=$(dirname "$0") > > This breaks running check from the build tree. > (i.e. cd $build/tests/qemu-iotests; ./check) > > The problem is that to run the test, we do cd to the source directory > ($source_iotests), and so $build_iotests then becomes invalid if it’s > just a relative path. In my case, this leads to the following error: > > -Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576 > +./common.rc: line 139: $QEMU/tests/qemu-iotests/../../qemu-img: No such > file or directory
Ah, my symlinks in the source tree made it work for me. > I think this could be resolved by wrapping the $(dirname) in > $(realpath), i.e. > > build_iotests=$(realpath "$(dirname "$0")") Sounds good, I'll update it in my tree. Kevin
signature.asc
Description: PGP signature