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 <skob...@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);

Attachment: signature.asc
Description: Digital signature

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to