]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/test/test-coredump-util.c
test: Use TEST macro
[thirdparty/systemd.git] / src / test / test-coredump-util.c
CommitLineData
db9ecf05 1/* SPDX-License-Identifier: LGPL-2.1-or-later */
b34612bd
ZJS
2
3#include "alloc-util.h"
4#include "coredump-util.h"
5#include "macro.h"
6#include "tests.h"
7
4f7452a8 8TEST(coredump_filter_to_from_string) {
b34612bd
ZJS
9 for (CoredumpFilter i = 0; i < _COREDUMP_FILTER_MAX; i++) {
10 const char *n;
11
12 assert_se(n = coredump_filter_to_string(i));
13 log_info("0x%x\t%s", 1<<i, n);
14 assert_se(coredump_filter_from_string(n) == i);
15
16 uint64_t f;
17 assert_se(coredump_filter_mask_from_string(n, &f) == 0);
18 assert_se(f == 1u << i);
19 }
20}
21
4f7452a8 22TEST(coredump_filter_mask_from_string) {
b34612bd
ZJS
23 uint64_t f;
24 assert_se(coredump_filter_mask_from_string("default", &f) == 0);
25 assert_se(f == COREDUMP_FILTER_MASK_DEFAULT);
26
27 assert_se(coredump_filter_mask_from_string(" default\tdefault\tdefault ", &f) == 0);
28 assert_se(f == COREDUMP_FILTER_MASK_DEFAULT);
29
30 assert_se(coredump_filter_mask_from_string("defaulta", &f) < 0);
31 assert_se(coredump_filter_mask_from_string("default defaulta default", &f) < 0);
32 assert_se(coredump_filter_mask_from_string("default default defaulta", &f) < 0);
33
34 assert_se(coredump_filter_mask_from_string("private-anonymous default", &f) == 0);
35 assert_se(f == COREDUMP_FILTER_MASK_DEFAULT);
36
37 assert_se(coredump_filter_mask_from_string("shared-file-backed shared-dax", &f) == 0);
38 assert_se(f == (1 << COREDUMP_FILTER_SHARED_FILE_BACKED |
39 1 << COREDUMP_FILTER_SHARED_DAX));
40
41 assert_se(coredump_filter_mask_from_string("private-file-backed private-dax 0xF", &f) == 0);
42 assert_se(f == (1 << COREDUMP_FILTER_PRIVATE_FILE_BACKED |
43 1 << COREDUMP_FILTER_PRIVATE_DAX |
44 0xF));
45
46 assert_se(coredump_filter_mask_from_string("11", &f) == 0);
47 assert_se(f == 0x11);
48
49 assert_se(coredump_filter_mask_from_string("0x1101", &f) == 0);
50 assert_se(f == 0x1101);
51
52 assert_se(coredump_filter_mask_from_string("0", &f) == 0);
53 assert_se(f == 0);
54
55 assert_se(coredump_filter_mask_from_string("all", &f) == 0);
56 assert_se(FLAGS_SET(f, (1 << COREDUMP_FILTER_PRIVATE_ANONYMOUS |
57 1 << COREDUMP_FILTER_SHARED_ANONYMOUS |
58 1 << COREDUMP_FILTER_PRIVATE_FILE_BACKED |
59 1 << COREDUMP_FILTER_SHARED_FILE_BACKED |
60 1 << COREDUMP_FILTER_ELF_HEADERS |
61 1 << COREDUMP_FILTER_PRIVATE_HUGE |
62 1 << COREDUMP_FILTER_SHARED_HUGE |
63 1 << COREDUMP_FILTER_PRIVATE_DAX |
64 1 << COREDUMP_FILTER_SHARED_DAX)));
65}
66
4f7452a8 67DEFINE_TEST_MAIN(LOG_INFO);