examples/sotest: support packaged shared library fixtures#3526
examples/sotest: support packaged shared library fixtures#3526aviralgarg05 wants to merge 4 commits into
Conversation
c0ea45a to
52dcaa6
Compare
|
@aviralgarg05 and this one here? |
|
@aviralgarg05 what about CMakeLists.txt doesn't it need to be modified as well? |
|
Sorry, I missed the matching |
Add the shared-library package index and launch script fixtures used by the packaged sotest flow, covering the install metadata and staged execution path. Format the helper generator with black so it matches the current apps lint checks. Signed-off-by: aviralgarg05 <gargaviral99@gmail.com>
abe0cdf to
450bd87
Compare
Add the CMake-side build rules needed for the packaged shared-library sotest flow so it matches the existing Makefile behavior. This wires in the generated symbol table, ROMFS image, and packaged fixture artifacts for the shared-library test path. Signed-off-by: aviralgarg05 <gargaviral99@gmail.com>
0e0f392 to
469d1f8
Compare
Use the correct helper target names in the CMake sotest fixture rules so that the generated ROMFS assets depend on the shared-library test outputs in both ELF and non-ELF compiler paths. Signed-off-by: aviralgarg05 <gargaviral99@gmail.com>
469d1f8 to
76ab80f
Compare
90ad20d to
7bb6f87
Compare
Replace the shell-based CMake fixture generation with Python helpers\nso the generated symtab and ROMFS sources are produced in a\nportable way across the supported build hosts.\n\nThis keeps the sotest packaged shared-library fixture flow aligned\nwith the existing Makefile path while making the generated outputs\nexplicit to CMake. Signed-off-by: aviralgarg05 <gargaviral99@gmail.com>
7bb6f87 to
49d5f70
Compare
|
I checked the failing run, and this one does not seem to be caused by the patch itself. The failure is happening while the CI job tries to pull the shared container image from ghcr.io, before the actual build/test steps start. Since multiple matrix jobs are failing at that stage, this looks more like an infrastructure/network issue than a code issue in this PR. @acassis Can you pls help me understand if there is something wrong with my code |
Don't worry, it is a github failure, I just restart the Job |
Summary
This patch is another smaller upstream slice being extracted from the ongoing GSoC 2026 Dynamic ELF loading and
nxpkgwork for NuttX.An earlier draft PR (#3474) carries the initial
nxpkgpackage lifecycle helper. PR #3519 carries a separateapps/module-support cleanup slice from the same broader effort. This PR is independent of #3519, but can still be reviewed after it to keep the follow-up series orderly.Series order for this PR:
The change itself extends the
examples/sotestpackaging path so the shared-library test fixtures can also be prepared throughnxpkg-style package artifacts.Concretely, it:
shared-index.jsonandpkgsotest.nshfrom the builtmodprintandsotestshared objectsarch/compatmetadata and SHA-256 digests for those packaged shared-library fixturessotestto run in either its existing builtin-ROMFS flow or from explicit shared-library paths, with a--mounthelper mode for preparing the builtin test mount separatelyImpact
This makes the
sotestshared-library example usable as a package-style fixture producer for the same Dynamic ELF /nxpkgseries.That is useful for validating the shared-library side of the packaging flow, where the loader should consume installed artifacts rather than only the default builtin test paths.
There is no intended regression for the normal
sotestexample flow. The existing builtin-ROMFS path is preserved, while the test binary now also accepts explicit shared-library paths when the package-installed copies need to be exercised.Keeping this work separate from the larger series should make review easier, while still preserving the intended merge order after #3474.
Testing
Host:
arm64)xtensa-esp-elf-gcc (crosstool-NG esp-14.2.0_20241119) 14.2.0esptool.py v4.11.0Focused verification for this PR:
appsworktree with this patch stacked on top of the current#3474headapache/nuttxworktree at the localboards/xtensa/esp32s3/xiao:sotest: enable nxpkg fixturescommit used for the matching XIAO configurationxtensaesp32s3-xiao:sotestBuild steps:
Generated fixture artifacts:
Build result:
Broader series context:
nxpkgseries has been validated separately on the Seeed XIAO ESP32S3 Sense during the ongoing bring-up work, but this PR description is intentionally limiting its direct claim to the focused stacked verification above