unit test: Measure test wall time with CCOUNT, so it includes time w/ interrupts off

pull/430/merge
Angus Gratton 2017-03-22 11:50:05 +08:00
rodzic d8fda48551
commit 8352e7e9ec
3 zmienionych plików z 11 dodań i 5 usunięć

Wyświetl plik

@ -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);
}

Wyświetl plik

@ -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);
}
}

Wyświetl plik

@ -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);
}