summaryrefslogtreecommitdiffstats
path: root/src/test/test-pretty-print.c
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2023-11-22 00:26:14 +0100
committerYu Watanabe <watanabe.yu+github@gmail.com>2023-11-22 00:59:29 +0100
commitfa3ab903f39c9986e1a86b6f7abf543dc1d4b43d (patch)
treeb6b25db77d15da5e8f0605a9dea8133941780ab5 /src/test/test-pretty-print.c
parentpid1: move draw_cylong() to pretty-print.[ch] (diff)
downloadsystemd-fa3ab903f39c9986e1a86b6f7abf543dc1d4b43d.tar.xz
systemd-fa3ab903f39c9986e1a86b6f7abf543dc1d4b43d.zip
test: add test for draw_cylon()
Diffstat (limited to 'src/test/test-pretty-print.c')
-rw-r--r--src/test/test-pretty-print.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/test/test-pretty-print.c b/src/test/test-pretty-print.c
index ece1a161e4..52b2bc861e 100644
--- a/src/test/test-pretty-print.c
+++ b/src/test/test-pretty-print.c
@@ -11,6 +11,34 @@
#include "strv.h"
#include "tests.h"
+#define CYLON_WIDTH 6
+
+static void test_draw_cylon_one(unsigned pos) {
+ char buf[CYLON_WIDTH + CYLON_BUFFER_EXTRA + 1];
+
+ log_debug("/* %s(%u) */", __func__, pos);
+
+ assert(pos <= CYLON_WIDTH + 1);
+
+ memset(buf, 0xff, sizeof(buf));
+ draw_cylon(buf, sizeof(buf), CYLON_WIDTH, pos);
+ assert_se(strlen(buf) < sizeof(buf));
+}
+
+TEST(draw_cylon) {
+ bool saved = log_get_show_color();
+
+ log_show_color(false);
+ for (unsigned i = 0; i <= CYLON_WIDTH + 1; i++)
+ test_draw_cylon_one(i);
+
+ log_show_color(true);
+ for (unsigned i = 0; i <= CYLON_WIDTH + 1; i++)
+ test_draw_cylon_one(i);
+
+ log_show_color(saved);
+}
+
TEST(terminal_urlify) {
_cleanup_free_ char *formatted = NULL;