mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
unit test: Measure test wall time with CCOUNT, so it includes time w/ interrupts off
This commit is contained in:
parent
d8fda48551
commit
8352e7e9ec
@ -491,7 +491,7 @@ static esp_err_t IRAM_ATTR spi_flash_translate_rc(SpiFlashOpResult rc)
|
||||
|
||||
static inline void dump_counter(spi_flash_counter_t* counter, const char* name)
|
||||
{
|
||||
ESP_LOGI(TAG, "%s count=%8d time=%8dms bytes=%8d\n", name,
|
||||
ESP_LOGI(TAG, "%s count=%8d time=%8dus bytes=%8d\n", name,
|
||||
counter->count, counter->time, counter->bytes);
|
||||
}
|
||||
|
||||
|
@ -8,6 +8,7 @@
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "freertos/task.h"
|
||||
#include "esp_log.h"
|
||||
#include "soc/cpu.h"
|
||||
|
||||
#define unity_printf ets_printf
|
||||
|
||||
@ -167,10 +168,13 @@ void unity_run_menu()
|
||||
int test_index = strtol(cmdline, NULL, 10);
|
||||
if (test_index >= 1 && test_index <= test_count)
|
||||
{
|
||||
uint32_t start = esp_log_timestamp(); /* hacky way to get ms */
|
||||
uint32_t start;
|
||||
RSR(CCOUNT, start);
|
||||
unity_run_single_test_by_index(test_index - 1);
|
||||
uint32_t end = esp_log_timestamp();
|
||||
printf("Test ran in %dms\n", end - start);
|
||||
uint32_t end;
|
||||
RSR(CCOUNT, end);
|
||||
uint32_t ms = (end - start) / (XT_CLOCK_FREQ / 1000);
|
||||
printf("Test ran in %dms\n", ms);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -11,8 +11,10 @@ void unityTask(void *pvParameters)
|
||||
while(1);
|
||||
}
|
||||
|
||||
void app_main()
|
||||
void app_main()
|
||||
{
|
||||
// Note: if unpinning this task, change the way run times are calculated in
|
||||
// unity_platform
|
||||
xTaskCreatePinnedToCore(unityTask, "unityTask", 4096, NULL, 5, NULL, 0);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user