Skip to content

Tests: rename InstantRunTest to FastDevTest and drop duplicate - #11736

Merged
jonathanpeppers merged 1 commit into
mainfrom
jonathanpeppers-refactored-bassoon
Jun 26, 2026
Merged

Tests: rename InstantRunTest to FastDevTest and drop duplicate#11736
jonathanpeppers merged 1 commit into
mainfrom
jonathanpeppers-refactored-bassoon

Conversation

@jonathanpeppers

Copy link
Copy Markdown
Member

Why rename?

The "Instant Run" name in tests/MSBuildDeviceIntegration/Tests/InstantRunTest.cs is leftover Android Studio jargon from ~2016. We never implemented the Android Studio Instant Run protocol — these tests have always exercised our Fast Deployment pipeline (_BuildApkFastDev + _Upload), which pushes managed assemblies to the on-device override directory so an assembly-only edit can skip repackaging/reinstalling the APK.

To make matters worse, the older Enhanced Fast Dev path (which actually did slice/sideload dex on device) was removed. So the InstantRun name suggests behavior we never had and sits next to behavior we no longer have. Renaming to FastDev matches the targets the tests actually assert against (_BuildApkFastDev) and the rest of our docs/codebase.

Before After
InstantRunTest.cs FastDevTest.cs
class InstantRunTest class FastDevTest
InstantRunSimpleBuild FastDevSimpleBuild
InstantRunFastDevDexes FastDevWithEmbeddedDex
temp/InstantRunTargetsSkipped_* temp/FastDevTargetsSkipped_*

InstantRunFastDevDexes also said "FastDev" twice — the test isn't really about dexes, it's about Fast Dev install/launch interacting with the android:useEmbeddedDex manifest attribute, so FastDevWithEmbeddedDex describes it more honestly.

.github/skills/tests/references/test-catalog.md filter alias was updated to match.

Why remove InstantRunResourceChange?

It is fully duplicative of SkipFastDevAlreadyInstalledResources:

InstantRunResourceChange (removed) SkipFastDevAlreadyInstalledResources (kept)
Edit applied LinearLayoutRelativeLayout in Main.axml Same
Install + reinstall flow Yes Yes
Assertion strategy Greps build log for _BuildApkFastDev / _Upload target names Cracks open the packaged_resources zip and asserts the new layout bytes are actually present
Catches a real regression that the other doesn't No Yes — if the resources weren't actually re-packaged, the kept test fails; the removed test would still pass as long as the targets ran

The kept test is strictly stronger. Anything the removed test could detect (Fast Dev targets running on a resource edit) is implied by the kept test passing.

Test impact

No behavior change in product code — this is rename + delete-one-redundant-test in tests/.

The "Instant Run" name is leftover Android Studio jargon from ~2016
and is misleading: we never implemented the Android Studio Instant
Run protocol. These tests exercise our Fast Deployment pipeline
(`_BuildApkFastDev` + `_Upload`), which pushes managed assemblies
to the on-device override directory so an assembly-only edit skips
repackaging/reinstalling the APK.

The earlier "Enhanced Fast Dev" path -- which did slice/sideload dex
on device -- has been removed, so the InstantRun name is doubly
confusing: it suggests behavior we never had, and adjacent behavior
we no longer have.

Renames:

* `InstantRunTest.cs` -> `FastDevTest.cs`
* `class InstantRunTest` -> `FastDevTest`
* `InstantRunSimpleBuild` -> `FastDevSimpleBuild`
* `InstantRunFastDevDexes` -> `FastDevWithEmbeddedDex`
  (the old name said "FastDev" twice; the test is really about the
  `android:useEmbeddedDex` manifest attribute interacting with Fast
  Dev install)
* `temp/InstantRunTargetsSkipped_*` -> `temp/FastDevTargetsSkipped_*`
* `test-catalog.md` filter alias updated

Removed `InstantRunResourceChange`. It performed the exact same
`LinearLayout` -> `RelativeLayout` layout edit + reinstall as
`SkipFastDevAlreadyInstalledResources`, but only grepped the build
log for `_BuildApkFastDev` / `_Upload` target names. The surviving
test is strictly stronger: it cracks open `packaged_resources` and
asserts the new layout bytes are actually present in the archive,
which implies both targets ran.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings June 25, 2026 15:04

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates device integration tests to reflect the actual feature under test: Fast Deployment (via _BuildApkFastDev + _Upload), replacing the outdated “Instant Run” naming and removing a redundant resource-change test.

Changes:

  • Renames the InstantRunTest fixture and key test methods to FastDev* to match the Fast Deployment pipeline being asserted.
  • Removes InstantRunResourceChange as duplicative of the stronger SkipFastDevAlreadyInstalledResources test.
  • Updates the test-catalog filter alias from InstantRunTest to FastDevTest.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
tests/MSBuildDeviceIntegration/Tests/FastDevTest.cs Renames the test fixture/methods to FastDev* and deletes the redundant resource-change test.
.github/skills/tests/references/test-catalog.md Updates the documented filter alias to FullyQualifiedName~FastDevTest and adjusts the description accordingly.

@jonathanpeppers jonathanpeppers added the ready-to-review This PR is ready to review/merge, I think any CI failures are just flaky (ignorable). label Jun 25, 2026
@jonathanpeppers
jonathanpeppers enabled auto-merge (squash) June 25, 2026 18:15
@jonathanpeppers
jonathanpeppers merged commit 7d69f13 into main Jun 26, 2026
41 checks passed
@jonathanpeppers
jonathanpeppers deleted the jonathanpeppers-refactored-bassoon branch June 26, 2026 09:09
@github-actions github-actions Bot locked and limited conversation to collaborators Jul 26, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

ready-to-review This PR is ready to review/merge, I think any CI failures are just flaky (ignorable).

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants