On 14/09/16 10:17, Michal Privoznik wrote:
> Just like we are running 'virsh self-test' from within our test
> suite, we should run 'virt-admin self-test' too.
> 
> Signed-off-by: Michal Privoznik <mpriv...@redhat.com>
> ---
>  .gitignore                 |  1 +
>  tests/Makefile.am          |  1 +
>  tests/virsh-self-test      | 21 ++++++++++++++++-----
>  tests/virt-admin-self-test |  1 +
>  tools/virt-admin.c         |  1 +
>  5 files changed, 20 insertions(+), 5 deletions(-)
>  create mode 120000 tests/virt-admin-self-test
> 
> diff --git a/.gitignore b/.gitignore
> index e87c085..879ec24 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -169,6 +169,7 @@
>  /tests/qemucapsprobe
>  !/tests/virsh-self-test
>  !/tests/virt-aa-helper-test
> +!/tests/virt-admin-self-test
>  /tests/objectlocking
>  /tests/objectlocking-files.txt
>  /tests/objectlocking.cm[ix]
> diff --git a/tests/Makefile.am b/tests/Makefile.am
> index 0cd8391..924029a 100644
> --- a/tests/Makefile.am
> +++ b/tests/Makefile.am
> @@ -369,6 +369,7 @@ libvirtd_test_scripts =           \
>       virsh-read-non-seekable         \
>       virsh-schedinfo                 \
>       virsh-self-test                 \
> +     virt-admin-self-test                    \
>       virsh-start                     \
>       virsh-undefine                  \
>       virsh-uriprecedence             \
> diff --git a/tests/virsh-self-test b/tests/virsh-self-test
> index 641810f..22396bc 100755
> --- a/tests/virsh-self-test
> +++ b/tests/virsh-self-test
> @@ -21,14 +21,25 @@
>  
>  fail=0
>  
> -test_url=test:///default
> +basename=$(basename $0)
>  
> -test_intro "virsh-self-test"
> -$abs_top_builddir/tools/virsh -c $test_url self-test > /dev/null
> +if test "x$basename" = "xvirsh-self-test" ; then
> +    binary=virsh
> +    extra_args="-c test:///default"
> +elif test "x$basename" = "xvirt-admin-self-test" ; then
> +    binary=virt-admin
> +    extra_args=""
> +else
> +    echo "Unknown binary: $basename";
> +    exit 1
> +fi
> +
> +test_intro "$0"
> +$abs_top_builddir/tools/${binary} ${extra_args} self-test > /dev/null
>  status=$?
> -test_result 1 "virsh-self-test" $status
> +test_result 1 "$0" ${status}
>  
> -if test "$status" != "0" ; then
> +if test "${status}" != "0" ; then
>     fail=1
>  fi
>  
> diff --git a/tests/virt-admin-self-test b/tests/virt-admin-self-test
> new file mode 120000

Although a working solution, we would end up with two identical scripts.
How about extracting the generic bit (since you've already refactored
the hunk above, thus putting some effort into making it nicely generic),
and enclosing it into a separate function and a separate module, e.g.
self_test() and let's say module virt-shell-test (or whatever) and then
just source it the same way as we do it with test-lib.sh from within
virsh-self-test and virt-admin-self-test.

Erik

> index 0000000..d4ad624
> --- /dev/null
> +++ b/tests/virt-admin-self-test
> @@ -0,0 +1 @@
> +./virsh-self-test
> \ No newline at end of file
> diff --git a/tools/virt-admin.c b/tools/virt-admin.c
> index 12ec057..36c92f5 100644
> --- a/tools/virt-admin.c
> +++ b/tools/virt-admin.c
> @@ -1242,6 +1242,7 @@ static const vshCmdDef vshAdmCmds[] = {
>      VSH_CMD_HELP,
>      VSH_CMD_PWD,
>      VSH_CMD_QUIT,
> +    VSH_CMD_SELF_TEST,
>      {.name = "uri",
>       .handler = cmdURI,
>       .opts = NULL,
> 

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to