#include "freertos/semphr.h"
#include "test_utils.h"
+
TEST_CASE("esp_timer orders timers correctly", "[esp_timer]")
{
void dummy_cb(void* arg)
end = esp_timer_get_time();
}
int ns_per_call = (int) ((end - begin) * 1000 / iter_count);
- printf("esp_timer_get_time: %dns per call\n", ns_per_call);
- TEST_ASSERT(ns_per_call < 1000);
+ TEST_PERFORMANCE_LESS_THAN(ESP_TIMER_GET_TIME_PER_CALL, "%dns", ns_per_call);
}
/* This test runs for about 10 minutes and is disabled in CI.
#include "soc/io_mux_reg.h"
#include "soc/cpu.h"
+#include "idf_performance.h"
+
#define REPEAT_OPS 10000
static uint32_t start, end;
portEXIT_CRITICAL(&mux);
}
BENCHMARK_END("no contention lock");
+
+#ifdef CONFIG_FREERTOS_UNICORE
+ TEST_PERFORMANCE_LESS_THAN(FREERTOS_SPINLOCK_CYCLES_PER_OP_UNICORE, "%d cycles/op", ((end - start)/REPEAT_OPS));
+#else
+ TEST_PERFORMANCE_LESS_THAN(FREERTOS_SPINLOCK_CYCLES_PER_OP, "%d cycles/op", ((end - start)/REPEAT_OPS));
+#endif
}
TEST_CASE("portMUX recursive locks (no contention)", "[freertos]")