On Tue, 3 Oct 2023 at 21:01, Osama Muhammad osmtendev@gmail.com wrote:
On Sun, 20 Aug 2023 at 19:14, Osama Muhammad osmtendev@gmail.com 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@gmail.com
.../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