Skip to content

feat: add verbose mode and failure logging to shorebird_tests#107

Open
eseidel wants to merge 36 commits intoshorebird/devfrom
es/log_shorebird_tests
Open

feat: add verbose mode and failure logging to shorebird_tests#107
eseidel wants to merge 36 commits intoshorebird/devfrom
es/log_shorebird_tests

Conversation

@eseidel
Copy link

@eseidel eseidel commented Feb 3, 2026

Summary

  • Gate line-by-line streaming output behind VERBOSE env var
  • Dump stdout/stderr on command failure (when not already streaming)
  • Set VERBOSE=1 in CI workflow for shorebird tests

Follow-up to #106.

Test plan

  • Verify CI logs show streaming output for each flutter command
  • Verify failure output is dumped when a command fails

eseidel and others added 30 commits January 16, 2026 14:17
)

* fix: stop using globals for patch data

* chore: run et format

* chore: add missing files

* test: add unittest

* chore: run et format

* chore: move elf_cache down into runtime

* chore: rename elf* to patch*

* chore: clean up logs

* chore: clean up comments

* chore: use Shorebird dart

* chore: small cleanup
…ASE_URL (#97)

* fix: make dart/flutter work without FLUTTER_STORAGE_BASE_URL

* feat: shorebird flutter should work without setting FLUTTER_STORAGE_BASE_URL

* fix: flutter_tools test fixes

* fix: enable running flutter_tools tests

* chore: remove unnecessary workflow
* chore: move build_engine scripts into this repo

* chore: fix path of content_aware_hash.sh
* chore: roll dart to 6a78a2deaee05bc74775fcfa2ff27aa53c96efca

* wip

* chore: run et format

* chore: attempt to clean up shorebird.cc

* chore: fix build

* chore: remove FLUTTER_STORAGE_BASE_URL override
* feat: allow patch_verification_mode

* test: update tests

* chore: rename to patch_verification
* es/report_start_fix

* fix: second callsite
* chore: add a C++ interface onto the updater

* chore: centralize SHOREBIRD_PLATFORM_SUPPORTED

* test: fix tests
eseidel and others added 6 commits January 23, 2026 17:40
Previously we stopped reporting start on android by accident.
This fixes that.  I also removed the once-per-process guard since
it's not necessary.  This should be correctly reporting
once-per-shell and let the rust code only handle the first of the
calls.

Fixes shorebirdtech/shorebird#3488
Co-authored-by: Brandon DeRosier <bdero@Brandons-Mac-Studio.local>
As part of our previous fix for FlutterEngineGroup, we introduced
a new bug whereby report_launch_start could be called more than once
in a multi-engine scenerio.  That would cause confusion about what
the current boot patch is, since the current patch is updated as
part of report_launch_start.  report_launch_start should only be
called once per processs, which this change fixes.

We still need more end-to-end testing at this layer to prevent bugs
like this from sneaking in.
Stream subprocess output in real time when VERBOSE is set, and dump
stdout/stderr on failure. This helps diagnose flaky timeout failures
in CI where buffered output is lost when the test times out.
eseidel added a commit that referenced this pull request Feb 3, 2026
- Create a template Flutter project once in setUpAll and copy it per
  test, avoiding repeated `flutter create` calls
- Run a warm-up `flutter build apk` in setUpAll (outside per-test
  timeout) to prime the Gradle cache
- Add actions/cache for ~/.gradle so subsequent CI runs start warm
- Add VERBOSE env var and failure output logging from #107
eseidel added a commit that referenced this pull request Feb 3, 2026
…#108)

- Create a template Flutter project once in setUpAll and copy it per
  test, avoiding repeated `flutter create` calls
- Run a warm-up `flutter build apk` in setUpAll (outside per-test
  timeout) to prime the Gradle cache
- Add actions/cache for ~/.gradle so subsequent CI runs start warm
- Add VERBOSE env var and failure output logging from #107
bdero pushed a commit that referenced this pull request Feb 3, 2026
…#108)

- Create a template Flutter project once in setUpAll and copy it per
  test, avoiding repeated `flutter create` calls
- Run a warm-up `flutter build apk` in setUpAll (outside per-test
  timeout) to prime the Gradle cache
- Add actions/cache for ~/.gradle so subsequent CI runs start warm
- Add VERBOSE env var and failure output logging from #107
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants