On Tue, 3 Oct 2023 at 21:01, Osama Muhammad <osmtendev@xxxxxxxxx> wrote: > > On Sun, 20 Aug 2023 at 19:14, Osama Muhammad <osmtendev@xxxxxxxxx> wrote: > > > > This patch covers the testing of PR_GET_NAME by > > reading it's value from proc/self/task/pid/comm > > and matching it with the value returned by PR_GET_NAME. > > If the values are matched then it's successful, otherwise > > it fails. Hi Shuah, Any Feedback on this patch. Thanks, Osama > > Any Feedback on this patch? > > > > > changes since v1: > > - Handled fscanf,fopen error checking. > > - Defined MAX_PATH_LEN. > > > > Signed-off-by: Osama Muhammad <osmtendev@xxxxxxxxx> > > --- > > .../selftests/prctl/set-process-name.c | 32 +++++++++++++++++++ > > 1 file changed, 32 insertions(+) > > > > diff --git a/tools/testing/selftests/prctl/set-process-name.c b/tools/testing/selftests/prctl/set-process-name.c > > index 3bc5e0e09..562f707ba 100644 > > --- a/tools/testing/selftests/prctl/set-process-name.c > > +++ b/tools/testing/selftests/prctl/set-process-name.c > > @@ -12,6 +12,7 @@ > > #define CHANGE_NAME "changename" > > #define EMPTY_NAME "" > > #define TASK_COMM_LEN 16 > > +#define MAX_PATH_LEN 50 > > > > int set_name(char *name) > > { > > @@ -47,6 +48,35 @@ int check_null_pointer(char *check_name) > > return res; > > } > > > > +int check_name(void) > > +{ > > + > > + int pid; > > + > > + pid = getpid(); > > + FILE *fptr = NULL; > > + char path[MAX_PATH_LEN] = {}; > > + char name[TASK_COMM_LEN] = {}; > > + char output[TASK_COMM_LEN] = {}; > > + int j; > > + > > + j = snprintf(path, MAX_PATH_LEN, "/proc/self/task/%d/comm", pid); > > + fptr = fopen(path, "r"); > > + if (!fptr) > > + return -EIO; > > + > > + fscanf(fptr, "%s", output); > > + if (ferror(fptr)) > > + return -EIO; > > + > > + int res = prctl(PR_GET_NAME, name, NULL, NULL, NULL); > > + > > + if (res < 0) > > + return -errno; > > + > > + return !strcmp(output, name); > > +} > > + > > TEST(rename_process) { > > > > EXPECT_GE(set_name(CHANGE_NAME), 0); > > @@ -57,6 +87,8 @@ TEST(rename_process) { > > > > EXPECT_GE(set_name(CHANGE_NAME), 0); > > EXPECT_LT(check_null_pointer(CHANGE_NAME), 0); > > + > > + EXPECT_TRUE(check_name()); > > } > > > > TEST_HARNESS_MAIN > > -- > > 2.34.1 > >