]> xenbits.xensource.com Git - libvirt.git/commitdiff
nwfilterxml2xmltest: Add test case for parser and formatter quirks
authorPeter Krempa <pkrempa@redhat.com>
Thu, 16 Feb 2023 09:46:41 +0000 (10:46 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Mon, 5 Jun 2023 11:23:06 +0000 (13:23 +0200)
The parser and formatter for nwfilter rules is very strange and has
weird quirks. Add a test case trying to capture some of the quirks to
visualize how it will change when the code is refactored.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
tests/nwfilterxml2xmlin/quirks-invalid.xml [new file with mode: 0644]
tests/nwfilterxml2xmlout/quirks-invalid.xml [new file with mode: 0644]
tests/nwfilterxml2xmltest.c

diff --git a/tests/nwfilterxml2xmlin/quirks-invalid.xml b/tests/nwfilterxml2xmlin/quirks-invalid.xml
new file mode 100644 (file)
index 0000000..dab0e50
--- /dev/null
@@ -0,0 +1,13 @@
+<filter name='testcase'>
+  <uuid>01a992d2-f8c8-7c27-f69b-ab0a9d377379</uuid>
+
+  <!-- quirky XML for parser validation -->
+  <rule action='accept' direction='in' priority='100'>
+    <tcp match='no' srcipaddr='10.1.2.3'/>
+    <tcp match='no' srcportstart='22'/>
+    <tcp dstportstart='22' comment='comment'/>
+    <tcp match='no' srcporttend='24'/>
+    <tcp srcipmask='32' dstporttend='24'/>
+  </rule>
+
+</filter>
diff --git a/tests/nwfilterxml2xmlout/quirks-invalid.xml b/tests/nwfilterxml2xmlout/quirks-invalid.xml
new file mode 100644 (file)
index 0000000..f244d45
--- /dev/null
@@ -0,0 +1,7 @@
+<filter name='testcase' chain='root'>
+  <uuid>01a992d2-f8c8-7c27-f69b-ab0a9d377379</uuid>
+  <rule action='accept' direction='in' priority='100'>
+    <tcp match='no' srcipaddr='10.1.2.3' srcipmask='32' srcportstart='22' dstportstart='22'/>
+    <tcp comment='comment'/>
+  </rule>
+</filter>
index 5c84c2fee984c9b7eca686ad62dff6b329fd06c4..c2481481ee7016e65100a7488f3c8034e359f8ff 100644 (file)
@@ -117,6 +117,11 @@ mymain(void)
     DO_TEST("example-1", false);
     DO_TEST("example-2", false);
 
+    /* The parser and formatter for nwfilter rules was written in a quirky way.
+     * Validate that it still works. Note that the files don't conform to the
+     * schema */
+    DO_TEST("quirks-invalid", false);
+
     DO_TEST("chain_prefixtest1-invalid", true); /* derived from arp-test */
 
     DO_TEST("attr-value-test", false);