chore: consolidate test framework into ci/ (retire Tela-CICD repo)#6
Open
anakod wants to merge 28 commits into
Open
chore: consolidate test framework into ci/ (retire Tela-CICD repo)#6anakod wants to merge 28 commits into
anakod wants to merge 28 commits into
Conversation
New test files (8): - test_div.cpp: 19 tests — container, nesting, visible/bgcolor bind, CSS - test_flex.cpp: 26 tests — row/column/wrap, gap, justify, align, grow - test_template_v2.cpp: 8 tests — <PascalCase> definitions - test_yaml_state.cpp: 13 tests — YAML key:value, type inference - test_nested_state.cpp: 34 tests — dotted paths, arrays, deep nesting - test_v2_combined.cpp: 23 tests — all v2 features together - test_lua_nested_state.cpp: 15 tests — Lua proxy state.player.x - test_binding_updates.cpp: 12 tests — binding updates for nested/arrays Updated tests: os=2.0 compat in existing tests Stubs: flex mock (flow, align, grow, pad_row/col), scrollable flag, lv_obj_get_child(-1) 62/62 tests pass.
feat: v2 tests — div, flex, YAML state, nested state, template v2
New: - tests/crypto/test_crypto.cpp — 22 tests for Blowfish encrypt/decrypt Modified: - build.py — .c file support, project lib/ components (includes + sources) - test.py — link mbedtls library - lib/build_libs.sh — install mbedTLS headers LIB_COMPONENTS list in build.py for vendored third-party code in project lib/. 63/63 tests pass.
feat: crypto tests + .c file support + mbedTLS lib
New: tests/storage/test_sd_path.cpp Requires TelaOS PR #3 (sdcard module).
- tests: test_bin_stream (10), test_ota_receive (10), test_console_ota (7) - stubs: esp_ota_ops (capturing mock), lz4 decompressor, esp_restart - stubs/lvgl.h: msgbox + lv_obj_delete_async + LV_EVENT_DELETE (future caught up) - test.py: bin_stream, ota_receive added to quick set Full suite 65/66 (ui/flex stretch-cross pre-existing).
align="stretch" is emulated in ui_html.cpp (LVGL has no LV_FLEX_ALIGN_STRETCH): container keeps cross=START and each child is stretched to 100% on the cross axis. The test still asserted flexCrossAlign==STRETCH, which the code intentionally never sets. Now verifies the child's cross-axis size (h==lv_pct(100) for row-flow). Pre-existing test/impl drift, surfaced once the msgbox stub catch-up let the full mock suite build. Full suite now 66/66.
- bin_stream: end-marker tolerance test added; removed offset test already covered by exact-reassembly check - console_ota: dropped size-validation cases that duplicate OtaReceive::start checks in test_ota_receive; kept console-layer parsing/routing tests
test: BLE OTA + BinStream tests, stubs, flex fix
feat: SD path tests
…impl) Records the principle the two-repo split used to enforce structurally, now that tests are consolidated into ci/. Also ci/.gitignore for build artifacts.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Consolidate the test framework into
ci/(retire the separate Tela-CICD repo)The host-mock test framework lived in a separate repo (Tela-CICD). That split
was a deliberate decision under old constraints - independent agents, no shared
git, hand-checked sync points - and to keep test authoring honest (couldn't peek
at implementation across a repo boundary). Those constraints are gone: one agent
per task, shared git, review via PRs. The barrier outlived its purpose.
What this does
ci/viagit subtree(history of thetest repo is preserved - see the
Add 'ci/' from commit ...merge).ci/holdstests/,stubs/, hostlib/(ckdl/lua/mbedtls builds), and therunner (
test.py,build.py,validate_archives.py).docs/TESTING.mdrecording the principle the split used to enforcestructurally (test the layer boundary / what we pass in; recording-mock; intent
not implementation).
ci/.gitignorefor build artifacts.Firmware build is untouched
PlatformIO
src_dirdefaults tosrc/;ci/is outsidesrc/,include/,lib/, sopio runnever sees it and the stubs cannot shadow real ESP headers.The host suite is isolated by directory + build profile instead of by repo.
Runner
The runner is fully
__file__-relative, so no path edits were needed - only theinvocation changes (project dir is now the repo root):
Verified
Full suite from the new location: 67/67 green (66 OTA/UI/etc + the SD path
test now sitting alongside).
Follow-up (not in this PR)
Tela-CICD gets a README redirect pointing here, then can be archived read-only.