unity: add linux port

This allows using unity fixture in Linux host tests
pull/9582/head
Ivan Grokhotkov 2022-08-15 18:09:45 +02:00
rodzic f8bcec07fa
commit 1ac3fc79b7
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 1E050E141B280628
2 zmienionych plików z 46 dodań i 5 usunięć

Wyświetl plik

@ -32,6 +32,7 @@ if(NOT "${target}" STREQUAL "linux")
list(APPEND srcs "unity_port_esp32.c")
list(APPEND srcs "port/esp/unity_utils_memory_esp.c")
else()
list(APPEND srcs "unity_port_linux.c")
list(APPEND srcs "port/linux/unity_utils_memory_linux.c")
endif()
@ -43,10 +44,8 @@ if(CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER)
idf_component_optional_requires(PRIVATE spi_flash)
endif()
if(NOT "${target}" STREQUAL "linux")
target_compile_definitions(${COMPONENT_LIB} PUBLIC
-DUNITY_INCLUDE_CONFIG_H
)
endif()
target_compile_definitions(${COMPONENT_LIB} PUBLIC
-DUNITY_INCLUDE_CONFIG_H
)
target_compile_options(${COMPONENT_LIB} PRIVATE -Wno-unused-const-variable)

Wyświetl plik

@ -0,0 +1,42 @@
/*
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <string.h>
#include <stdbool.h>
#include <unistd.h>
#include <stdio.h>
#include <sys/time.h>
#include "unity.h"
#include "sdkconfig.h"
static struct timeval s_test_start, s_test_stop;
void unity_putc(int c)
{
putc(c, stdout);
}
void unity_flush(void)
{
fflush(stdout);
fsync(fileno(stdout));
}
void unity_exec_time_start(void)
{
gettimeofday(&s_test_start, NULL);
}
void unity_exec_time_stop(void)
{
gettimeofday(&s_test_stop, NULL);
}
uint32_t unity_exec_time_get_ms(void)
{
return (uint32_t) (((s_test_stop.tv_sec * 1000000ULL + s_test_stop.tv_usec) -
(s_test_start.tv_sec * 1000000ULL + s_test_start.tv_usec)) / 1000);
}