]> Git Repo - linux.git/commitdiff
selftests/user_events: Add non-spacing separator check
authorBeau Belgrave <[email protected]>
Tue, 23 Apr 2024 16:23:38 +0000 (16:23 +0000)
committerSteven Rostedt (Google) <[email protected]>
Mon, 13 May 2024 16:15:46 +0000 (12:15 -0400)
The ABI documentation indicates that field separators do not need a
space between them, only a ';'. When no spacing is used, the register
must work. Any subsequent register, with or without spaces, must match
and not return -EADDRINUSE.

Add a non-spacing separator case to our self-test register case to ensure
it works going forward.

Link: https://lore.kernel.org/linux-trace-kernel/[email protected]
Signed-off-by: Beau Belgrave <[email protected]>
Signed-off-by: Steven Rostedt (Google) <[email protected]>
tools/testing/selftests/user_events/ftrace_test.c

index dcd7509fe2e05327f6c567ac4cb41cb3047d9eec..0bb46793dcd46f9690c1934aff6ff02130c4bde9 100644 (file)
@@ -261,6 +261,12 @@ TEST_F(user, register_events) {
        ASSERT_EQ(0, ioctl(self->data_fd, DIAG_IOCSREG, &reg));
        ASSERT_EQ(0, reg.write_index);
 
+       /* Register without separator spacing should still match */
+       reg.enable_bit = 29;
+       reg.name_args = (__u64)"__test_event u32 field1;u32 field2";
+       ASSERT_EQ(0, ioctl(self->data_fd, DIAG_IOCSREG, &reg));
+       ASSERT_EQ(0, reg.write_index);
+
        /* Multiple registers to same name but different args should fail */
        reg.enable_bit = 29;
        reg.name_args = (__u64)"__test_event u32 field1;";
@@ -288,6 +294,8 @@ TEST_F(user, register_events) {
        ASSERT_EQ(0, ioctl(self->data_fd, DIAG_IOCSUNREG, &unreg));
        unreg.disable_bit = 30;
        ASSERT_EQ(0, ioctl(self->data_fd, DIAG_IOCSUNREG, &unreg));
+       unreg.disable_bit = 29;
+       ASSERT_EQ(0, ioctl(self->data_fd, DIAG_IOCSUNREG, &unreg));
 
        /* Delete should have been auto-done after close and unregister */
        close(self->data_fd);
This page took 0.058752 seconds and 4 git commands to generate.