[PATCH 07/15] nwfilterxml2xmltest: Add test case for parser and formatter quirks

Peter Krempa pkrempa at redhat.com
Fri Jun 2 11:28:17 UTC 2023


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
vizualize how it will change when the code is refactored.

Signed-off-by: Peter Krempa <pkrempa at redhat.com>
---
 tests/nwfilterxml2xmlin/quirks-invalid.xml  | 13 +++++++++++++
 tests/nwfilterxml2xmlout/quirks-invalid.xml |  7 +++++++
 tests/nwfilterxml2xmltest.c                 |  5 +++++
 3 files changed, 25 insertions(+)
 create mode 100644 tests/nwfilterxml2xmlin/quirks-invalid.xml
 create mode 100644 tests/nwfilterxml2xmlout/quirks-invalid.xml

diff --git a/tests/nwfilterxml2xmlin/quirks-invalid.xml b/tests/nwfilterxml2xmlin/quirks-invalid.xml
new file mode 100644
index 0000000000..dab0e5035f
--- /dev/null
+++ b/tests/nwfilterxml2xmlin/quirks-invalid.xml
@@ -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
index 0000000000..f244d45e08
--- /dev/null
+++ b/tests/nwfilterxml2xmlout/quirks-invalid.xml
@@ -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>
diff --git a/tests/nwfilterxml2xmltest.c b/tests/nwfilterxml2xmltest.c
index 5c84c2fee9..c2481481ee 100644
--- a/tests/nwfilterxml2xmltest.c
+++ b/tests/nwfilterxml2xmltest.c
@@ -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);
-- 
2.40.1



More information about the libvir-list mailing list