Conversation
…l needs Phase 2 of #2203 (ADR-0095). With no shared crate there is nothing to decouple first, so this only pins what removing the Google code must not break, using literal fixtures that outlive the Google writers: - settings.json blocks omni-dev stops modelling (gmail, drive, lease, and an unknown product block) survive every non-Google writer unchanged, and a file carrying them still loads; - drivemutation and audit lines as 0.46.0 wrote them still decode and render through the log reader in oneline and json formats. Record the fork baseline (819907d) in the plan. Refs #2203
CoverageTotal: 97.93% ⚪ 0 pp vs Comparing
🔇 269 ignored region(s), 0 tolerated region(s)
Patch coveragePatch: 96.67% (87/90 new lines covered)
Uncovered new lines (3)
|
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.
Summary
Phase 2 of #2203 (ADR-0095, plan). With no shared crate there is nothing to decouple first, so this only pins what removing the Google code must not break. No behaviour change.
google_blocks_survive_every_non_google_settings_writerruns all four non-Google writers (upsert_env_vars,upsert_env_vars_in,remove_env_vars,remove_env_vars_in) over a file holdinggmail,drive,leaseblocks (one with a field no type models) and an unrelated product block, and asserts each block is unchanged after every step.settings_with_a_block_omni_dev_does_not_model_still_loadpins that such a file still loads.drivemutationandauditlines as 0.46.0 wrote them (captured from the real builders, machine fields anonymised) still decode (request_log.rs) and render throughemit_backlogin oneline and json formats, alongside a future unknown kind (cli/log/stream.rs).#[cfg(test)]modulerequest_log::legacy_linesshared by both test modules.819907d14and the modules whose fixes must be carried into the fork by hand.Finding
Today a malformed
driverule (neitherfolder_idnorfile_id) makesSettings::load_from_pathfail, because the typed block validates rules. That is harmless under the chosen design, since gwi keeps its own~/.gwi/settings.json, and it goes away when omni-dev stops modelling the block. The fixture avoids rule shapes today's types reject.Testing
The five new tests pass,
cargo clippy --all-targets -- -D warningsandcargo fmt --checkare clean, and the changelog check passes. I did not run the full suite locally; CI will. Test-only, so no changelog entry.Refs #2203