ci: use headers for text config instead of CMake

This commit is contained in:
Gabor Kiss-Vamosi
2022-11-23 23:46:30 +01:00
parent 1c2dc983b4
commit 077cd2e15d
7 changed files with 167 additions and 244 deletions

View File

@@ -17,7 +17,6 @@ jobs:
build_option: ['OPTIONS_MINIMAL_MONOCHROME', build_option: ['OPTIONS_MINIMAL_MONOCHROME',
'OPTIONS_NORMAL_8BIT', 'OPTIONS_NORMAL_8BIT',
'OPTIONS_16BIT', 'OPTIONS_16BIT',
'OPTIONS_16BIT_SWAP',
'OPTIONS_FULL_32BIT'] 'OPTIONS_FULL_32BIT']
name: Build ${{ matrix.build_option }} name: Build ${{ matrix.build_option }}
steps: steps:

View File

@@ -18,250 +18,31 @@ include(CTest)
set(LVGL_TEST_DIR ${CMAKE_CURRENT_SOURCE_DIR}) set(LVGL_TEST_DIR ${CMAKE_CURRENT_SOURCE_DIR})
set(LVGL_TEST_COMMON_EXAMPLE_OPTIONS
-DLV_BUILD_EXAMPLES=1
-DLV_USE_DEMO_WIDGETS=1
-DLV_USE_DEMO_STRESS=1
)
set(LVGL_TEST_OPTIONS_MINIMAL_MONOCHROME set(LVGL_TEST_OPTIONS_MINIMAL_MONOCHROME
-DLV_COLOR_DEPTH=1 -DLV_TEST_OPTION=1
-DLV_MEM_SIZE=65535
-DLV_DPI_DEF=40
-DLV_USE_DRAW_MASKS=0
-DLV_USE_METER=0
-DLV_USE_LOG=1
-DLV_USE_ASSERT_NULL=0
-DLV_USE_ASSERT_MALLOC=0
-DLV_USE_ASSERT_MEM_INTEGRITY=0
-DLV_USE_ASSERT_OBJ=0
-DLV_USE_ASSERT_STYLE=0
-DLV_USE_USER_DATA=0
-DLV_FONT_UNSCII_8=1
-DLV_USE_BIDI=0
-DLV_USE_ARABIC_PERSIAN_CHARS=0
-DLV_BUILD_EXAMPLES=1
-DLV_FONT_DEFAULT=&lv_font_montserrat_14
-DLV_USE_PNG=1
-DLV_USE_BMP=1
-DLV_USE_GIF=1
-DLV_USE_QRCODE=1
-DLV_USE_MSG=1
) )
set(LVGL_TEST_OPTIONS_NORMAL_8BIT set(LVGL_TEST_OPTIONS_NORMAL_8BIT
-DLV_COLOR_DEPTH=8 -DLV_TEST_OPTION=2
-DLV_MEM_SIZE=65535
-DLV_DPI_DEF=40
-DLV_USE_DRAW_MASKS=1
-DLV_USE_LOG=1
-DLV_USE_ASSERT_NULL=0
-DLV_USE_ASSERT_MALLOC=0
-DLV_USE_ASSERT_MEM_INTEGRITY=0
-DLV_USE_ASSERT_OBJ=0
-DLV_USE_ASSERT_STYLE=0
-DLV_USE_USER_DATA=1
-DLV_FONT_UNSCII_8=1
-DLV_USE_FONT_SUBPX=1
-DLV_USE_BIDI=0
-DLV_USE_ARABIC_PERSIAN_CHARS=0
${LVGL_TEST_COMMON_EXAMPLE_OPTIONS}
-DLV_FONT_DEFAULT=&lv_font_montserrat_14
-DLV_USE_PNG=1
-DLV_USE_BMP=1
-DLV_USE_SJPG=1
-DLV_USE_GIF=1
-DLV_USE_QRCODE=1
-DLV_USE_MSG=1
) )
set(LVGL_TEST_OPTIONS_16BIT set(LVGL_TEST_OPTIONS_16BIT
-DLV_COLOR_DEPTH=16 -DLV_TEST_OPTION=3
-DLV_MEM_SIZE=65536
-DLV_DPI_DEF=40
-DLV_USE_DRAW_MASKS=1
-DLV_DITHER_GRADIENT=1
-DLV_USE_LOG=1
-DLV_USE_ASSERT_NULL=0
-DLV_USE_ASSERT_MALLOC=0
-DLV_USE_ASSERT_MEM_INTEGRITY=0
-DLV_USE_ASSERT_OBJ=0
-DLV_USE_ASSERT_STYLE=0
-DLV_USE_USER_DATA=1
-DLV_FONT_UNSCII_8=1
-DLV_USE_FONT_SUBPX=1
-DLV_USE_BIDI=0
-DLV_USE_ARABIC_PERSIAN_CHARS=0
${LVGL_TEST_COMMON_EXAMPLE_OPTIONS}
-DLV_FONT_DEFAULT=&lv_font_montserrat_14
-DLV_USE_PNG=1
-DLV_USE_BMP=1
-DLV_USE_SJPG=1
-DLV_USE_GIF=1
-DLV_USE_QRCODE=1
-DLV_USE_MSG=1
)
set(LVGL_TEST_OPTIONS_16BIT_SWAP
-DLV_COLOR_DEPTH=16
-DLV_MEM_SIZE=65536
-DLV_DPI_DEF=40
-DLV_USE_DRAW_MASKS=1
-DLV_DITHER_GRADIENT=1
-DLV_DITHER_ERROR_DIFFUSION=1
-DLV_GRAD_CACHE_DEF_SIZE=8*1024
-DLV_USE_LOG=1
-DLV_USE_ASSERT_NULL=0
-DLV_USE_ASSERT_MALLOC=0
-DLV_USE_ASSERT_MEM_INTEGRITY=0
-DLV_USE_ASSERT_OBJ=0
-DLV_USE_ASSERT_STYLE=0
-DLV_USE_USER_DATA=1
-DLV_FONT_UNSCII_8=1
-DLV_USE_FONT_SUBPX=1
-DLV_USE_BIDI=0
-DLV_USE_ARABIC_PERSIAN_CHARS=0
${LVGL_TEST_COMMON_EXAMPLE_OPTIONS}
-DLV_FONT_DEFAULT=&lv_font_montserrat_14
-DLV_USE_PNG=1
-DLV_USE_BMP=1
-DLV_USE_SJPG=1
-DLV_USE_GIF=1
-DLV_USE_QRCODE=1
-DLV_USE_MSG=1
) )
set(LVGL_TEST_OPTIONS_FULL_32BIT set(LVGL_TEST_OPTIONS_FULL_32BIT
-DLV_COLOR_DEPTH=32 -DLV_TEST_OPTION=4
-DLV_MEM_SIZE=8388608
-DLV_DPI_DEF=160
-DLV_USE_DRAW_MASKS=1
-DLV_SHADOW_CACHE_SIZE=1
-DLV_IMG_CACHE_DEF_SIZE=32
-DLV_USE_LOG=1
-DLV_LOG_LEVEL=LV_LOG_LEVEL_TRACE
-DLV_LOG_PRINTF=1
-DLV_USE_FONT_SUBPX=1
-DLV_FONT_SUBPX_BGR=1
-DLV_USE_PERF_MONITOR=1
-DLV_USE_ASSERT_NULL=1
-DLV_USE_ASSERT_MALLOC=1
-DLV_USE_ASSERT_MEM_INTEGRITY=1
-DLV_USE_ASSERT_OBJ=1
-DLV_USE_ASSERT_STYLE=1
-DLV_USE_USER_DATA=1
-DLV_USE_LARGE_COORD=1
-DLV_FONT_MONTSERRAT_8=1
-DLV_FONT_MONTSERRAT_10=1
-DLV_FONT_MONTSERRAT_12=1
-DLV_FONT_MONTSERRAT_14=1
-DLV_FONT_MONTSERRAT_16=1
-DLV_FONT_MONTSERRAT_18=1
-DLV_FONT_MONTSERRAT_20=1
-DLV_FONT_MONTSERRAT_22=1
-DLV_FONT_MONTSERRAT_24=1
-DLV_FONT_MONTSERRAT_26=1
-DLV_FONT_MONTSERRAT_28=1
-DLV_FONT_MONTSERRAT_30=1
-DLV_FONT_MONTSERRAT_32=1
-DLV_FONT_MONTSERRAT_34=1
-DLV_FONT_MONTSERRAT_36=1
-DLV_FONT_MONTSERRAT_38=1
-DLV_FONT_MONTSERRAT_40=1
-DLV_FONT_MONTSERRAT_42=1
-DLV_FONT_MONTSERRAT_44=1
-DLV_FONT_MONTSERRAT_46=1
-DLV_FONT_MONTSERRAT_48=1
-DLV_FONT_MONTSERRAT_12_SUBPX=1
-DLV_FONT_MONTSERRAT_28_COMPRESSED=1
-DLV_FONT_DEJAVU_16_PERSIAN_HEBREW=1
-DLV_FONT_SIMSUN_16_CJK=1
-DLV_FONT_UNSCII_8=1
-DLV_FONT_UNSCII_16=1
-DLV_FONT_FMT_TXT_LARGE=1
-DLV_USE_FONT_COMPRESSED=1
-DLV_USE_BIDI=1
-DLV_USE_ARABIC_PERSIAN_CHARS=1
-DLV_USE_PERF_MONITOR=1
-DLV_USE_MEM_MONITOR=1
-DLV_LABEL_TEXT_SELECTION=1
${LVGL_TEST_COMMON_EXAMPLE_OPTIONS}
-DLV_FONT_DEFAULT=&lv_font_montserrat_24
-DLV_USE_FS_STDIO=1
-DLV_FS_STDIO_LETTER='A'
-DLV_USE_FS_POSIX=1
-DLV_FS_POSIX_LETTER='B'
-DLV_USE_PNG=1
-DLV_USE_BMP=1
-DLV_USE_SJPG=1
-DLV_USE_GIF=1
-DLV_USE_QRCODE=1
-DLV_USE_FRAGMENT=1
-DLV_USE_IMGFONT=1
-DLV_USE_IME_PINYIN=1
-DLV_USE_MSG=1
-DLV_USE_FILE_EXPLORER=1
-DLV_USE_TINY_TTF=1
)
set(LVGL_TEST_OPTIONS_TEST_COMMON
-DLV_COLOR_DEPTH=32
-DLV_MEM_SIZE=2097152
-DLV_SHADOW_CACHE_SIZE=10240
-DLV_IMG_CACHE_DEF_SIZE=32
-DLV_DITHER_GRADIENT=1
-DLV_DITHER_ERROR_DIFFUSION=1
-DLV_GRAD_CACHE_DEF_SIZE=8*1024
-DLV_USE_LOG=1
-DLV_LOG_PRINTF=1
-DLV_USE_FONT_SUBPX=1
-DLV_FONT_SUBPX_BGR=1
-DLV_USE_ASSERT_NULL=0
-DLV_USE_ASSERT_MALLOC=0
-DLV_USE_ASSERT_MEM_INTEGRITY=0
-DLV_USE_ASSERT_OBJ=0
-DLV_USE_ASSERT_STYLE=0
-DLV_USE_USER_DATA=1
-DLV_USE_LARGE_COORD=1
-DLV_FONT_MONTSERRAT_14=1
-DLV_FONT_MONTSERRAT_16=1
-DLV_FONT_MONTSERRAT_18=1
-DLV_FONT_MONTSERRAT_24=1
-DLV_FONT_MONTSERRAT_48=1
-DLV_FONT_MONTSERRAT_12_SUBPX=1
-DLV_FONT_MONTSERRAT_28_COMPRESSED=1
-DLV_FONT_DEJAVU_16_PERSIAN_HEBREW=1
-DLV_FONT_SIMSUN_16_CJK=1
-DLV_FONT_UNSCII_8=1
-DLV_FONT_UNSCII_16=1
-DLV_FONT_FMT_TXT_LARGE=1
-DLV_USE_FONT_COMPRESSED=1
-DLV_USE_BIDI=1
-DLV_USE_ARABIC_PERSIAN_CHARS=1
-DLV_LABEL_TEXT_SELECTION=1
-DLV_USE_FS_STDIO=1
-DLV_FS_STDIO_LETTER='A'
-DLV_FS_STDIO_CACHE_SIZE=100
-DLV_USE_FS_POSIX=1
-DLV_FS_POSIX_LETTER='B'
-DLV_FS_POSIX_CACHE_SIZE=0
-DLV_USE_MSG=1
-DLV_USE_TINY_TTF=1
${LVGL_TEST_COMMON_EXAMPLE_OPTIONS}
-DLV_FONT_DEFAULT=&lv_font_montserrat_14
-Wno-unused-but-set-variable # unused variables are common in the dual-heap arrangement
) )
set(LVGL_TEST_OPTIONS_TEST_SYSHEAP set(LVGL_TEST_OPTIONS_TEST_SYSHEAP
${LVGL_TEST_OPTIONS_TEST_COMMON} -DLV_TEST_OPTION=4
-DLVGL_CI_USING_SYS_HEAP -DLVGL_CI_USING_SYS_HEAP
-DLV_MEM_CUSTOM=1 -Wno-unused-but-set-variable # unused variables are common in the dual-heap arrangement
) )
set(LVGL_TEST_OPTIONS_TEST_DEFHEAP set(LVGL_TEST_OPTIONS_TEST_DEFHEAP
${LVGL_TEST_OPTIONS_TEST_COMMON} -DLV_TEST_OPTION=4
-DLVGL_CI_USING_DEF_HEAP -DLVGL_CI_USING_DEF_HEAP
-DLV_MEM_SIZE=2097152
-fsanitize=address -fsanitize=address
--coverage --coverage
) )
@@ -272,8 +53,6 @@ elseif (OPTIONS_NORMAL_8BIT)
set (BUILD_OPTIONS ${LVGL_TEST_OPTIONS_NORMAL_8BIT}) set (BUILD_OPTIONS ${LVGL_TEST_OPTIONS_NORMAL_8BIT})
elseif (OPTIONS_16BIT) elseif (OPTIONS_16BIT)
set (BUILD_OPTIONS ${LVGL_TEST_OPTIONS_16BIT}) set (BUILD_OPTIONS ${LVGL_TEST_OPTIONS_16BIT})
elseif (OPTIONS_16BIT_SWAP)
set (BUILD_OPTIONS ${LVGL_TEST_OPTIONS_16BIT_SWAP})
elseif (OPTIONS_FULL_32BIT) elseif (OPTIONS_FULL_32BIT)
set (BUILD_OPTIONS ${LVGL_TEST_OPTIONS_FULL_32BIT}) set (BUILD_OPTIONS ${LVGL_TEST_OPTIONS_FULL_32BIT})
elseif (OPTIONS_TEST_SYSHEAP) elseif (OPTIONS_TEST_SYSHEAP)

View File

@@ -15,7 +15,6 @@ build_only_options = {
'OPTIONS_MINIMAL_MONOCHROME': 'Minimal config monochrome', 'OPTIONS_MINIMAL_MONOCHROME': 'Minimal config monochrome',
'OPTIONS_NORMAL_8BIT': 'Normal config, 8 bit color depth', 'OPTIONS_NORMAL_8BIT': 'Normal config, 8 bit color depth',
'OPTIONS_16BIT': 'Minimal config, 16 bit color depth', 'OPTIONS_16BIT': 'Minimal config, 16 bit color depth',
'OPTIONS_16BIT_SWAP': 'Normal config, 16 bit color depth swapped',
'OPTIONS_FULL_32BIT': 'Full config, 32 bit color depth', 'OPTIONS_FULL_32BIT': 'Full config, 32 bit color depth',
} }

View File

@@ -12,15 +12,14 @@
extern "C" { extern "C" {
#endif #endif
/********************* /***********************
* INCLUDES * PLATFORM CONFIGS
*********************/ ***********************/
/*********************
* DEFINES
*********************/
#ifdef LVGL_CI_USING_SYS_HEAP #ifdef LVGL_CI_USING_SYS_HEAP
#define LV_USE_BUILTIN_MALLOC 0
#define LV_USE_BUILTIN_MEMCPY 1
#define LV_USE_BUILTIN_SNPRINTF 1
#define LV_STDLIB_INCLUDE <stdlib.h> #define LV_STDLIB_INCLUDE <stdlib.h>
#define LV_MALLOC malloc #define LV_MALLOC malloc
#define LV_REALLOC realloc #define LV_REALLOC realloc
@@ -30,6 +29,9 @@ extern "C" {
#endif #endif
#ifdef LVGL_CI_USING_DEF_HEAP #ifdef LVGL_CI_USING_DEF_HEAP
#define LV_USE_BUILTIN_MALLOC 1
#define LV_USE_BUILTIN_MEMCPY 1
#define LV_USE_BUILTIN_SNPRINTF 1
#define LV_MALLOC lv_malloc_builtin #define LV_MALLOC lv_malloc_builtin
#define LV_REALLOC lv_realloc_builtin #define LV_REALLOC lv_realloc_builtin
#define LV_FREE lv_free_builtin #define LV_FREE lv_free_builtin
@@ -38,6 +40,26 @@ extern "C" {
#endif #endif
#ifdef MICROPYTHON
#define LV_USE_BUILTIN_MALLOC 0
#define LV_USE_BUILTIN_MEMCPY 1
#define LV_USE_BUILTIN_SNPRINTF 1
#define LV_STDLIB_INCLUDE "include/lv_mp_mem_custom_include.h"
#define LV_MALLOC m_malloc
#define LV_REALLOC m_realloc
#define LV_FREE m_free
#define LV_MEMSET lv_memset_builtin
#define LV_MEMCPY lv_memcpy_builtin
#define LV_SNPRINTF lv_snprintf_builtin
#define LV_VSNPRINTF lv_vsnprintf_builtin
#define LV_STRLEN lv_strlen_builtin
#define LV_STRNCPY lv_strncpy_builtin
#define LV_ENABLE_GC 1
#define LV_GC_INCLUDE "py/mpstate.h"
#define LV_GC_ROOT(x) MP_STATE_PORT(x)
#endif
void lv_test_assert_fail(void); void lv_test_assert_fail(void);
#define LV_ASSERT_HANDLER lv_test_assert_fail(); #define LV_ASSERT_HANDLER lv_test_assert_fail();
@@ -47,13 +69,38 @@ uint32_t custom_tick_get(void);
typedef void * lv_user_data_t; typedef void * lv_user_data_t;
/********************** /***********************
* GLOBAL PROTOTYPES * TEST CONFIGS
**********************/ ***********************/
#if !(defined(LV_TEST_OPTION)) || LV_TEST_OPTION == 4
#define LV_COLOR_DEPTH 32
#define LV_DPI_DEF 160
#include "lv_test_conf_full.h"
#elif LV_TEST_OPTION == 3
#define LV_COLOR_DEPTH 16
#define LV_DPI_DEF 90
#include "lv_test_conf_full.h"
#elif LV_TEST_OPTION == 2
#define LV_COLOR_DEPTH 8
#define LV_DPI_DEF 60
#include "lv_test_conf_minimal.h"
#elif LV_TEST_OPTION == 1
#define LV_COLOR_DEPTH 1
#define LV_DPI_DEF 30
#include "lv_test_conf_minimal.h"
#endif
#if defined(LVGL_CI_USING_SYS_HEAP) || defined(LVGL_CI_USING_DEF_HEAP)
#undef LV_LOG_PRINTF
/*For screenshots*/
#undef LV_USE_PERF_MONITOR
#undef LV_USE_MEM_MONITOR
#undef LV_DPI_DEF
#define LV_DPI_DEF 130
#endif
/**********************
* MACROS
**********************/
#ifdef __cplusplus #ifdef __cplusplus
} /*extern "C"*/ } /*extern "C"*/

View File

@@ -0,0 +1,76 @@
#define LV_MEM_SIZE 8388608
#define LV_USE_DRAW_MASKS 1
#define LV_SHADOW_CACHE_SIZE 10240
#define LV_IMG_CACHE_DEF_SIZE 32
#define LV_USE_LOG 1
#define LV_LOG_LEVEL LV_LOG_LEVEL_TRACE
#define LV_LOG_PRINTF 1
#define LV_USE_FONT_SUBPX 1
#define LV_FONT_SUBPX_BGR 1
#define LV_USE_PERF_MONITOR 1
#define LV_USE_ASSERT_NULL 1
#define LV_USE_ASSERT_MALLOC 1
#define LV_USE_ASSERT_MEM_INTEGRITY 1
#define LV_USE_ASSERT_OBJ 1
#define LV_USE_ASSERT_STYLE 1
#define LV_USE_USER_DATA 1
#define LV_USE_LARGE_COORD 1
#define LV_FONT_MONTSERRAT_8 1
#define LV_FONT_MONTSERRAT_10 1
#define LV_FONT_MONTSERRAT_12 1
#define LV_FONT_MONTSERRAT_14 1
#define LV_FONT_MONTSERRAT_16 1
#define LV_FONT_MONTSERRAT_18 1
#define LV_FONT_MONTSERRAT_20 1
#define LV_FONT_MONTSERRAT_22 1
#define LV_FONT_MONTSERRAT_24 1
#define LV_FONT_MONTSERRAT_26 1
#define LV_FONT_MONTSERRAT_28 1
#define LV_FONT_MONTSERRAT_30 1
#define LV_FONT_MONTSERRAT_32 1
#define LV_FONT_MONTSERRAT_34 1
#define LV_FONT_MONTSERRAT_36 1
#define LV_FONT_MONTSERRAT_38 1
#define LV_FONT_MONTSERRAT_40 1
#define LV_FONT_MONTSERRAT_42 1
#define LV_FONT_MONTSERRAT_44 1
#define LV_FONT_MONTSERRAT_46 1
#define LV_FONT_MONTSERRAT_48 1
#define LV_FONT_MONTSERRAT_12_SUBPX 1
#define LV_FONT_MONTSERRAT_28_COMPRESSED 1
#define LV_FONT_DEJAVU_16_PERSIAN_HEBREW 1
#define LV_FONT_SIMSUN_16_CJK 1
#define LV_FONT_UNSCII_8 1
#define LV_FONT_UNSCII_16 1
#define LV_FONT_DEFAULT &lv_font_montserrat_14
#define LV_FONT_FMT_TXT_LARGE 1
#define LV_USE_FONT_COMPRESSED 1
#define LV_USE_BIDI 1
#define LV_USE_ARABIC_PERSIAN_CHARS 1
#define LV_USE_PERF_MONITOR 1
#define LV_USE_MEM_MONITOR 1
#define LV_LABEL_TEXT_SELECTION 1
#define LV_USE_FS_STDIO 1
#define LV_FS_STDIO_LETTER 'A'
#define LV_USE_FS_POSIX 1
#define LV_FS_POSIX_LETTER 'B'
#define LV_USE_PNG 1
#define LV_USE_BMP 1
#define LV_USE_SJPG 1
#define LV_USE_GIF 1
#define LV_USE_QRCODE 1
#define LV_USE_FRAGMENT 1
#define LV_USE_IMGFONT 1
#define LV_USE_IME_PINYIN 1
#define LV_USE_MSG 1
#define LV_USE_FILE_EXPLORER 1
#define LV_USE_TINY_TTF 1
#define LV_BUILD_EXAMPLES 1
#define LV_USE_DEMO_WIDGETS 1
#define LV_USE_DEMO_STRESS 1

View File

@@ -0,0 +1,21 @@
#define LV_MEM_SIZE 65535
#define LV_USE_DRAW_MASKS 0
#define LV_USE_METER 0
#define LV_USE_LOG 1
#define LV_USE_ASSERT_NULL 0
#define LV_USE_ASSERT_MALLOC 0
#define LV_USE_ASSERT_MEM_INTEGRITY 0
#define LV_USE_ASSERT_OBJ 0
#define LV_USE_ASSERT_STYLE 0
#define LV_USE_USER_DATA 0
#define LV_USE_BIDI 0
#define LV_USE_ARABIC_PERSIAN_CHARS 0
#define LV_BUILD_EXAMPLES 1
#define LV_USE_PNG 1
#define LV_USE_BMP 1
#define LV_USE_GIF 1
#define LV_USE_QRCODE 1
#define LV_USE_MSG 1 /*For test_msg*/

View File

@@ -29,7 +29,9 @@ void lv_test_init(void)
void lv_test_deinit(void) void lv_test_deinit(void)
{ {
#if LV_USE_BUILTIN_MALLOC
lv_mem_deinit_builtin(); lv_mem_deinit_builtin();
#endif
} }
static void hal_init(void) static void hal_init(void)