mirror of
https://github.com/mvt-project/mvt.git
synced 2026-09-16 06:35:37 +02:00
Peel tag and restore flags off settings rows
A dumpsys settings row can end in `tag:` and, on some vendor builds, in `isValuePreservedInRestore:` or a bare `notPreservedInRestore` token. The parser only peeled `default:` and `defaultSystemSet:` off the end of a record, so on a row without a default those tokens stayed inside the value, and on a row with one they landed in `defaultSystemSet`. A value of `0 tag:null` is not the safe value `0`, so a setting at its safe value was reported as dangerous; these are the false positives measured in #912. The metadata keys are ordered fields like the rest of the record, so `_split_fields` reads them now, which also replaces the separate handling of the default. The bare token has no `key:` shape and is printed last, so it is stripped first and recorded as `isValuePreservedInRestore: false`. The bugreport fixture gains the three row shapes from #912: a restore flag after `defaultSystemSet:`, and a `tag:` or a bare token directly after the value. Two of them sit on dangerous settings at their safe value, so the unchanged alert count of one is the false-positive check.
This commit is contained in:
@@ -96,7 +96,7 @@ class TestBugreportAnalysis:
|
||||
|
||||
def test_settings_module(self):
|
||||
m = self.launch_bug_report_module(Settings)
|
||||
assert len(m.results) == 11
|
||||
assert len(m.results) == 12
|
||||
|
||||
assert len(m.alertstore.alerts) == 1
|
||||
assert "accessibility_enabled = 1" in m.alertstore.alerts[0].message
|
||||
|
||||
Reference in New Issue
Block a user