Harden Android Blockly runtime and test isolation - #9
Merged
Conversation
Signed-off-by: Viwat Vchirawongkwin <viwat.v@chula.ac.th>
Signed-off-by: Viwat Vchirawongkwin <viwat.v@chula.ac.th>
Signed-off-by: Viwat Vchirawongkwin <viwat.v@chula.ac.th>
Signed-off-by: Viwat Vchirawongkwin <viwat.v@chula.ac.th>
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.
Summary
{}serialization as an empty workspacedev.pyble.pyble.integrationtestwhile compiling and auditing the normal production package separately in CIWhy
Android validation exposed several independent failure modes:
{}, which the native empty-state check did not recognize.Impact
The normal Android launcher remains
dev.pyble.pyble. Device tests now use the disposableintegrationflavor, so they cannot replace or uninstall a user's PyBLE installation. GPIO edits stay native and focused until the user requests generation, and reload traffic is generation-scoped.The production-flavor APK is still signed with Gradle's debug configuration. It is a local development artifact, not a public beta or release.
Validation
flutter test --exclude-tags golden: 649 passedflutter analyze: cleandev.pyble.pyble; isolated test APK built asdev.pyble.pyble.integrationtestFinishedwith a physical blink; the same Android implementation also connected to an ESP32-S3 module and ran Blink a NeoPixel on its onboard GPIO 48 pixelScope
This PR is based on the current public
mainlineage. The local CNX correspondence draft, legacy announcement kit/assets, datasheet, and unrelated MicroPython submodule work are intentionally excluded.