On Tue, 2024-07-02 at 15:12 +0500, Muhammad Usama Anjum wrote:
> Conform the layout, informational and status messages to TAP. No
> functional change is intended other than the layout of output
> messages.
> 
Not true. You did functional change by adding a break in the loop.
The purpose here to wait for these message continuously till ctrl-c or
similar.

> The test has infinite loop to read the value of status_str. Break the
> loop after getting the value once and finish the test.
> 
No, that is not the purpose.

> Signed-off-by: Muhammad Usama Anjum <[email protected]>
> ---
> Changes since v1:
> - Use ksft_exit_fail_perror if read() returns error
> - Break the infinite loop after printing status_str
> ---
>  .../intel/power_floor/power_floor_test.c      | 70 ++++++++---------
> --
>  1 file changed, 30 insertions(+), 40 deletions(-)
> 
> diff --git
> a/tools/testing/selftests/thermal/intel/power_floor/power_floor_test.
> c
> b/tools/testing/selftests/thermal/intel/power_floor/power_floor_test.
> c
> index 0326b39a11b91..c06b275acd36b 100644
> ---
> a/tools/testing/selftests/thermal/intel/power_floor/power_floor_test.
> c
> +++
> b/tools/testing/selftests/thermal/intel/power_floor/power_floor_test.
> c
> @@ -9,6 +9,7 @@
>  #include <fcntl.h>
>  #include <poll.h>
>  #include <signal.h>
> +#include "../../../kselftest.h"
>  
>  #define POWER_FLOOR_ENABLE_ATTRIBUTE
> "/sys/bus/pci/devices/0000:00:04.0/power_limits/power_floor_enable"
>  #define POWER_FLOOR_STATUS_ATTRIBUTE 
> "/sys/bus/pci/devices/0000:00:04.0/power_limits/power_floor_status"
> @@ -20,17 +21,13 @@ void power_floor_exit(int signum)
>       /* Disable feature via sysfs knob */
>  
>       fd = open(POWER_FLOOR_ENABLE_ATTRIBUTE, O_RDWR);
> -     if (fd < 0) {
> -             perror("Unable to open power floor enable file\n");
> -             exit(1);
> -     }
> +     if (fd < 0)
> +             ksft_exit_fail_perror("Unable to open power floor
> enable file");
>  
> -     if (write(fd, "0\n", 2) < 0) {
> -             perror("Can' disable power floor notifications\n");
> -             exit(1);
> -     }
> +     if (write(fd, "0\n", 2) < 0)
> +             ksft_exit_fail_perror("Can' disable power floor
> notifications");
>  
> -     printf("Disabled power floor notifications\n");
> +     ksft_print_msg("Disabled power floor notifications\n");
>  
>       close(fd);
>  }
> @@ -41,6 +38,9 @@ int main(int argc, char **argv)
>       char status_str[3];
>       int fd, ret;
>  
> +     ksft_print_header();
> +     ksft_set_plan(1);
> +
>       if (signal(SIGINT, power_floor_exit) == SIG_IGN)
>               signal(SIGINT, SIG_IGN);
>       if (signal(SIGHUP, power_floor_exit) == SIG_IGN)
> @@ -50,59 +50,49 @@ int main(int argc, char **argv)
>  
>       /* Enable feature via sysfs knob */
>       fd = open(POWER_FLOOR_ENABLE_ATTRIBUTE, O_RDWR);
> -     if (fd < 0) {
> -             perror("Unable to open power floor enable file\n");
> -             exit(1);
> -     }
> +     if (fd < 0)
> +             ksft_exit_fail_perror("Unable to open power floor
> enable file");
>  
> -     if (write(fd, "1\n", 2) < 0) {
> -             perror("Can' enable power floor notifications\n");
> -             exit(1);
> -     }
> +     if (write(fd, "1\n", 2) < 0)
> +             ksft_exit_fail_perror("Can' enable power floor
> notifications");
>  
>       close(fd);
>  
> -     printf("Enabled power floor notifications\n");
> +     ksft_print_msg("Enabled power floor notifications\n");
>  
>       while (1) {
>               fd = open(POWER_FLOOR_STATUS_ATTRIBUTE, O_RDONLY);
> -             if (fd < 0) {
> -                     perror("Unable to power floor status
> file\n");
> -                     exit(1);
> -             }
> +             if (fd < 0)
> +                     ksft_exit_fail_perror("Unable to power floor
> status file");
>  
> -             if ((lseek(fd, 0L, SEEK_SET)) < 0) {
> -                     fprintf(stderr, "Failed to set pointer to
> beginning\n");
> -                     exit(1);
> -             }
> +             if ((lseek(fd, 0L, SEEK_SET)) < 0)
> +                     ksft_exit_fail_perror("Failed to set pointer
> to beginning\n");
>  
> -             if (read(fd, status_str, sizeof(status_str)) < 0) {
> -                     fprintf(stderr, "Failed to read from:%s\n",
> -                     POWER_FLOOR_STATUS_ATTRIBUTE);
> -                     exit(1);
> -             }
> +             if (read(fd, status_str, sizeof(status_str)) < 0)
> +                     ksft_exit_fail_perror("Failed to read from:
> power_floor_status");
>  
>               ufd.fd = fd;
>               ufd.events = POLLPRI;
>  
>               ret = poll(&ufd, 1, -1);
>               if (ret < 0) {
> -                     perror("poll error");
> -                     exit(1);
> +                     ksft_exit_fail_msg("Poll error\n");
>               } else if (ret == 0) {
> -                     printf("Poll Timeout\n");
> +                     ksft_print_msg("Poll Timeout\n");
>               } else {
> -                     if ((lseek(fd, 0L, SEEK_SET)) < 0) {
> -                             fprintf(stderr, "Failed to set
> pointer to beginning\n");
> -                             exit(1);
> -                     }
> +                     if ((lseek(fd, 0L, SEEK_SET)) < 0)
> +                             ksft_exit_fail_msg("Failed to set
> pointer to beginning\n");
>  
>                       if (read(fd, status_str, sizeof(status_str))
> < 0)
> -                             exit(0);
> +                             ksft_exit_fail_perror("Failed to
> read");
>  
> -                     printf("power floor status: %s\n",
> status_str);
> +                     ksft_print_msg("power floor status: %s\n",
> status_str);
> +                     break;
>               }
>  
>               close(fd);
>       }
> +
> +     ksft_test_result_pass("Successfully read\n");
> +     ksft_finished();
>  }


Reply via email to