[ostree] tests: Add tests for test-ot-tool-util



commit 3f3096a65c046f28a060947fd4502990195e7835
Author: Giuseppe Scrivano <gscrivan redhat com>
Date:   Fri Mar 6 12:54:53 2015 +0100

    tests: Add tests for test-ot-tool-util
    
    Signed-off-by: Giuseppe Scrivano <gscrivan redhat com>

 Makefile-tests.am         |    5 ++-
 tests/test-ot-tool-util.c |  116 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 120 insertions(+), 1 deletions(-)
---
diff --git a/Makefile-tests.am b/Makefile-tests.am
index a93938c..8233250 100644
--- a/Makefile-tests.am
+++ b/Makefile-tests.am
@@ -107,7 +107,7 @@ endif
 noinst_PROGRAMS += tests/test-rollsum
 
 TESTS = tests/test-varint tests/test-ot-unix-utils tests/test-bsdiff tests/test-mutable-tree \
-       tests/test-keyfile-utils tests/test-ot-opt-utils
+       tests/test-keyfile-utils tests/test-ot-opt-utils tests/test-ot-tool-util
 
 check_PROGRAMS =  $(TESTS)
 TESTS_CFLAGS = $(ostree_bin_shared_cflags) $(OT_INTERNAL_GIO_UNIX_CFLAGS)
@@ -135,3 +135,6 @@ tests_test_keyfile_utils_LDADD = $(TESTS_LDADD)
 
 tests_test_ot_opt_utils_CFLAGS = $(TESTS_CFLAGS)
 tests_test_ot_opt_utils_LDADD = $(TESTS_LDADD)
+
+tests_test_ot_tool_util_CFLAGS = $(TESTS_CFLAGS)
+tests_test_ot_tool_util_LDADD = $(TESTS_LDADD)
diff --git a/tests/test-ot-tool-util.c b/tests/test-ot-tool-util.c
new file mode 100644
index 0000000..39807da
--- /dev/null
+++ b/tests/test-ot-tool-util.c
@@ -0,0 +1,116 @@
+/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*-
+ *
+ * Copyright (C) 2015 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "config.h"
+#include "libgsystem.h"
+#include "ostree-mutable-tree.h"
+#include <glib.h>
+#include <stdlib.h>
+#include <gio/gio.h>
+#include <string.h>
+#include "ot-tool-util.h"
+
+/*
+
+
+gboolean
+ot_parse_boolean (const char  *value,
+                  gboolean    *out_parsed,
+                  GError     **error);
+gboolean
+ot_parse_keyvalue (const char  *keyvalue,
+                   char       **out_key,
+                   char       **out_value,
+                   GError     **error);
+*/
+static void
+test_ot_parse_boolean (void)
+{
+  GError *error = NULL;
+  gboolean out = FALSE;
+  g_assert_true (ot_parse_boolean ("yes", &out, &error));
+  g_assert_true (out);
+
+  out = FALSE;
+  g_assert_true (ot_parse_boolean ("1", &out, &error));
+  g_assert_true (out);
+
+  out = FALSE;
+  g_assert_true (ot_parse_boolean ("true", &out, &error));
+  g_assert_true (out);
+
+  g_assert_true (ot_parse_boolean ("false", &out, &error));
+  g_assert_false (out);
+
+  out = TRUE;
+  g_assert_true (ot_parse_boolean ("no", &out, &error));
+  g_assert_false (out);
+
+  out = TRUE;
+  g_assert_true (ot_parse_boolean ("0", &out, &error));
+  g_assert_false (out);
+
+  out = TRUE;
+  g_assert_true (ot_parse_boolean ("none", &out, &error));
+  g_assert_false (out);
+
+  g_assert_false (ot_parse_boolean ("FOO", &out, &error));
+  g_assert_error (error, G_IO_ERROR, G_IO_ERROR_FAILED);
+}
+
+static void
+test_ot_parse_keyvalue (void)
+{
+  GError *error = NULL;
+  char *keyvalue[] = {"foo=bar", "a=", "b=1231231"};
+  char *key[] = {"foo", "a", "b"};
+  char *value[] = {"bar", "", "1231231"};
+  guint i;
+
+  for (i = 0; i < G_N_ELEMENTS (keyvalue); i++)
+    {
+      gs_free char *out_key = NULL;
+      gs_free char *out_value = NULL;
+      g_assert_true (ot_parse_keyvalue (keyvalue[i],
+                                        &out_key,
+                                        &out_value,
+                                        &error));
+      g_assert_cmpstr (out_key, ==, key[i]);
+      g_assert_cmpstr (out_value, ==, value[i]);
+    }
+
+  {
+    gs_free char *out_key = NULL;
+    gs_free char *out_value = NULL;
+    g_assert_false (ot_parse_keyvalue ("blabla",
+                                       &out_key,
+                                       &out_value,
+                                       &error));
+    g_assert_error (error, G_IO_ERROR, G_IO_ERROR_FAILED);
+  }
+}
+
+int main (int argc, char **argv)
+{
+  g_test_init (&argc, &argv, NULL);
+  g_test_add_func ("/ot-tool-util/parse-boolean", test_ot_parse_boolean);
+  g_test_add_func ("/ot-tool-util/parse-keyvalue", test_ot_parse_keyvalue);
+  return g_test_run();
+}


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]