[libvirt] [PATCH v3 3/3] vsh: Added tests
Ján Tomko
jtomko at redhat.com
Thu Aug 16 12:11:58 UTC 2018
On Thu, Aug 16, 2018 at 12:56:26PM +0200, Simon Kobyda wrote:
>For now, there are 5 test cases
>- testVshTableNew: Creating table with empty header
>- testVshTableHeader: Printing table with/without header
>- testVshTableRowAppend: Appending row with various number of cells.
> Only row with same number of cells as in header is accepted.
>- testVshTableNewUnicode: Printing table with unicode characters.
> Checking correct alignment.
>- testNTables: Create and print various types of tables - one column,
> one row table, table without content, standard table...
>
>Signed-off-by: Simon Kobyda <skobyda at redhat.com>
>---
> tests/Makefile.am | 8 ++
> tests/vshtabletest.c | 247 +++++++++++++++++++++++++++++++++++++++++++
> 2 files changed, 255 insertions(+)
> create mode 100644 tests/vshtabletest.c
>+static int
>+testVshTableNew(const void *opaque ATTRIBUTE_UNUSED)
>+{
>+ int ret = 0;
no need for a 'ret' variable if you don't have a cleanup section.
>+
>+ if (vshTableNew(NULL)) {
>+ fprintf(stderr, "expected failure when passing null to"
>+ "vshtablenew\n");
Missing space between 'to' and 'vshtablenew'
>+ ret = -1;
>+ }
>+
>+ return ret;
>+}
>+
>+static int
>+testVshTableHeader(const void *opaque ATTRIBUTE_UNUSED)
>+{
>+ int ret = 0;
>+ char *out;
>+ const char *exp = "\
>+ 1 fedora28 running \n\
>+ 2 rhel7.5 running \n";
>+ const char *exp2 = "\
>+ Id Name State \n\
>+--------------------------\n\
>+ 1 fedora28 running \n\
>+ 2 rhel7.5 running \n";
Please use one string literal per line in new code. That way you can align them.
>+
>+ vshTablePtr table = vshTableNew("Id", "Name", "State",
>+ NULL); //to ask about return
>+ if (!table)
>+ goto cleanup;
>+
>+ vshTableRowAppend(table, "1", "fedora28", "running", NULL);
>+ vshTableRowAppend(table, "2", "rhel7.5", "running",
>+ NULL);
>+
[...]
>+static int
>+testNTables(const void *opaque ATTRIBUTE_UNUSED)
>+{
>+ int ret = 0;
>+ vshTablePtr table1;
>+ vshTablePtr table2;
>+ vshTablePtr table3;
>+ const char *exp1 = "\
>+ Id Name Status \n\
>+--------------------------\n\
>+ 1 fedora28 running \n\
>+ 2 rhel7.5 running \n";
>+ const char *exp2 = "\
>+ Id Name Status \n\
>+---------------------\n";
>+ const char *exp3 = "\
>+ Id \n\
>+-----\n\
>+ 1 \n\
>+ 2 \n\
>+ 3 \n\
>+ 4 \n";
>+ char *out1;
>+ char *out2;
>+ char *out3;
>+
>+ table1 = vshTableNew("Id", "Name", "Status", NULL);
>+ if (!table1)
>+ goto cleanup;
>+ vshTableRowAppend(table1, "1", "fedora28", "running", NULL);
>+ vshTableRowAppend(table1, "2", "rhel7.5", "running", NULL);
>+ out1 = vshTablePrintToString(table1, true);
>+
>+ table2 = vshTableNew("Id", "Name", "Status", NULL);
>+ if (!table2)
>+ goto cleanup;
out2 and out3 are unitialized if you jump to cleanup here.
Jano
>+ out2 = vshTablePrintToString(table2, true);
>+
>+ table3 = vshTableNew("Id", NULL);
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20180816/79cc2f8a/attachment-0001.sig>
More information about the libvir-list
mailing list