Commit | Line | Data |
---|---|---|
748b5f7b SM |
1 | /* |
2 | * Copyright 2020 EfficiOS, Inc. | |
3 | * | |
4 | * SPDX-License-Identifier: GPL-2.0-only | |
5 | * | |
6 | */ | |
7 | ||
748b5f7b | 8 | #include <common/bytecode/bytecode.h> |
1aa9c49c JR |
9 | #include <lttng/event-expr-internal.h> |
10 | #include <lttng/event-expr.h> | |
748b5f7b SM |
11 | #include <tap/tap.h> |
12 | ||
13 | #define NR_TESTS 4 | |
14 | ||
15 | static | |
16 | void test_event_payload_field(void) | |
17 | { | |
18 | struct lttng_event_expr *event_expr; | |
19 | struct lttng_bytecode *bytecode = NULL; | |
20 | int ret; | |
21 | ||
22 | event_expr = lttng_event_expr_event_payload_field_create("tourlou"); | |
23 | ret = lttng_event_expr_to_bytecode(event_expr, &bytecode); | |
24 | ||
25 | ok(ret == 0, "event payload field"); | |
26 | ||
27 | lttng_event_expr_destroy(event_expr); | |
28 | free(bytecode); | |
29 | } | |
30 | ||
31 | static | |
32 | void test_channel_context_field(void) | |
33 | { | |
34 | struct lttng_event_expr *event_expr; | |
35 | struct lttng_bytecode *bytecode = NULL; | |
36 | int ret; | |
37 | ||
38 | event_expr = lttng_event_expr_channel_context_field_create("tourlou"); | |
39 | ret = lttng_event_expr_to_bytecode(event_expr, &bytecode); | |
40 | ||
41 | ok(ret == 0, "channel context field"); | |
42 | ||
43 | lttng_event_expr_destroy(event_expr); | |
44 | free(bytecode); | |
45 | } | |
46 | ||
47 | static | |
48 | void test_app_specific_context_field(void) | |
49 | { | |
50 | struct lttng_event_expr *event_expr; | |
51 | struct lttng_bytecode *bytecode = NULL; | |
52 | int ret; | |
53 | ||
54 | event_expr = lttng_event_expr_app_specific_context_field_create("Bob", "Leponge"); | |
55 | ret = lttng_event_expr_to_bytecode(event_expr, &bytecode); | |
56 | ||
57 | ok(ret == 0, "app-specific context field"); | |
58 | ||
59 | lttng_event_expr_destroy(event_expr); | |
60 | free(bytecode); | |
61 | } | |
62 | ||
63 | static | |
64 | void test_array_field_element(void) | |
65 | { | |
66 | struct lttng_event_expr *event_expr; | |
67 | struct lttng_bytecode *bytecode = NULL; | |
68 | int ret; | |
69 | ||
70 | event_expr = lttng_event_expr_event_payload_field_create("allo"); | |
71 | event_expr = lttng_event_expr_array_field_element_create(event_expr, 168); | |
72 | ret = lttng_event_expr_to_bytecode(event_expr, &bytecode); | |
73 | ||
74 | ok(ret == 0, "array field element"); | |
75 | ||
76 | lttng_event_expr_destroy(event_expr); | |
77 | free(bytecode); | |
78 | } | |
79 | ||
80 | int main(void) | |
81 | { | |
82 | plan_tests(NR_TESTS); | |
83 | ||
84 | test_event_payload_field(); | |
85 | test_channel_context_field(); | |
86 | test_app_specific_context_field(); | |
87 | test_array_field_element(); | |
88 | ||
89 | return exit_status(); | |
90 | } |