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@xxxxxxxxxx> --- 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);
Attachment:
signature.asc
Description: Digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list