testsuite: ztress: Add test skipping if system clock is too high

When system clock is set globally for the test which is executed
on various qemu platforms it may happen that clock is set too
high compared to CPU clock frequency. In that case test may stuck.
Added check and test skipping in that case.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
This commit is contained in:
Krzysztof Chruscinski 2022-01-27 09:00:24 +01:00 committed by Anas Nashif
parent dfe9561d9b
commit 913868b6c4

View file

@ -4,6 +4,7 @@
* SPDX-License-Identifier: Apache-2.0
*/
#include <ztress.h>
#include <ztest_test.h>
#include <sys/printk.h>
#include <random/rand32.h>
#include <string.h>
@ -319,6 +320,14 @@ int ztress_execute(struct ztress_context_data *timer_data,
return -EINVAL;
}
/* Skip test if system clock is set too high compared to CPU frequency.
* It can happen when system clock is set globally for the test which is
* run on various platforms. 1000 factor is an arbitrary value.
*/
if ((sys_clock_hw_cycles_per_sec() / CONFIG_SYS_CLOCK_TICKS_PER_SEC) < 1000) {
ztest_test_skip();
}
ztress_init(thread_data);
context_cnt = cnt + (timer_data ? 1 : 0);