From: Yu Watanabe Date: Tue, 6 Dec 2022 03:00:45 +0000 (+0900) Subject: test: add basic tests for octescape() X-Git-Tag: v253-rc1~358^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F25644%2Fhead;p=thirdparty%2Fsystemd.git test: add basic tests for octescape() --- diff --git a/src/test/test-escape.c b/src/test/test-escape.c index da19272624f..de82020d5fe 100644 --- a/src/test/test-escape.c +++ b/src/test/test-escape.c @@ -219,4 +219,20 @@ TEST(quote_command_line) { "true \"\\$dollar\""); } +static void test_octescape_one(const char *s, const char *expected) { + _cleanup_free_ char *ret; + + assert_se(ret = octescape(s, strlen_ptr(s))); + log_debug("octescape(\"%s\") → \"%s\" (expected: \"%s\")", strnull(s), ret, expected); + assert_se(streq(ret, expected)); +} + +TEST(octescape) { + test_octescape_one(NULL, ""); + test_octescape_one("", ""); + test_octescape_one("foo", "foo"); + test_octescape_one("\"\\\"", "\\042\\134\\042"); + test_octescape_one("\123\213\222", "\123\\213\\222"); +} + DEFINE_TEST_MAIN(LOG_DEBUG);