X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Ftest%2Ftest-util.c;h=1d952ebf1dafd4dea215d07b6d582d2c18f54b76;hb=03e334a1c7dc8c20c38902aa039440763acc9b17;hp=229f49288998ef027510d11f0dc6b4b25afb27d7;hpb=dc36d78e116a7ce4a119a527299785025c925679;p=elogind.git diff --git a/src/test/test-util.c b/src/test/test-util.c index 229f49288..1d952ebf1 100644 --- a/src/test/test-util.c +++ b/src/test/test-util.c @@ -67,7 +67,7 @@ static void test_close_many(void) { assert_se(fcntl(fds[1], F_GETFD) == -1); assert_se(fcntl(fds[2], F_GETFD) >= 0); - close_nointr_nofail(fds[2]); + safe_close(fds[2]); unlink(name0); unlink(name1); @@ -626,6 +626,36 @@ static void test_writing_tmpfile(void) { assert(streq(contents, "abc\n" ALPHANUMERICAL "\n")); } +static void test_hexdump(void) { + uint8_t data[146]; + unsigned i; + + hexdump(stdout, NULL, 0); + hexdump(stdout, "", 0); + hexdump(stdout, "", 1); + hexdump(stdout, "x", 1); + hexdump(stdout, "x", 2); + hexdump(stdout, "foobar", 7); + hexdump(stdout, "f\nobar", 7); + hexdump(stdout, "xxxxxxxxxxxxxxxxxxxxyz", 23); + + for (i = 0; i < ELEMENTSOF(data); i++) + data[i] = i*2; + + hexdump(stdout, data, sizeof(data)); +} + +static void test_log2i(void) { + assert_se(log2i(1) == 0); + assert_se(log2i(2) == 1); + assert_se(log2i(3) == 1); + assert_se(log2i(4) == 2); + assert_se(log2i(32) == 5); + assert_se(log2i(33) == 5); + assert_se(log2i(63) == 5); + assert_se(log2i(INT_MAX) == sizeof(int)*8-2); +} + int main(int argc, char *argv[]) { log_parse_environment(); log_open(); @@ -667,6 +697,8 @@ int main(int argc, char *argv[]) { test_get_files_in_directory(); test_in_set(); test_writing_tmpfile(); + test_hexdump(); + test_log2i(); return 0; }