test: fix coverage for typescript, java, and add iOS native + fix 3 e2e flake failure modes#9054
Conversation
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request improves the accuracy of end-to-end test coverage reporting by configuring NYC to correctly handle source maps for TypeScript-converted packages. By enabling source-map remapping and adjusting file inclusion/exclusion rules, the changes ensure that instrumentation performed on distribution files is correctly attributed to the original source files in Codecov. Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize the Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counterproductive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request updates the test coverage configuration to support TypeScript files and source maps by modifying .babelrc and nyc.config.js. Specifically, it enables inline source maps, expands the included files to include .ts and .tsx extensions, and adds exclusions for dist directories. However, setting 'exclude-after-remap': false will cause NYC to exclude files in dist/ before they are remapped to their TypeScript sources, resulting in untracked coverage. It is recommended to set 'exclude-after-remap' to true to ensure coverage is correctly mapped and tracked.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
3782408 to
38690eb
Compare
39f1e50 to
998146f
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #9054 +/- ##
==========================================
+ Coverage 61.86% 62.95% +1.09%
==========================================
Files 245 276 +31
Lines 11948 13837 +1889
Branches 2901 2875 -26
==========================================
+ Hits 7391 8710 +1319
- Misses 4482 5074 +592
+ Partials 75 53 -22 🚀 New features to boost your workflow:
|
f977758 to
8198aa2
Compare
Fix Jacoco Android e2e report paths for AGP 8.x, add iOS native coverage pull via a small native module, and scope LLVM profile link flags to the testing app. Resolve Swift compatibility linker failures on ccache CI builds with DT_TOOLCHAIN_DIR, explicit Swift libs, and a runtime stub.
Match local Xcode 26.5 runners and switch Detox to iPhone 17 for macos-26 / latest-stable Xcode simulator availability.
Poll simctl bootstatus with migration logging before app install, raise pre-boot and job timeouts, start simulator artifacts after boot, and document iOS simulator reliability in OKF.
…nostics Buffer Detox early-ready race, wait for Jet before launchApp, log app lifecycle in AppDelegate for simulator.log triage, and document Detox/Jet orchestration grep patterns in the OKF bundle.
a7d5aad to
c4d3b47
Compare
3d41c73 to
0ab8c7b
Compare
|
After ridiculously extensive testing, on a PR that is basically all testing. This looks good to go |
Summary
lib/*.ts) was not reaching Codecov.Problems
TypeScript path mismatch — Metro instruments bob
dist/module/*.js; Codecov/Jest trackpackages/*/lib/**. NYC was configured to include onlylib/**, so runtime__coverage__keys ondist/were dropped before source-map remap could run.Coverage never reached NYC — Jet transferred
global.__coverage__via HTTP POST to/coverage. Full e2e payloads (~4.5MB with inline source maps) were rejected (HTTP 426); NYC reported0/0.Solutions
TypeScript remap — Include
packages/*/dist/**/*.jsin NYCinclude(withsourceMap: true,exclude-after-remap: true) and enableuseInlineSourceMapsintests/.babelrcso hits remap tolib/*.ts.WS coverage transfer — Yarn patches on
jet,mocha-remote-server, andmocha-remote-client(intests/package.json): client signalscoverage-ready, server pulls over the existing WebSocket (flatted serialization), merges into NYC — no HTTP POST size limit.Misc
Test plan
packages/*/lib/modular.tsshows e2e hits in lcov (not only Jest)