virbuftest: Increase coverage

Test the behavior of virBufferEscapeShell for different types of
quotes as well as the empty string.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
Andrea Bolognani 2022-02-11 15:48:02 +01:00
parent 85064aae64
commit f375533e07

View File

@ -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 &amp;\n 8\n 9\n 10\n ' 11'\n";
" 1\n 2\n 3\n 4\n 5\n 6\n 7\n &amp;\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)) {