selftests/user_events: Add non-spacing separator check
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/20240423162338.292-3-beaub@linux.microsoft.com Signed-off-by: Beau Belgrave <beaub@linux.microsoft.com> Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
This commit is contained in:
parent
bd125a0840
commit
78490b7443
@ -261,6 +261,12 @@ TEST_F(user, register_events) {
|
||||
ASSERT_EQ(0, ioctl(self->data_fd, DIAG_IOCSREG, ®));
|
||||
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, ®));
|
||||
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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user