在 2016-10-16 1:27, Max Reitz 写道:
On 13.10.2016 07:20, Hao QingFeng wrote:
在 2016-10-13 3:46, Max Reitz 写道:
On 12.10.2016 10:55, Hao QingFeng wrote:
Max,
Just a common question for this case, if sshx block driver wasn't built
into qemu-img, this case would fail as below:
Good point, and thanks for bringing it up, but it's not directly linked
to this series other than by its subject, of course, so I'd rather add a
fix on top.
Thanks and sorry for sending to the improper mail series.
exec /home/haoqf/KVMonz/qemu/tests/qemu-iotests/../../qemu-img info
--image-opts driver=ssh,host=localhost,port=0.42,path=/foo
qemu-img: Could not open
'driver=ssh,host=localhost,port=0.42,path=/foo': Unknown driver 'ssh'
Adding 162.notrun can bypass this case but it would skip it even if
qemu-img has sshx block driver, in which case I think it should be run.
So How about adding a script to dynamically check at runtime if the
current env qemu-img can meet the requirement to run the test or not?
Unfortunately, the list of block drivers listed by will not contain ssh
if ssh is built as a module, which is possible.
Actually I am not sure if I understood it. Do you mean
"CONFIG_LIBSSH2=m" set
rather than "CONFIG_LIBSSH2=y" in config-host.mak? But in the configure
it's
set to be "CONFIG_LIBSSH2=y":
if test "$libssh2" = "yes" ; then
echo "CONFIG_LIBSSH2=y" >> $config_host_mak
echo "LIBSSH2_CFLAGS=$libssh2_cflags" >> $config_host_mak
echo "LIBSSH2_LIBS=$libssh2_libs" >> $config_host_mak
fi
I don't know which version of qemu you are looking at, but on master it
says "m" instead of "y" there:
http://git.qemu.org/?p=qemu.git;a=blob;f=configure;h=dd9e6792bbe04411d81eb5438d58eb1999d4dcd2;hb=HEAD#l5477
Meanwhile I changed it to be "CONFIG_LIBSSH2=m" and reconfig, make the
qemu,
qemu-img --help can still prompt ssh.
Have you tried building master with --enable-modules specified for
configure?
You are right, I tried the latest master code(commit
b49e452fe994f8fbcd2) with
"./configure --target-list=s390x-softmmu --enable-debug --enable-modules
--enable-libssh2 --prefix=/usr"
and qemu-img --help didn't include the ssh and CONFIG_LIBSSH2=m in
config-host.mak.
Maybe it was changed in recent code. So how to deal with this case for
162 or just ignore it now?
thanks!
Max
This is a bug that should be fixed, but I'd rather do so in a separate
series from this one.
In any case, once it is fixed I'd rather just take the approach quorum
tests take already (e.g. test 081), which is something like:
test_ssh=$($QEMU_IMG --help | grep '^Supported formats:.* ssh\( \|$\)')
[ "$test_ssh" = "" ] && _notrun "ssh support required"
Cool. Agree with this like what was done in 081. thanks
Max
--
QingFeng Hao(Robin)