Test the behavior of virBufferEscapeShell for different types of
quotes as well as the empty string.
Signed-off-by: Andrea Bolognani <abologna(a)redhat.com>
---
tests/virbuftest.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/tests/virbuftest.c b/tests/virbuftest.c
index 977e0883a6..79bd0cae8e 100644
--- a/tests/virbuftest.c
+++ b/tests/virbuftest.c
@@ -20,7 +20,8 @@ static int testBufAutoIndent(const void *data G_GNUC_UNUSED)
g_auto(virBuffer) bufinit = VIR_BUFFER_INITIALIZER;
virBuffer *buf = &bufinit;
const char expected[] =
- " 1\n 2\n 3\n 4\n 5\n 6\n 7\n &\n 8\n 9\n 10\n '
11'\n";
+ " 1\n 2\n 3\n 4\n 5\n 6\n 7\n &\n 8\n 9\n 10\n"
+ " ' 11'\n ''\\''12'\n '\"13'\n
''\n";
g_autofree char *result = NULL;
int ret = 0;
@@ -85,6 +86,12 @@ static int testBufAutoIndent(const void *data G_GNUC_UNUSED)
virBufferAddChar(buf, '\n');
virBufferEscapeShell(buf, " 11");
virBufferAddChar(buf, '\n');
+ virBufferEscapeShell(buf, "'12");
+ virBufferAddChar(buf, '\n');
+ virBufferEscapeShell(buf, "\"13");
+ virBufferAddChar(buf, '\n');
+ virBufferEscapeShell(buf, "");
+ virBufferAddChar(buf, '\n');
result = virBufferContentAndReset(buf);
if (!result || STRNEQ(result, expected)) {
--
2.34.1