From 2ff7b0a54271c8480024d6d68edff4a92e781052 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 10 Apr 2015 14:43:06 +0200 Subject: util: unify how we parse mode_t strings --- src/test/test-util.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/test') diff --git a/src/test/test-util.c b/src/test/test-util.c index 77e7400bfc..4d36eb26e5 100644 --- a/src/test/test-util.c +++ b/src/test/test-util.c @@ -1576,6 +1576,20 @@ static void test_shell_maybe_quote(void) { test_shell_maybe_quote_one("foo$bar", "\"foo\\$bar\""); } +static void test_parse_mode(void) { + mode_t m; + + assert_se(parse_mode("-1", &m) < 0); + assert_se(parse_mode("", &m) < 0); + assert_se(parse_mode("888", &m) < 0); + assert_se(parse_mode("77777", &m) < 0); + + assert_se(parse_mode("544", &m) >= 0 && m == 0544); + assert_se(parse_mode("777", &m) >= 0 && m == 0777); + assert_se(parse_mode("7777", &m) >= 0 && m == 07777); + assert_se(parse_mode("0", &m) >= 0 && m == 0); +} + int main(int argc, char *argv[]) { log_parse_environment(); log_open(); @@ -1654,6 +1668,7 @@ int main(int argc, char *argv[]) { test_uid_ptr(); test_sparse_write(); test_shell_maybe_quote(); + test_parse_mode(); return 0; } -- cgit v1.2.3-54-g00ecf