From: Yu Watanabe Date: Wed, 21 Nov 2018 07:17:29 +0000 (+0900) Subject: test: add tests for util_replace_whitespace() X-Git-Tag: v240~257^2~3 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=01cbafe184570f59dd0d5cc8be8420cfe6b9bd2d;p=thirdparty%2Fsystemd.git test: add tests for util_replace_whitespace() --- diff --git a/src/test/test-libudev.c b/src/test/test-libudev.c index abf79874bd0..258b77b4300 100644 --- a/src/test/test-libudev.c +++ b/src/test/test-libudev.c @@ -6,6 +6,7 @@ #include #include +#include "alloc-util.h" #include "fd-util.h" #include "libudev-util.h" #include "log.h" @@ -329,6 +330,51 @@ static void test_hwdb(struct udev *udev, const char *modalias) { assert_se(hwdb == NULL); } +static void test_util_replace_whitespace_one_len(const char *str, size_t len, const char *expected) { + _cleanup_free_ char *result = NULL; + int r; + + result = new(char, len + 1); + assert_se(result); + r = util_replace_whitespace(str, result, len); + assert_se((size_t) r == strlen(expected)); + assert_se(streq(result, expected)); +} + +static void test_util_replace_whitespace_one(const char *str, const char *expected) { + test_util_replace_whitespace_one_len(str, strlen(str), expected); +} + +static void test_util_replace_whitespace(void) { + test_util_replace_whitespace_one("hogehoge", "hogehoge"); + test_util_replace_whitespace_one("hoge hoge", "hoge_hoge"); + test_util_replace_whitespace_one(" hoge hoge ", "hoge_hoge"); + test_util_replace_whitespace_one(" ", ""); + test_util_replace_whitespace_one("hoge ", "hoge"); + + test_util_replace_whitespace_one_len("hoge hoge ", 9, "hoge_hoge"); + test_util_replace_whitespace_one_len("hoge hoge ", 8, "hoge_hog"); + test_util_replace_whitespace_one_len("hoge hoge ", 7, "hoge_ho"); + test_util_replace_whitespace_one_len("hoge hoge ", 6, "hoge_h"); + test_util_replace_whitespace_one_len("hoge hoge ", 5, "hoge"); + test_util_replace_whitespace_one_len("hoge hoge ", 4, "hoge"); + test_util_replace_whitespace_one_len("hoge hoge ", 3, "hog"); + test_util_replace_whitespace_one_len("hoge hoge ", 2, "ho"); + test_util_replace_whitespace_one_len("hoge hoge ", 1, "h"); + test_util_replace_whitespace_one_len("hoge hoge ", 0, ""); + + test_util_replace_whitespace_one_len(" hoge hoge ", 9, "hoge_hoge"); + test_util_replace_whitespace_one_len(" hoge hoge ", 8, "hoge_hog"); + test_util_replace_whitespace_one_len(" hoge hoge ", 7, "hoge_ho"); + test_util_replace_whitespace_one_len(" hoge hoge ", 6, "hoge_h"); + test_util_replace_whitespace_one_len(" hoge hoge ", 5, "hoge"); + test_util_replace_whitespace_one_len(" hoge hoge ", 4, "hoge"); + test_util_replace_whitespace_one_len(" hoge hoge ", 3, "hog"); + test_util_replace_whitespace_one_len(" hoge hoge ", 2, "ho"); + test_util_replace_whitespace_one_len(" hoge hoge ", 1, "h"); + test_util_replace_whitespace_one_len(" hoge hoge ", 0, ""); +} + int main(int argc, char *argv[]) { _cleanup_(udev_unrefp) struct udev *udev = NULL; bool arg_monitor = false; @@ -397,7 +443,6 @@ int main(int argc, char *argv[]) { test_device_subsys_name(udev, "subsystem", "pci"); test_device_subsys_name(udev, "drivers", "scsi:sd"); test_device_subsys_name(udev, "module", "printk"); - test_device_parents(udev, syspath); test_enumerate(udev, subsystem); @@ -409,5 +454,7 @@ int main(int argc, char *argv[]) { if (arg_monitor) test_monitor(udev); + test_util_replace_whitespace(); + return EXIT_SUCCESS; }