selftests/watchdog: add test for WDIOC_GETTEMP
authorShuah Khan <skhan@linuxfoundation.org>
Fri, 21 Oct 2022 21:51:16 +0000 (15:51 -0600)
committerShuah Khan <skhan@linuxfoundation.org>
Wed, 26 Oct 2022 03:27:42 +0000 (21:27 -0600)
Add test for WDIOC_GETTEMP and this ioctl might not be supported by some
devices and if it is this test will print the following message:

Inappropriate ioctl for device

Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
tools/testing/selftests/watchdog/watchdog-test.c

index a4547dd..fb3ca67 100644 (file)
@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0
 /*
 * Watchdog Driver Test Program
-* - Tests all ioctls except WDIOC_GETTEMP
+* - Tests all ioctls
 * - Tests Magic Close - CONFIG_WATCHDOG_NOWAYOUT
 * - Could be tested against softdog driver on systems that
 *   don't have watchdog hardware.
@@ -177,6 +177,7 @@ int main(int argc, char *argv[])
        int oneshot = 0;
        char *file = "/dev/watchdog";
        struct watchdog_info info;
+       int temperature;
 
        setbuf(stdout, NULL);
 
@@ -255,6 +256,12 @@ int main(int argc, char *argv[])
                                print_status(flags);
                        else
                                printf("WDIOC_GETSTATUS error '%s'\n", strerror(errno));
+                       ret = ioctl(fd, WDIOC_GETTEMP, &temperature);
+                       if (ret)
+                               printf("WDIOC_GETTEMP: '%s'\n", strerror(errno));
+                       else
+                               printf("Temeprature: %d\n", temperature);
+
                        break;
                case 't':
                        flags = strtoul(optarg, NULL, 0);