diff --git a/.gitignore b/.gitignore index 569be9506a..9dd125ced0 100644 --- a/.gitignore +++ b/.gitignore @@ -241,6 +241,7 @@ /test-path-lookup /test-path-util /test-prioq +/test-proc-cmdline /test-process-util /test-pty /test-qcow2 diff --git a/Makefile.am b/Makefile.am index f18bc614a8..b2a40ec46b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1430,6 +1430,7 @@ tests += \ test-hexdecoct \ test-escape \ test-alloc-util \ + test-proc-cmdline \ test-fs-util \ test-web-util \ test-stat-util \ @@ -1781,6 +1782,12 @@ test_fs_util_SOURCES = \ test_fs_util_LDADD = \ libbasic.la +test_proc_cmdline_SOURCES = \ + src/test/test-proc-cmdline.c + +test_proc_cmdline_LDADD = \ + libbasic.la + test_fd_util_SOURCES = \ src/test/test-fd-util.c diff --git a/src/test/test-proc-cmdline.c b/src/test/test-proc-cmdline.c new file mode 100644 index 0000000000..a7a8f621a2 --- /dev/null +++ b/src/test/test-proc-cmdline.c @@ -0,0 +1,52 @@ +/*** + This file is part of systemd. + + Copyright 2010 Lennart Poettering + + systemd 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.1 of the License, or + (at your option) any later version. + + systemd 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 systemd; If not, see . +***/ + +#include "alloc-util.h" +#include "log.h" +#include "macro.h" +#include "proc-cmdline.h" +#include "special.h" +#include "string-util.h" + +static int parse_item(const char *key, const char *value) { + assert_se(key); + + log_info("kernel cmdline option <%s> = <%s>", key, strna(value)); + return 0; +} + +static void test_parse_proc_cmdline(void) { + assert_se(parse_proc_cmdline(parse_item) >= 0); +} + +static void test_runlevel_to_target(void) { + assert_se(streq_ptr(runlevel_to_target(NULL), NULL)); + assert_se(streq_ptr(runlevel_to_target("unknown-runlevel"), NULL)); + assert_se(streq_ptr(runlevel_to_target("3"), SPECIAL_MULTI_USER_TARGET)); +} + +int main(void) { + log_parse_environment(); + log_open(); + + test_parse_proc_cmdline(); + test_runlevel_to_target(); + + return 0; +} diff --git a/src/test/test-util.c b/src/test/test-util.c index 06ea81df22..50bb0211be 100644 --- a/src/test/test-util.c +++ b/src/test/test-util.c @@ -36,7 +36,6 @@ #include "mkdir.h" #include "parse-util.h" #include "path-util.h" -#include "proc-cmdline.h" #include "process-util.h" #include "rm-rf.h" #include "special.h" @@ -271,17 +270,6 @@ static void test_execute_directory(void) { (void) rm_rf(template_hi, REMOVE_ROOT|REMOVE_PHYSICAL); } -static int parse_item(const char *key, const char *value) { - assert_se(key); - - log_info("kernel cmdline option <%s> = <%s>", key, strna(value)); - return 0; -} - -static void test_parse_proc_cmdline(void) { - assert_se(parse_proc_cmdline(parse_item) >= 0); -} - static void test_raw_clone(void) { pid_t parent, pid, pid2; @@ -375,12 +363,6 @@ cleanup: assert_se(rmdir(t) >= 0); } -static void test_runlevel_to_target(void) { - assert_se(streq_ptr(runlevel_to_target(NULL), NULL)); - assert_se(streq_ptr(runlevel_to_target("unknown-runlevel"), NULL)); - assert_se(streq_ptr(runlevel_to_target("3"), SPECIAL_MULTI_USER_TARGET)); -} - int main(int argc, char *argv[]) { log_parse_environment(); log_open(); @@ -395,11 +377,9 @@ int main(int argc, char *argv[]) { test_log2i(); test_glob_exists(); test_execute_directory(); - test_parse_proc_cmdline(); test_raw_clone(); test_sparse_write(); test_fgetxattrat_fake(); - test_runlevel_to_target(); return 0; }