200: Remove the unused useLocale project property - #329
Open
DanielJette wants to merge 1 commit into
Open
DanielJette wants to merge 1 commit into
DanielJette wants to merge 1 commit into
Conversation
AndroidTestifyBot
approved these changes
Oct 2, 2026
AndroidTestifyBot
left a comment
Contributor
There was a problem hiding this comment.
Approved — but CI needs a re-run before merge
Verified
useLocalehas no reader anywhere: the only hits in the repo are the declaration itself and thesettings.mdrow, both removed here. Nothing forwards it as anAdbParam.Plugin:ktlintCheck Plugin:test Plugin:assemblepass locally, and the docs build is clean.- Removing rather than implementing is the right call for the reasons given; locale is part of the device key, so a suite-wide override is a design decision, not a bug fix.
CI is red on this PR and that needs resolving, not ignoring
Legacy Sample failed on Bitrise and Library / Plugin are stuck at pending. I could not reproduce it: ./gradlew LegacySample:screenshotTest on this branch against an API 37 emulator gives OK (88 tests). Nothing in this diff can reach the Legacy sample at runtime, and #330 shows the identical pattern from the same ten-minute window, so this looks like infrastructure. Please re-run the pipeline and merge only on green.
Non-blocking
Project.useLocalewas a public extension property. It lives indev.testify.internal, so I don't think it needs a "Breaking" label, but the CHANGELOG entry could say "public but internal-package" for anyone who reads it.- The CHANGELOG hunk lands on the same line as #330, #331, #332, #333 and #335; each merge will conflict the next.
This branch has not been deployed
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.
What does this change accomplish?
Fixes #200
-PuseLocale=en_CAhas no effect, as reported. The cause is that the property is declared and neverread by anything:
Those two lines are the declaration itself. There are no other references in the plugin, the library
or any extension — it is never forwarded as an
AdbParamand never reaches the device.It also could not have worked as the issue expects even if it were wired up. The property is typed
Boolean, so-PuseLocale=en_CAgoes through"en_CA".toBoolean()and evaluates tofalse.How have you achieved it?
Removed the property rather than implementing it.
Implementing a suite-wide locale override is not a small change, and it is not obviously the right
feature. Locale is part of the baseline device key —
DEFAULT_FOLDER_FORMATis"a-wxh@d-l"— so asuite-wide override relocates the entire baseline directory, and it would have to lose to a per-test
TestifyConfiguration.localewherever both are set. That is a behaviour change worth designingdeliberately, not a bug fix.
The supported path already exists and is per-test, which is what screenshot baselines want anyway:
TestifyConfiguration.locale, documented inChanging the Locale in a test. The
Samples/FlixRTL testadded in #327 exercises it, producing a separate
…-fabaseline directory alongside the…-en_USone — the per-test mechanism working as intended.
Also removed the
settings.mdrow that documented the property as "accepted, but the library doesn'tcurrently use it", since there is no longer anything to accept.
Scope of Impact and Testing instructions
A build passing
-PuseLocalewill no longer have the property resolve inside the plugin. Nothingobservable changes, because nothing read it. Not breaking in practice: the flag was already a no-op,
and Gradle ignores unrecognised
-Pproperties rather than failing.CHANGELOG entry added under Unreleased.
Verified locally: