selftests: timers: clocksource-switch: add command line switch to skip sanity check
authorWolfram Sang <wsa+renesas@sang-engineering.com>
Wed, 13 Jul 2022 20:46:19 +0000 (22:46 +0200)
committerShuah Khan <skhan@linuxfoundation.org>
Thu, 14 Jul 2022 20:36:34 +0000 (14:36 -0600)
The sanity check takes a while. If you do repeated checks when
debugging, this is time consuming. Add a parameter to skip it.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Acked-by: John Stultz <jstultz@google.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
tools/testing/selftests/timers/clocksource-switch.c

index ed5b71f..5256e62 100644 (file)
@@ -119,12 +119,26 @@ int run_tests(int secs)
 
 char clocksource_list[10][30];
 
-int main(int argv, char **argc)
+int main(int argc, char **argv)
 {
        char orig_clk[512];
-       int count, i, status;
+       int count, i, status, opt;
+       int do_sanity_check = 1;
        pid_t pid;
 
+       /* Process arguments */
+       while ((opt = getopt(argc, argv, "s")) != -1) {
+               switch (opt) {
+               case 's':
+                       do_sanity_check = 0;
+                       break;
+               default:
+                       printf("Usage: %s [-s]\n", argv[0]);
+                       printf("        -s: skip sanity checks\n");
+                       exit(-1);
+               }
+       }
+
        get_cur_clocksource(orig_clk, 512);
 
        count = get_clocksources(clocksource_list);
@@ -135,19 +149,21 @@ int main(int argv, char **argc)
        }
 
        /* Check everything is sane before we start switching asynchronously */
-       for (i = 0; i < count; i++) {
-               printf("Validating clocksource %s\n", clocksource_list[i]);
-               if (change_clocksource(clocksource_list[i])) {
-                       status = -1;
-                       goto out;
-               }
-               if (run_tests(5)) {
-                       status = -1;
-                       goto out;
+       if (do_sanity_check) {
+               for (i = 0; i < count; i++) {
+                       printf("Validating clocksource %s\n",
+                               clocksource_list[i]);
+                       if (change_clocksource(clocksource_list[i])) {
+                               status = -1;
+                               goto out;
+                       }
+                       if (run_tests(5)) {
+                               status = -1;
+                               goto out;
+                       }
                }
        }
 
-
        printf("Running Asynchronous Switching Tests...\n");
        pid = fork();
        if (!pid)