[libvirt] [PATCH 4/8] tests: Introduce tests for storage pool xml to argv checks

John Ferlan jferlan at redhat.com
Wed Dec 12 21:33:29 UTC 2018



On 12/12/18 9:04 AM, Michal Privoznik wrote:
> On 12/4/18 5:47 PM, John Ferlan wrote:
>> Similar to qemuxml2argv and storagevolxml2argv, let's create some
>> tests to ensure that the XML generates a consistent command line.
>>
>> Using the same list of pools as storagepoolxml2xmltest, start with
>> the file system tests (fs, netfs, netfs-cifs, netfs-gluster).
>>
>> Signed-off-by: John Ferlan <jferlan at redhat.com>
>> ---
>>  tests/Makefile.am                             |  12 ++
>>  tests/storagepoolxml2argvdata/pool-fs.argv    |   1 +
>>  .../pool-netfs-cifs.argv                      |   1 +
>>  .../pool-netfs-gluster.argv                   |   1 +
>>  tests/storagepoolxml2argvdata/pool-netfs.argv |   1 +
>>  tests/storagepoolxml2argvtest.c               | 171 ++++++++++++++++++
>>  6 files changed, 187 insertions(+)
>>  create mode 100644 tests/storagepoolxml2argvdata/pool-fs.argv
>>  create mode 100644 tests/storagepoolxml2argvdata/pool-netfs-cifs.argv
>>  create mode 100644 tests/storagepoolxml2argvdata/pool-netfs-gluster.argv
>>  create mode 100644 tests/storagepoolxml2argvdata/pool-netfs.argv
>>  create mode 100644 tests/storagepoolxml2argvtest.c
>>
>> diff --git a/tests/Makefile.am b/tests/Makefile.am
>> index d7ec7e3a6f..bec0930c11 100644
>> --- a/tests/Makefile.am
>> +++ b/tests/Makefile.am
>> @@ -140,6 +140,7 @@ EXTRA_DIST = \
>>  	storagepoolschemadata \
>>  	storagepoolxml2xmlin \
>>  	storagepoolxml2xmlout \
>> +	storagepoolxml2argvdata \
>>  	storagevolschemadata \
>>  	storagevolxml2argvdata \
>>  	storagevolxml2xmlin \
>> @@ -363,6 +364,7 @@ endif WITH_NWFILTER
>>  
>>  if WITH_STORAGE
>>  test_programs += storagevolxml2argvtest
>> +test_programs += storagepoolxml2argvtest
>>  test_programs += virstorageutiltest
>>  endif WITH_STORAGE
>>  
>> @@ -901,6 +903,16 @@ storagevolxml2argvtest_LDADD = \
>>  	../src/libvirt_util.la \
>>  	$(LDADDS)
>>  
>> +storagepoolxml2argvtest_SOURCES = \
>> +    storagepoolxml2argvtest.c \
>> +    testutils.c testutils.h
>> +storagepoolxml2argvtest_LDADD = \
>> +	$(LIBXML_LIBS) \
>> +	../src/libvirt_driver_storage_impl.la \
>> +	../src/libvirt_conf.la \
>> +	../src/libvirt_util.la \
>> +	$(LDADDS)
>> +
>>  else ! WITH_STORAGE
>>  EXTRA_DIST += storagevolxml2argvtest.c
>>  EXTRA_DIST += virstorageutiltest.c
>> diff --git a/tests/storagepoolxml2argvdata/pool-fs.argv b/tests/storagepoolxml2argvdata/pool-fs.argv
>> new file mode 100644
>> index 0000000000..4a94148114
>> --- /dev/null
>> +++ b/tests/storagepoolxml2argvdata/pool-fs.argv
>> @@ -0,0 +1 @@
>> +/usr/bin/mount -t ext3 /dev/sda6 /mnt
> 
> Problem is, on my system (Gentoo), it is /usr/mount so this is failing
> for me.
> 
> I wonder if we should have a placeholder here, say "MOUNT" and then
> replace it with actual location of 'mount' (taken from config.h) at runtime.
> 
> Michal
> 

If I add a call to virTestClearCommandPath(actualCmdline); just prior to
the if (virTestCompareToFile(actualCmdline, cmdline) < 0) *and* I modify
each of the .argv files to remove the leading path, then things work
just fine.

Would you like to see or is the explanation good enough? IDC either way.

The .argv files would be affected/changed here, patch5 (netfs-auto), and
patch8 (logical).

Tks -

John




More information about the libvir-list mailing list