
On 03/27/2014 12:22 AM, Mike Latimer wrote:
Hi,
As I've been looking through libvirt-tck tests, I found that commit 4f209434 (in libvirt) changes a condition that the nwfilter/050-apply-verify-host.t relies on.
Specifically, the 050-apply-verify-host.t test creates a number of filters with invalid values (such as dscp='64', and protocol='256'). Without commit 4f209434, these invalid values are silently dropped off the end of the rule, as in the following example:
#virsh nwfilter-define <xml with illegal value:> <filter name='tck-testcase'> <uuid>5c6d49af-b071-6127-b4ec-6f8ed4b55335</uuid> <rule action='accept' direction='in'> <ip srcipaddr='10.1.2.3' srcipmask='255.255.255.254' dstipaddr='10.1.2.3' dstipmask='255.255.255.128' protocol='255' dscp='64' /> </rule>
#virsh nwfilter-dumpxml tck-testcase <rule action='accept' direction='in' priority='500'> <ip srcipaddr='10.1.2.3' srcipmask='31' dstipaddr='10.1.2.3' dstipmask='25' protocol='255'/> </rule>
With commit 4f209434 in place, the entire filter is rejected with the following error: 'internal error: dscp has illegal value 64'. As the filter is not created, the testing of that filter by the 050-apply-verify-host test fails.
I agree that the change is the right thing to do, but I'm wondering how best to handle the now failing tests. This test (050-apply-verify-host.t) runs ~1200 subtests, and about 10% of those tests fail due to the change. I'm thinking that the illegal options (and only those illegal options) should be removed from the now broken tests, and a few new tests added to specifically test for the failure to add the entire rule when illegal data is passed. Thoughts?
I agree.
BTW - Is anyone else running the full libvirt-tck suite against recent versions of libvirt?
I had thought someone had setup a continuous run of libvirt-tck against current upstream, but maybe that's only being done for autotest.
There are quite a few issues (such as this one) which should be easily seen...