From 4f438c638b5335cd5d8f614804743a04311689f8 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Tue, 6 Dec 2022 12:00:45 +0900 Subject: [PATCH] test: add basic tests for octescape() --- src/test/test-escape.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) 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); -- 2.47.3