]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virshtest: Adapt some 'escaping' tests via DO_TEST_SCRIPT
authorPeter Krempa <pkrempa@redhat.com>
Wed, 20 Mar 2024 15:27:18 +0000 (16:27 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Tue, 2 Apr 2024 12:24:30 +0000 (14:24 +0200)
Express what's possible via a "virsh script" rather than invoking
separate virsh for each one.

We need to keep a few for parity as the argument parser behaves
differently when processing argv-like input compared to a string.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
tests/virshtest.c
tests/virshtestdata/echo-escaping.in [new file with mode: 0644]
tests/virshtestdata/echo-escaping.out [new file with mode: 0644]

index a60cfdf7a068672ef5636e97bfab8d5a41dbcc95..4b02ef3a49565e592c78f291133f2fd061cf4053 100644 (file)
@@ -610,6 +610,7 @@ mymain(void)
             "echo  \"'\"  '\"'  '\\'\"\\\\\"");
 
     /* Tests of echo flags.  */
+    DO_TEST_SCRIPT("echo-escaping", NULL, VIRSH_DEFAULT);
     DO_TEST(13, "a A 0 + * ; . ' \" / ? =   \n < > &\n",
             "echo", "a", "A", "0", "+", "*", ";", ".", "'", "\"", "/", "?",
             "=", " ", "\n", "<", ">", "&");
@@ -619,25 +620,6 @@ mymain(void)
     DO_TEST(15, "a A 0 + * ; . &apos; &quot; / ? =   \n &lt; &gt; &amp;\n",
             "echo", "--xml", "a", "A", "0", "+", "*", ";", ".", "'", "\"",
             "/", "?", "=", " ", "\n", "<", ">", "&");
-    DO_TEST(16, "a A 0 + '*' ';' . ''\\''' '\"' / '?' = ' ' '\n' '<' '>' '&'\n",
-            "echo", "--shell", "a", "A", "0", "+", "*", ";", ".", "\'",
-            "\"", "/", "?", "=", " ", "\n", "<", ">", "&");
-    DO_TEST(17, "\n",
-            "echo", "");
-    DO_TEST(18, "''\n",
-            "echo", "--shell", "");
-    DO_TEST(19, "\n",
-            "echo", "--xml", "");
-    DO_TEST(20, "''\n",
-            "echo", "--shell", "");
-    DO_TEST(21, "\n",
-            "echo ''");
-    DO_TEST(22, "''\n",
-            "echo --shell \"\"");
-    DO_TEST(23, "\n",
-            "echo --xml ''");
-    DO_TEST(24, "''\n",
-            "echo --shell \"\"''");
 
     /* Tests of -- handling.  */
     DO_TEST(25, "a\n",
diff --git a/tests/virshtestdata/echo-escaping.in b/tests/virshtestdata/echo-escaping.in
new file mode 100644 (file)
index 0000000..26d4e4c
--- /dev/null
@@ -0,0 +1,11 @@
+echo         a A 0 + * . \' / ? =  < > &
+echo --xml   a A 0 + * . \' / ? =  < > &
+echo --shell a A 0 + * . \' / ? =  < > &
+echo ""
+echo --shell
+echo --xml
+echo --shell
+echo ''
+echo --shell ""
+echo --xml ''
+echo --shell ""''
diff --git a/tests/virshtestdata/echo-escaping.out b/tests/virshtestdata/echo-escaping.out
new file mode 100644 (file)
index 0000000..ff3e0a9
--- /dev/null
@@ -0,0 +1,11 @@
+a A 0 + * . ' / ? = < > &
+a A 0 + * . &apos; / ? = &lt; &gt; &amp;
+a A 0 + '*' . ''\''' / '?' = '<' '>' '&'
+
+
+
+
+
+''
+
+''