[systemd-commits] 3 commits - src/systemctl src/test

Zbigniew Jędrzejewski-Szmek zbyszek at kemper.freedesktop.org
Wed Jan 30 20:44:29 PST 2013


 src/systemctl/systemctl.c |    2 -
 src/test/test-strv.c      |   67 +++++++++++++++++++++++++++++++++++++++++-----
 2 files changed, 62 insertions(+), 7 deletions(-)

New commits:
commit 682cfdff697707dbe29c9c1907a7c8c452ffb397
Author: Daniel Buch <boogiewasthere at gmail.com>
Date:   Wed Jan 30 21:45:40 2013 +0100

    test-strv.c: test strv_join added

diff --git a/src/test/test-strv.c b/src/test/test-strv.c
index 44b067c..7898ea7 100644
--- a/src/test/test-strv.c
+++ b/src/test/test-strv.c
@@ -23,6 +23,7 @@
 
 #include "util.h"
 #include "specifier.h"
+#include "strv.h"
 
 static void test_specifier_printf(void) {
         char *w;
@@ -52,6 +53,49 @@ static void test_foreach_word_quoted(void) {
         }
 }
 
+static void test_strv_join(void) {
+        char *r;
+
+        const char * const input_table_multiple[] = {
+                "one",
+                "two",
+                "three",
+                NULL
+        };
+        const char * const input_table_one[] = {
+                "one",
+                NULL
+        };
+        const char * const input_table_none[] = {
+                NULL
+        };
+
+        r = strv_join((char **)input_table_multiple, ", ");
+        assert_se(streq(r, "one, two, three"));
+        puts(r);
+        free(r);
+
+        r = strv_join((char **)input_table_multiple, ";");
+        assert_se(streq(r, "one;two;three"));
+        puts(r);
+        free(r);
+
+        r = strv_join((char **)input_table_multiple, NULL);
+        assert_se(streq(r, "one two three"));
+        puts(r);
+        free(r);
+
+        r = strv_join((char **)input_table_one, ", ");
+        assert_se(streq(r, "one"));
+        puts(r);
+        free(r);
+
+        r = strv_join((char **)input_table_none, ", ");
+        assert_se(streq(r, ""));
+        puts(r);
+        free(r);
+}
+
 static void test_default_term_for_tty(void) {
         printf("%s\n", default_term_for_tty("/dev/tty23"));
         printf("%s\n", default_term_for_tty("/dev/ttyS23"));
@@ -71,6 +115,7 @@ int main(int argc, char *argv[]) {
         test_default_term_for_tty();
         test_foreach_word_quoted();
         test_specifier_printf();
+        test_strv_join();
 
         return 0;
 }

commit 3a7719d303c14a74040944485e3e366db3f9fcc5
Author: Daniel Buch <boogiewasthere at gmail.com>
Date:   Wed Jan 30 21:36:56 2013 +0100

    test-strv.c: Split tests into seperate functions
    
    test-strv.c: Leaves main clean for additional tests

diff --git a/src/test/test-strv.c b/src/test/test-strv.c
index 5ee4447..44b067c 100644
--- a/src/test/test-strv.c
+++ b/src/test/test-strv.c
@@ -24,19 +24,25 @@
 #include "util.h"
 #include "specifier.h"
 
-int main(int argc, char *argv[]) {
+static void test_specifier_printf(void) {
+        char *w;
+
         const Specifier table[] = {
                 { 'a', specifier_string, (char*) "AAAA" },
                 { 'b', specifier_string, (char*) "BBBB" },
                 { 0, NULL, NULL }
         };
 
+        w = specifier_printf("xxx a=%a b=%b yyy", table, NULL);
+        printf("<%s>\n", w);
+        free(w);
+}
+
+static void test_foreach_word_quoted(void) {
         char *w, *state;
         size_t l;
         const char test[] = "test a b c 'd' e '' '' hhh '' ''";
-
         printf("<%s>\n", test);
-
         FOREACH_WORD_QUOTED(w, l, test, state) {
                 char *t;
 
@@ -44,7 +50,9 @@ int main(int argc, char *argv[]) {
                 printf("<%s>\n", t);
                 free(t);
         }
+}
 
+static void test_default_term_for_tty(void) {
         printf("%s\n", default_term_for_tty("/dev/tty23"));
         printf("%s\n", default_term_for_tty("/dev/ttyS23"));
         printf("%s\n", default_term_for_tty("/dev/tty0"));
@@ -57,10 +65,12 @@ int main(int argc, char *argv[]) {
         printf("%s\n", default_term_for_tty("pty0"));
         printf("%s\n", default_term_for_tty("pts/0"));
         printf("%s\n", default_term_for_tty("console"));
+}
 
-        w = specifier_printf("xxx a=%a b=%b yyy", table, NULL);
-        printf("<%s>\n", w);
-        free(w);
+int main(int argc, char *argv[]) {
+        test_default_term_for_tty();
+        test_foreach_word_quoted();
+        test_specifier_printf();
 
         return 0;
 }

commit 883127fd84a05927f33fd25c868c52cce2123362
Author: Mauro Dreissig <mukadr at gmail.com>
Date:   Wed Jan 30 16:55:24 2013 -0200

    systemctl: Fix wrong assertion test

diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
index 408a4f0..5deacbf 100644
--- a/src/systemctl/systemctl.c
+++ b/src/systemctl/systemctl.c
@@ -1013,7 +1013,7 @@ static int dot_one(DBusConnection *bus, const char *name, const char *path) {
         while (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_INVALID) {
                 const char *prop;
 
-                assert(dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_DICT_ENTRY);
+                assert(dbus_message_iter_get_arg_type(&sub) == DBUS_TYPE_DICT_ENTRY);
                 dbus_message_iter_recurse(&sub, &sub2);
 
                 if (bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &prop, true) < 0 ||



More information about the systemd-commits mailing list