New unit tests for these APIs: tracefs_trace_is_on(); tracefs_trace_on(); tracefs_trace_off(); tracefs_trace_on_fd(); tracefs_trace_off_fd(); Signed-off-by: Tzvetomir Stoyanov (VMware) <tz.stoyanov@xxxxxxxxx> --- utest/tracefs-utest.c | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/utest/tracefs-utest.c b/utest/tracefs-utest.c index a51d6fc..2a80cf7 100644 --- a/utest/tracefs-utest.c +++ b/utest/tracefs-utest.c @@ -412,6 +412,42 @@ static void test_instance_file_fd(void) close(fd); } +static void test_tracing_onoff(void) +{ + long long res = -1; + int fd; + + fd = tracefs_instance_file_open(test_instance, TRACE_ON, O_WRONLY); + CU_TEST(fd >= 0); + CU_TEST(tracefs_instance_file_read_int(test_instance, TRACE_ON, &res) == 0); + if (res == 1) { + CU_TEST(tracefs_trace_is_on(test_instance) == 1); + CU_TEST(tracefs_trace_off(test_instance) == 0); + CU_TEST(tracefs_trace_is_on(test_instance) == 0); + CU_TEST(tracefs_trace_on(test_instance) == 0); + CU_TEST(tracefs_trace_is_on(test_instance) == 1); + + CU_TEST(tracefs_trace_off_fd(fd) == 0); + CU_TEST(tracefs_trace_is_on(test_instance) == 0); + CU_TEST(tracefs_trace_on_fd(fd) == 0); + CU_TEST(tracefs_trace_is_on(test_instance) == 1); + } else { + CU_TEST(tracefs_trace_is_on(test_instance) == 0); + CU_TEST(tracefs_trace_on(test_instance) == 0); + CU_TEST(tracefs_trace_is_on(test_instance) == 1); + CU_TEST(tracefs_trace_off(test_instance) == 0); + CU_TEST(tracefs_trace_is_on(test_instance) == 0); + + CU_TEST(tracefs_trace_on_fd(fd) == 0); + CU_TEST(tracefs_trace_is_on(test_instance) == 1); + CU_TEST(tracefs_trace_off_fd(fd) == 0); + CU_TEST(tracefs_trace_is_on(test_instance) == 0); + } + + if (fd >= 0) + close(fd); +} + static void exclude_string(char **strings, char *name) { int i; @@ -719,4 +755,7 @@ void test_tracefs_lib(void) test_instances_walk); CU_add_test(suite, "tracefs_get_clock API", test_get_clock); + CU_add_test(suite, "tracing on / off", + test_tracing_onoff); + } -- 2.29.2