unity: add linux port

This allows using unity fixture in Linux host tests
This commit is contained in:
Ivan Grokhotkov 2022-08-15 18:09:45 +02:00 committed by Martin Vychodil
parent af81bd1b0a
commit a8ebd8ad04
3 changed files with 47 additions and 8 deletions

View File

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

View File

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

View File

@ -1,5 +1,3 @@
## IDF Component Manager Manifest File
dependencies:
espressif/esp_secure_cert_mgr:
version: "~3.0.3"
service_url: "https://api.staging.components.espressif.tools"
espressif/esp_secure_cert_mgr: "^2.0.2"