Skip to content
This repository was archived by the owner on Jul 9, 2025. It is now read-only.

Commit c11ca4a

Browse files
committed
Bug 1571684 - [mozlint] Stop logging Android lint setup failures, r=linter-reviewers,sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D236223
1 parent a6f30a2 commit c11ca4a

File tree

3 files changed

+19
-12
lines changed

3 files changed

+19
-12
lines changed

python/mozlint/mozlint/result.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ def reset(self):
2929
self.issues = defaultdict(list)
3030
self.failed_run = set()
3131
self.failed_setup = set()
32+
self.skipped = set()
3233
self.suppressed_warnings = defaultdict(int)
3334
self.fixed = 0
3435

@@ -71,6 +72,7 @@ def update(self, other):
7172

7273
self.failed_run |= other.failed_run
7374
self.failed_setup |= other.failed_setup
75+
self.skipped |= other.skipped
7476
self.fixed += other.fixed
7577
for k, v in other.suppressed_warnings.items():
7678
self.suppressed_warnings[k] += v

python/mozlint/mozlint/roller.py

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -231,8 +231,11 @@ def setup(self, virtualenv_manager=None):
231231
if virtualenv_manager is not None:
232232
setupargs["virtualenv_manager"] = virtualenv_manager
233233
start_time = time.monotonic()
234-
res = findobject(linter["setup"])(
235-
**setupargs,
234+
res = (
235+
findobject(linter["setup"])(
236+
**setupargs,
237+
)
238+
or 0
236239
)
237240
self.log.debug(
238241
f"setup for {linter['name']} finished in "
@@ -242,18 +245,22 @@ def setup(self, virtualenv_manager=None):
242245
traceback.print_exc()
243246
res = 1
244247

245-
if res:
248+
if res > 0:
246249
self.result.failed_setup.add(linter["name"])
250+
self.result.skipped.add(linter["name"])
251+
elif res < 0:
252+
# Negative return code means the linter should be skipped for
253+
# reasons other than a failure.
254+
self.result.skipped.add(linter["name"])
255+
256+
self.linters = [l for l in self.linters if l["name"] not in self.result.skipped]
247257

248258
if self.result.failed_setup:
249259
print(
250260
"error: problem with lint setup, skipping {}".format(
251261
", ".join(sorted(self.result.failed_setup))
252262
)
253263
)
254-
self.linters = [
255-
l for l in self.linters if l["name"] not in self.result.failed_setup
256-
]
257264
return 1
258265
return 0
259266

tools/lint/android/lints.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,13 @@
3131

3232
def setup(root, **setupargs):
3333
if setupargs.get("substs", {}).get("MOZ_BUILD_APP") != "mobile/android":
34-
return 1
34+
return -1
3535

3636
if "topobjdir" not in setupargs:
37-
print(
38-
"Skipping {}: a configured Android build is required!".format(
39-
setupargs["name"]
40-
)
37+
setupargs["log"].debug(
38+
f"Skipping {setupargs['name']}: a configured Android build is required!"
4139
)
42-
return 1
40+
return -1
4341

4442
return 0
4543

0 commit comments

Comments
 (0)