selftests: timers: clocksource-switch: add command line switch to skip sanity check

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>
This commit is contained in:
Wolfram Sang 2022-07-13 22:46:19 +02:00 committed by Shuah Khan
parent 5be1fd963f
commit 19b6823a6e
1 changed files with 28 additions and 12 deletions

View File

@ -119,12 +119,26 @@ int run_tests(int secs)
char clocksource_list[10][30]; char clocksource_list[10][30];
int main(int argv, char **argc) int main(int argc, char **argv)
{ {
char orig_clk[512]; char orig_clk[512];
int count, i, status; int count, i, status, opt;
int do_sanity_check = 1;
pid_t pid; 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); get_cur_clocksource(orig_clk, 512);
count = get_clocksources(clocksource_list); count = get_clocksources(clocksource_list);
@ -135,19 +149,21 @@ int main(int argv, char **argc)
} }
/* Check everything is sane before we start switching asynchronously */ /* Check everything is sane before we start switching asynchronously */
for (i = 0; i < count; i++) { if (do_sanity_check) {
printf("Validating clocksource %s\n", clocksource_list[i]); for (i = 0; i < count; i++) {
if (change_clocksource(clocksource_list[i])) { printf("Validating clocksource %s\n",
status = -1; clocksource_list[i]);
goto out; if (change_clocksource(clocksource_list[i])) {
} status = -1;
if (run_tests(5)) { goto out;
status = -1; }
goto out; if (run_tests(5)) {
status = -1;
goto out;
}
} }
} }
printf("Running Asynchronous Switching Tests...\n"); printf("Running Asynchronous Switching Tests...\n");
pid = fork(); pid = fork();
if (!pid) if (!pid)