Re: [PATCH] tests: Move tools under tests/tools/

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 5/7/19 1:15 PM, Daniel P. Berrangé wrote:
On Tue, May 07, 2019 at 12:49:18PM +0200, Michal Privoznik wrote:
On 5/7/19 11:13 AM, Daniel P. Berrangé wrote:
On Mon, May 06, 2019 at 10:01:37AM +0200, Michal Privoznik wrote:
There are some scripts/binaries that are not tests themselves but
rather fulfill support purpose. Separate them from the rest of
the tests.

Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx>
---
   .gitignore                                  |  2 +-
   Makefile.am                                 |  2 +-
   cfg.mk                                      |  4 +-
   configure.ac                                |  1 +
   tests/Makefile.am                           | 22 +-----
   tests/qemucapabilitiestest.c                |  4 +-
   tests/testutils.c                           |  2 +-
   tests/{ => tools}/.valgrind.supp            |  0
   tests/tools/Makefile.am                     | 85 +++++++++++++++++++++
   tests/{ => tools}/check-file-access.pl      |  0
   tests/{ => tools}/file_access_whitelist.txt |  0
   tests/{ => tools}/group-qemu-caps.pl        |  0
   tests/{ => tools}/oomtrace.pl               |  0
   tests/{ => tools}/qemucapsprobe.c           |  0
   tests/{ => tools}/qemucapsprobemock.c       |  0
   tests/{ => tools}/test-wrap-argv.pl         |  2 +-
   16 files changed, 98 insertions(+), 26 deletions(-)
   rename tests/{ => tools}/.valgrind.supp (100%)
   create mode 100644 tests/tools/Makefile.am
   rename tests/{ => tools}/check-file-access.pl (100%)
   rename tests/{ => tools}/file_access_whitelist.txt (100%)
   rename tests/{ => tools}/group-qemu-caps.pl (100%)
   rename tests/{ => tools}/oomtrace.pl (100%)
   rename tests/{ => tools}/qemucapsprobe.c (100%)
   rename tests/{ => tools}/qemucapsprobemock.c (100%)
   rename tests/{ => tools}/test-wrap-argv.pl (98%)

If we're going to re-arrange our tests, then I would really like to
see the goal be to remove the top level "tests/" directory entirely.

Instead move the tests under the src/ sub-directory that corresponds
to the code being tested. eg we should have src/util/virhashtest.c
alongside src/util/virhash.c  So instead of one giant test dir we
have everything distributed.

That way if you are running "make" in the src/ directory, you don't
need to change dir to do tests.

I don't know what your workflow is, but I have a terminal open at toplevel libvirt.git and then run vim over individual files, e.g.

libvirt.git $ vim src/qemu/qemu_driver.c
libvirt.git $ vim tools/virsh.c

This way I can have tags in libvirt.git and can access them from whatever file I'm in. Running binaries is a bit more verbose:

libvirt.git $ ./src/libvirtd --listen

For tests I have a separate terminal open which entered tests:

libvirt.git/tests $

So the benefin of having virhashtest next to virhash.c highly depends on one's workflow.

It will also let us split up the
ever growing set of makefile rules for tests.

How is that? Won't we have to have the rules to build tests in
src/Makefile.am?

Most of the rules will be in the many  src/*/Makefile.in.am files

Yeah, while the overall number of rules won't change, they'll be spread accross multiple Makefiles.


Personally, I find having code along side with the tests even more
disaranged than what we have now. For some unit tests we can have strict
naming scheme: virhash.c -> virhashtest.c; but for some more advanced tests
qemuxml2*test this won't work.

We don't need to rename everything - that could be src/qemu/qemuxml2argvtest.c
easily enough


Okay, let me send a v2 and see what others think.

Michal

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




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux