;----------------------------------------------------------------------- ; M5UnitUnified: Tests (using local sources via lib/) ;----------------------------------------------------------------------- [platformio] [env] build_flags = -Wall -Wextra -Wreturn-local-addr -Werror=format -Werror=return-local-addr test_framework = googletest test_build_src = true lib_ldf_mode = deep lib_deps=m5stack/M5Unified m5stack/M5Utility m5stack/M5HAL ; -------------------------------- ; Board definitions ; -------------------------------- [m5base] monitor_speed = 115200 monitor_filters = esp32_exception_decoder, time upload_speed = 1500000 test_speed = 115200 test_filter= embedded/test_update test_ignore= native/* [Core] extends = m5base board = m5stack-core-esp32-16M lib_deps = ${env.lib_deps} [Core2] extends = m5base board = m5stack-core2 lib_deps = ${env.lib_deps} [CoreS3] extends = m5base board = m5stack-cores3 lib_deps = ${env.lib_deps} [Fire] extends = m5base board = m5stack-fire lib_deps = ${env.lib_deps} [StampS3] ;include M5Capsule, DinMeter extends = m5base board = m5stack-stamps3 lib_deps = ${env.lib_deps} [Dial] extends = m5base board = m5stack-stamps3 lib_deps = ${env.lib_deps} m5stack/M5Dial [Atom] ;include AtomMatrix,AtomLite,AtomU extends = m5base board = m5stack-atom lib_deps = ${env.lib_deps} [AtomS3] ;include AtomEchoS3R,AtomS3Lite,AtomS3U extends = m5base board = m5stack-atoms3 lib_deps = ${env.lib_deps} ; Using ./boards/m5stack-atoms3r.json [AtomS3R] ;include AtomEchoS3R extends = m5base board = m5stack-atoms3r lib_deps = ${env.lib_deps} ; Using ./boards/m5stack-nanoc6.json [NanoC6] extends = m5base board = m5stack-nanoc6 board_build.partitions = default.csv lib_deps = ${env.lib_deps} [StickCPlus] extends = m5base board = m5stick-c lib_deps = ${env.lib_deps} ; Using ./boards/m5stick-cplus2.json [StickCPlus2] extends = m5base board = m5stick-cplus2 lib_deps = ${env.lib_deps} [StickS3] extends = m5base board = esp32-s3-devkitc-1 board_build.arduino.partitions = default_8MB.csv board_build.arduino.memory_type = qio_opi build_flags = -DESP32S3 -DBOARD_HAS_PSRAM -mfix-esp32-psram-cache-issue -DARDUINO_USB_CDC_ON_BOOT=1 -DARDUINO_USB_MODE=1 lib_deps = ${env.lib_deps} [Paper] extends = m5base board = m5stack-fire lib_deps = ${env.lib_deps} [CoreInk] extends = m5base board = m5stack-coreink lib_deps = ${env.lib_deps} [Cardputer] extends = m5base board = esp32-s3-devkitc-1 build_flags = -DESP32S3 -DARDUINO_USB_CDC_ON_BOOT=1 -DARDUINO_USB_MODE=1 lib_deps = ${env.lib_deps} [Tab5] extends = m5base board = esp32-p4-evboard board_build.mcu = esp32p4 board_build.flash_mode = qio build_flags = -DBOARD_HAS_PSRAM -DARDUINO_USB_CDC_ON_BOOT=1 -DARDUINO_USB_MODE=1 lib_deps = ${env.lib_deps} [NessoN1] extends = m5base board = arduino_nesso_n1 lib_deps = ${env.lib_deps} [sdl] build_flags = -O3 -xc++ -std=c++14 -lSDL2 -arch arm64 ; for arm mac -I"/usr/local/include/SDL2" ; for intel mac homebrew SDL2 -L"/usr/local/lib" ; for intel mac homebrew SDL2 -I"${sysenv.HOMEBREW_PREFIX}/include/SDL2" ; for arm mac homebrew SDL2 -L"${sysenv.HOMEBREW_PREFIX}/lib" ; for arm mac homebrew SDL2 platform = native test_filter= native/* test_ignore= embedded/* lib_deps = ${env.lib_deps} ; -------------------------------- ; Choose framework ; -------------------------------- [arduino_latest] platform = espressif32 @ 6.12.0 framework = arduino [nanoc6_latest] platform = espressif32 @ 6.12.0 platform_packages = platformio/framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git#3.0.7 platformio/framework-arduinoespressif32-libs @ https://github.com/espressif/esp32-arduino-libs.git#idf-release/v5.1 framework = arduino [pioarduino_latest] platform = https://github.com/pioarduino/platform-espressif32/releases/download/55.03.36/platform-espressif32.zip framework = arduino ; -------------------------------- ; Build options ; -------------------------------- [option_release] build_type=release build_flags = ${env.build_flags} -DCORE_DEBUG_LEVEL=3 -DLOG_LOCAL_LEVEL=3 -DAPP_LOG_LEVEL=3 -DM5_LOG_LEVEL=3 [option_log] build_type=release build_flags = ${env.build_flags} -DCORE_DEBUG_LEVEL=5 -DLOG_LOCAL_LEVEL=5 -DAPP_LOG_LEVEL=5 [option_debug] build_type=debug build_flags = ${env.build_flags} -DCORE_DEBUG_LEVEL=5 -DLOG_LOCAL_LEVEL=5 -DAPP_LOG_LEVEL=5 -DDEBUG [option_map] build_type=release build_flags = ${env.build_flags} -DCORE_DEBUG_LEVEL=3 -DLOG_LOCAL_LEVEL=3 -DAPP_LOG_LEVEL=3 -DM5_LOG_LEVEL=0 -Wl,-Map,output.map ; -------------------------------- ; Tests ; -------------------------------- ; Require at least C++14 after 1.13.0 [test_fw] lib_deps = google/googletest@1.12.1 [test_base] ; M5HAL, M5Utility, M5Unit-* are resolved via symlinks in lib/ ; M5Unified via lib_deps (depends on M5GFX etc.) lib_extra_dirs = lib . lib_deps = m5stack/M5Unified ${test_fw.lib_deps} ; Temporarily broken libs (uncomment to skip) ;lib_ignore = M5Unit-RFID ; M5Unit-CRYPTO [env:test_Core] extends=Core, option_release, test_base, arduino_latest [env:test_Core2] extends=Core2, option_release, test_base, arduino_latest [env:test_CoreS3] extends=CoreS3, option_release, test_base, arduino_latest [env:test_Fire] extends=Fire, option_release, test_base, arduino_latest [env:test_StampS3] extends=StampS3, option_release, test_base, arduino_latest [env:test_Dial] extends=Dial, option_release, test_base, arduino_latest [env:test_Atom] extends=Atom, option_release, test_base, arduino_latest [env:test_AtomS3] extends=AtomS3, option_release, test_base, arduino_latest [env:test_AtomS3R] extends=AtomS3R, option_release, test_base, arduino_latest [env:test_NanoC6] extends=NanoC6, option_release, test_base, nanoc6_latest lib_ignore = bsec2 [env:test_StickCPlus] extends=StickCPlus, option_release, test_base, arduino_latest [env:test_StickCPlus2] extends=StickCPlus2, option_release, test_base, arduino_latest [env:test_StickS3] extends=StickS3, option_release, test_base, arduino_latest build_flags = ${StickS3.build_flags} ${option_release.build_flags} [env:test_Paper] extends=Paper, option_release, test_base, arduino_latest [env:test_CoreInk] extends=CoreInk, option_release, test_base, arduino_latest [env:test_Cardputer] extends=Cardputer, option_release, test_base, arduino_latest build_flags = ${Cardputer.build_flags} ${option_release.build_flags} [env:test_Tab5] extends=Tab5, option_release, test_base, pioarduino_latest build_flags = ${Tab5.build_flags} ${option_release.build_flags} [env:test_NessoN1] extends=NessoN1, option_release, test_base, pioarduino_latest ; -------------------------------- ; README sample code tests ; No M5Unit-* dependencies needed (uses UnitDummy only) ; Works in CI without lib/ symlinks ; -------------------------------- [readme_base] lib_deps = m5stack/M5Unified m5stack/M5Utility m5stack/M5HAL ${test_fw.lib_deps} test_filter = embedded/test_readme test_ignore = embedded/test_update build_flags = ${option_release.build_flags} -DGTEST_FILTER='"ReadmeSample.*"' [env:test_readme_Core] extends=Core, readme_base, arduino_latest [env:test_readme_Core2] extends=Core2, readme_base, arduino_latest [env:test_readme_CoreS3] extends=CoreS3, readme_base, arduino_latest [env:test_readme_Fire] extends=Fire, readme_base, arduino_latest [env:test_readme_StampS3] extends=StampS3, readme_base, arduino_latest [env:test_readme_Dial] extends=Dial, readme_base, arduino_latest [env:test_readme_Atom] extends=Atom, readme_base, arduino_latest [env:test_readme_AtomS3] extends=AtomS3, readme_base, arduino_latest [env:test_readme_AtomS3R] extends=AtomS3R, readme_base, arduino_latest [env:test_readme_NanoC6] extends=NanoC6, readme_base, nanoc6_latest [env:test_readme_StickCPlus] extends=StickCPlus, readme_base, arduino_latest [env:test_readme_StickCPlus2] extends=StickCPlus2, readme_base, arduino_latest [env:test_readme_StickS3] extends=StickS3, readme_base, arduino_latest build_flags = ${StickS3.build_flags} ${readme_base.build_flags} [env:test_readme_Paper] extends=Paper, readme_base, arduino_latest [env:test_readme_CoreInk] extends=CoreInk, readme_base, arduino_latest [env:test_readme_Cardputer] extends=Cardputer, readme_base, arduino_latest build_flags = ${Cardputer.build_flags} ${readme_base.build_flags} [env:test_readme_Tab5] extends=Tab5, readme_base, pioarduino_latest build_flags = ${Tab5.build_flags} ${readme_base.build_flags} [env:test_readme_NessoN1] extends=NessoN1, readme_base, pioarduino_latest