libtest: Improve the interrupt test timing

If no state change occurred during the test action, then assume a late
interrupt.
This commit is contained in:
Sebastian Huber
2021-11-15 08:56:53 +01:00
parent 240a1f79b1
commit 69aaf58745
+8 -1
View File
@@ -456,9 +456,16 @@ T_interrupt_test(const T_interrupt_test_config *config, void *arg)
lower_bound[sample] = lower - delta;
sample = (sample + 1) % T_INTERRUPT_SAMPLE_COUNT;
} else if (state == T_INTERRUPT_TEST_LATE) {
} else if (state == T_INTERRUPT_TEST_LATE ||
state == T_INTERRUPT_TEST_ACTION) {
uint_fast32_t upper;
/*
* If the state is T_INTERRUPT_TEST_ACTION, then there
* was probably no interrupt during the action, so the
* interrupt would be late.
*/
lower_sum -= lower_bound[sample];
lower_sum += busy;
lower_bound[sample] = busy;