Closed Bug 1654041 Opened 5 years ago Closed 5 years ago

Perma Tier 2 0:29.30 tools/lint/test/test_clippy.py::test_basic[clippy] TEST-UNEXPECTED-FAIL | est_black.py::test_lint_black[black] TEST-UNEXPECTED-FAIL

Categories

(Developer Infrastructure :: Lint and Formatting, defect, P5)

defect

Tracking

(firefox-esr68 unaffected, firefox-esr78 unaffected, firefox78 unaffected, firefox79 unaffected, firefox80 wontfix)

RESOLVED INCOMPLETE
Tracking Status
firefox-esr68 --- unaffected
firefox-esr78 --- unaffected
firefox78 --- unaffected
firefox79 --- unaffected
firefox80 --- wontfix

People

(Reporter: intermittent-bug-filer, Unassigned)

References

(Regression)

Details

(Keywords: intermittent-failure, regression)

Filed by: btara [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer.html#?job_id=310424576&repo=autoland
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/MZoaJMvmRS61jslmEyyx-Q/runs/0/artifacts/public/logs/live_backing.log


task 2020-07-20T17:52:21.737Z]  0:29.29 /builds/worker/checkouts/gecko/tools/lint/test/test_clippy.py
[task 2020-07-20T17:52:21.738Z]  0:29.30 ============================= test session starts ==============================
[task 2020-07-20T17:52:21.739Z]  0:29.30 platform linux -- Python 3.6.9, pytest-3.6.2, py-1.5.4, pluggy-0.6.0 -- /builds/worker/checkouts/gecko/obj-x86_64-pc-linux-gnu/_virtualenvs/gecko-QUm8IANb-3/bin/python
[task 2020-07-20T17:52:21.740Z]  0:29.30 rootdir: /builds/worker/checkouts/gecko, inifile: /builds/worker/checkouts/gecko/config/mozunit/mozunit/pytest.ini
[task 2020-07-20T17:52:21.741Z]  0:29.30 collecting ... collected 5 items
[task 2020-07-20T17:52:21.741Z]  0:29.30 
[task 2020-07-20T17:52:21.742Z]  0:29.30 tools/lint/test/test_clippy.py::test_basic[clippy] TEST-UNEXPECTED-FAIL
[task 2020-07-20T17:52:21.743Z]  0:29.30 tools/lint/test/test_clippy.py::test_error[clippy] PASSED
[task 2020-07-20T17:52:21.744Z]  0:29.30 tools/lint/test/test_clippy.py::test_file_and_path_provided[clippy] PASSED
[task 2020-07-20T17:52:21.744Z]  0:29.30 tools/lint/test/test_clippy.py::test_file_provided[clippy] PASSED
[task 2020-07-20T17:52:21.745Z]  0:29.30 tools/lint/test/test_clippy.py::test_cleanup[clippy] PASSED
[task 2020-07-20T17:52:21.746Z]  0:29.30 
[task 2020-07-20T17:52:21.747Z]  0:29.30 =================================== FAILURES ===================================
[task 2020-07-20T17:52:21.747Z]  0:29.30 ______________________________ test_basic[clippy] ______________________________
[task 2020-07-20T17:52:21.748Z]  0:29.30 
[task 2020-07-20T17:52:21.749Z]  0:29.30 lint = <function lint.<locals>.wrapper at 0x7fcc6a6bd598>
[task 2020-07-20T17:52:21.749Z]  0:29.30 config = {'description': 'Lint rust', 'exclude': ['Cargo.toml', 'gfx/wr/', 'gfx/wr/webrender/', 'gfx/wr/examples/', 'gfx/wr/web...', 'gfx/webrender_bindings/', 'gfx/wr/direct-composition/', 'gfx/wr/example-compositor/compositor-windows/', ...], ...}
[task 2020-07-20T17:52:21.750Z]  0:29.30 paths = <function paths.<locals>._inner at 0x7fcc6a6bd510>
[task 2020-07-20T17:52:21.750Z]  0:29.30 
[task 2020-07-20T17:52:21.750Z]  0:29.30     def test_basic(lint, config, paths):
[task 2020-07-20T17:52:21.750Z]  0:29.30         results = lint(paths("test1/"))
[task 2020-07-20T17:52:21.750Z]  0:29.30         print(results)
[task 2020-07-20T17:52:21.750Z]  0:29.30         assert len(results) > 7
[task 2020-07-20T17:52:21.750Z]  0:29.30 
[task 2020-07-20T17:52:21.750Z]  0:29.30         assert (
[task 2020-07-20T17:52:21.751Z]  0:29.30             "is never read" in results[0].message or "but never used" in results[0].message
[task 2020-07-20T17:52:21.751Z]  0:29.30         )
[task 2020-07-20T17:52:21.751Z]  0:29.30         assert results[0].level == "warning"
[task 2020-07-20T17:52:21.751Z]  0:29.30         assert results[0].lineno == 7
[task 2020-07-20T17:52:21.751Z]  0:29.30         assert results[0].column == 9
[task 2020-07-20T17:52:21.751Z]  0:29.30         assert results[0].rule == "unused_assignments"
[task 2020-07-20T17:52:21.751Z]  0:29.30         assert results[0].relpath == "test1/bad.rs"
[task 2020-07-20T17:52:21.751Z]  0:29.30         assert "tools/lint/test/files/clippy/test1/bad.rs" in results[0].path
[task 2020-07-20T17:52:21.751Z]  0:29.30 
[task 2020-07-20T17:52:21.751Z]  0:29.30         assert "value assigned to `b` is never read" in results[1].message
[task 2020-07-20T17:52:21.751Z]  0:29.30         assert results[1].level == "warning"
[task 2020-07-20T17:52:21.752Z]  0:29.30         assert results[1].relpath == "test1/bad.rs"
[task 2020-07-20T17:52:21.752Z]  0:29.30 
[task 2020-07-20T17:52:21.752Z]  0:29.30         assert "this looks like you are trying to swap `a` and `b`" in results[2].message
[task 2020-07-20T17:52:21.752Z]  0:29.30         assert results[2].level == "error"
[task 2020-07-20T17:52:21.752Z]  0:29.30         assert results[2].relpath == "test1/bad.rs"
[task 2020-07-20T17:52:21.752Z]  0:29.30         assert results[2].rule == "clippy::almost_swapped"
[task 2020-07-20T17:52:21.752Z]  0:29.30         assert "or maybe you should use `std::mem::replace`" in results[2].hint
[task 2020-07-20T17:52:21.752Z]  0:29.30 
[task 2020-07-20T17:52:21.752Z]  0:29.30         assert "variable does not need to be mutable" in results[6].message
[task 2020-07-20T17:52:21.752Z]  0:29.30         assert results[6].relpath == "test1/bad2.rs"
[task 2020-07-20T17:52:21.752Z]  0:29.30         assert results[6].rule == "unused_mut"
[task 2020-07-20T17:52:21.753Z]  0:29.30 
[task 2020-07-20T17:52:21.753Z]  0:29.30 >       assert "this range is empty so this for loop will never run" in results[7].message
[task 2020-07-20T17:52:21.753Z]  0:29.30 E       assert 'this range is empty so this for loop will never run' in 'this range is empty so it will yield no values'
[task 2020-07-20T17:52:21.753Z]  0:29.30 E        +  where 'this range is empty so it will yield no values' = Issue({\n  "linter": "clippy",\n  "path": "/builds/worker/checkouts/gecko/tools/lint/test/files/clippy/test1/bad2.rs",\n ... "error",\n  "rule": "clippy::reversed_empty_ranges",\n  "lineoffset": 0,\n  "diff": null,\n  "relpath": "test1/bad2.rs"\n}).message
[task 2020-07-20T17:52:21.753Z]  0:29.30 
[task 2020-07-20T17:52:21.753Z]  0:29.30 tools/lint/test/test_clippy.py:36: AssertionError
[task 2020-07-20T17:52:21.753Z]  0:29.30 ----------------------------- Captured stdout call -----------------------------
[task 2020-07-20T17:52:21.753Z]  0:29.30 [Issue({
[task 2020-07-20T17:52:21.753Z]  0:29.30   "linter": "clippy",
[task 2020-07-20T17:52:21.754Z]  0:29.30   "path": "/builds/worker/checkouts/gecko/tools/lint/test/files/clippy/test1/bad.rs",
[task 2020-07-20T17:52:21.754Z]  0:29.30   "message": "value assigned to `a` is never read",
[task 2020-07-20T17:52:21.754Z]  0:29.30   "lineno": 7,
[task 2020-07-20T17:52:21.754Z]  0:29.30   "column": 9,
[task 2020-07-20T17:52:21.754Z]  0:29.30   "hint": "warning: value assigned to `a` is never read\n --> bad.rs:7:9\n  |\n7 |     let mut a=1;\n  |         ^^^^^\n  |\n  = note: `#[warn(unused_assignments)]` on by default\n  = help: maybe it is overwritten before being read?\n\n",
[task 2020-07-20T17:52:21.754Z]  0:29.30   "source": null,
[task 2020-07-20T17:52:21.754Z]  0:29.30   "level": "warning",
[task 2020-07-20T17:52:21.754Z]  0:29.30   "rule": "unused_assignments",
[task 2020-07-20T17:52:21.754Z]  0:29.30   "lineoffset": 0,
[task 2020-07-20T17:52:21.754Z]  0:29.30   "diff": null,
[task 2020-07-20T17:52:21.755Z]  0:29.30   "relpath": "test1/bad.rs"
[task 2020-07-20T17:52:21.755Z]  0:29.30 }), Issue({
[task 2020-07-20T17:52:21.755Z]  0:29.30   "linter": "clippy",
[task 2020-07-20T17:52:21.755Z]  0:29.30   "path": "/builds/worker/checkouts/gecko/tools/lint/test/files/clippy/test1/bad.rs",
[task 2020-07-20T17:52:21.755Z]  0:29.30   "message": "value assigned to `b` is never read",
[task 2020-07-20T17:52:21.755Z]  0:29.30   "lineno": 11,
[task 2020-07-20T17:52:21.755Z]  0:29.30   "column": 5,
[task 2020-07-20T17:52:21.755Z]  0:29.30   "hint": "warning: value assigned to `b` is never read\n  --> bad.rs:11:5\n   |\n11 |     b = a;\n   |     ^\n   |\n   = help: maybe it is overwritten before being read?\n\n",
[task 2020-07-20T17:52:21.756Z]  0:29.30   "source": null,
[task 2020-07-20T17:52:21.756Z]  0:29.30   "level": "warning",
[task 2020-07-20T17:52:21.756Z]  0:29.30   "rule": "unused_assignments",
[task 2020-07-20T17:52:21.756Z]  0:29.30   "lineoffset": 0,
[task 2020-07-20T17:52:21.756Z]  0:29.30   "diff": null,
[task 2020-07-20T17:52:21.756Z]  0:29.30   "relpath": "test1/bad.rs"
[task 2020-07-20T17:52:21.756Z]  0:29.30 }), Issue({
[task 2020-07-20T17:52:21.756Z]  0:29.30   "linter": "clippy",
[task 2020-07-20T17:52:21.757Z]  0:29.30   "path": "/builds/worker/checkouts/gecko/tools/lint/test/files/clippy/test1/bad.rs",
[task 2020-07-20T17:52:21.757Z]  0:29.30   "message": "this looks like you are trying to swap `a` and `b`",
[task 2020-07-20T17:52:21.757Z]  0:29.30   "lineno": 10,
[task 2020-07-20T17:52:21.757Z]  0:29.30   "column": 5,
[task 2020-07-20T17:52:21.757Z]  0:29.30   "hint": "error: this looks like you are trying to swap `a` and `b`\n  --> bad.rs:10:5\n   |\n10 | /     a = b;\n11 | |     b = a;\n   | |_________^ help: try: `std::mem::swap(&mut a, &mut b)`\n   |\n   = note: `#[deny(clippy::almost_swapped)]` on by default\n   = note: or maybe you should use `std::mem::replace`?\n   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#almost_swapped\n\n",
[task 2020-07-20T17:52:21.757Z]  0:29.30   "source": null,
[task 2020-07-20T17:52:21.757Z]  0:29.30   "level": "error",
[task 2020-07-20T17:52:21.758Z]  0:29.30   "rule": "clippy::almost_swapped",
[task 2020-07-20T17:52:21.758Z]  0:29.30   "lineoffset": 1,
[task 2020-07-20T17:52:21.758Z]  0:29.30   "diff": null,
[task 2020-07-20T17:52:21.758Z]  0:29.30   "relpath": "test1/bad.rs"
[task 2020-07-20T17:52:21.758Z]  0:29.30 }), Issue({
[task 2020-07-20T17:52:21.758Z]  0:29.30   "linter": "clippy",
[task 2020-07-20T17:52:21.758Z]  0:29.30   "path": "/builds/worker/checkouts/gecko/tools/lint/test/files/clippy/test1/bad2.rs",
[task 2020-07-20T17:52:21.758Z]  0:29.30   "message": "variable `a` is assigned to, but never used",
[task 2020-07-20T17:52:21.758Z]  0:29.30   "lineno": 6,
[task 2020-07-20T17:52:21.758Z]  0:29.30   "column": 9,
[task 2020-07-20T17:52:21.758Z]  0:29.30   "hint": "warning: variable `a` is assigned to, but never used\n --> bad2.rs:6:9\n  |\n6 |     let mut a;\n  |         ^^^^^\n  |\n  = note: `#[warn(unused_variables)]` on by default\n  = note: consider using `_a` instead\n\n",
[task 2020-07-20T17:52:21.758Z]  0:29.30   "source": null,
[task 2020-07-20T17:52:21.759Z]  0:29.30   "level": "warning",
[task 2020-07-20T17:52:21.759Z]  0:29.30   "rule": "unused_variables",
[task 2020-07-20T17:52:21.759Z]  0:29.30   "lineoffset": 0,
[task 2020-07-20T17:52:21.759Z]  0:29.30   "diff": null,
[task 2020-07-20T17:52:21.759Z]  0:29.30   "relpath": "test1/bad2.rs"
[task 2020-07-20T17:52:21.759Z]  0:29.30 }), Issue({
[task 2020-07-20T17:52:21.759Z]  0:29.30   "linter": "clippy",
[task 2020-07-20T17:52:21.759Z]  0:29.30   "path": "/builds/worker/checkouts/gecko/tools/lint/test/files/clippy/test1/bad2.rs",
[task 2020-07-20T17:52:21.759Z]  0:29.30   "message": "unused variable: `b`",
[task 2020-07-20T17:52:21.759Z]  0:29.30   "lineno": 7,
[task 2020-07-20T17:52:21.759Z]  0:29.30   "column": 9,
[task 2020-07-20T17:52:21.759Z]  0:29.30   "hint": "warning: unused variable: `b`\n --> bad2.rs:7:9\n  |\n7 |     let mut b=1;\n  |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_b`\n\n",
[task 2020-07-20T17:52:21.759Z]  0:29.30   "source": null,
[task 2020-07-20T17:52:21.759Z]  0:29.30   "level": "warning",
[task 2020-07-20T17:52:21.759Z]  0:29.30   "rule": "unused_variables",
[task 2020-07-20T17:52:21.759Z]  0:29.30   "lineoffset": 0,
[task 2020-07-20T17:52:21.759Z]  0:29.30   "diff": null,
[task 2020-07-20T17:52:21.760Z]  0:29.30   "relpath": "test1/bad2.rs"
[task 2020-07-20T17:52:21.760Z]  0:29.30 }), Issue({
[task 2020-07-20T17:52:21.760Z]  0:29.30   "linter": "clippy",
[task 2020-07-20T17:52:21.760Z]  0:29.30   "path": "/builds/worker/checkouts/gecko/tools/lint/test/files/clippy/test1/bad2.rs",
[task 2020-07-20T17:52:21.760Z]  0:29.30   "message": "value assigned to `a` is never read",
[task 2020-07-20T17:52:21.760Z]  0:29.30   "lineno": 14,
[task 2020-07-20T17:52:21.760Z]  0:29.30   "column": 9,
[task 2020-07-20T17:52:21.760Z]  0:29.30   "hint": "warning: value assigned to `a` is never read\n  --> bad2.rs:14:9\n   |\n14 |         a = x;\n   |         ^\n   |\n   = note: `#[warn(unused_assignments)]` on by default\n   = help: maybe it is overwritten before being read?\n\n",
[task 2020-07-20T17:52:21.760Z]  0:29.30   "source": null,
[task 2020-07-20T17:52:21.760Z]  0:29.30   "level": "warning",
[task 2020-07-20T17:52:21.760Z]  0:29.30   "rule": "unused_assignments",
[task 2020-07-20T17:52:21.760Z]  0:29.30   "lineoffset": 0,
[task 2020-07-20T17:52:21.760Z]  0:29.30   "diff": null,
[task 2020-07-20T17:52:21.760Z]  0:29.30   "relpath": "test1/bad2.rs"
[task 2020-07-20T17:52:21.760Z]  0:29.30 }), Issue({
[task 2020-07-20T17:52:21.760Z]  0:29.30   "linter": "clippy",
[task 2020-07-20T17:52:21.761Z]  0:29.30   "path": "/builds/worker/checkouts/gecko/tools/lint/test/files/clippy/test1/bad2.rs",
[task 2020-07-20T17:52:21.761Z]  0:29.30   "message": "variable does not need to be mutable",
[task 2020-07-20T17:52:21.761Z]  0:29.30   "lineno": 7,
[task 2020-07-20T17:52:21.761Z]  0:29.30   "column": 9,
[task 2020-07-20T17:52:21.761Z]  0:29.30   "hint": "warning: variable does not need to be mutable\n --> bad2.rs:7:9\n  |\n7 |     let mut b=1;\n  |         ----^\n  |         |\n  |         help: remove this `mut`\n  |\n  = note: `#[warn(unused_mut)]` on by default\n\n",
[task 2020-07-20T17:52:21.761Z]  0:29.30   "source": null,
[task 2020-07-20T17:52:21.761Z]  0:29.30   "level": "warning",
[task 2020-07-20T17:52:21.761Z]  0:29.30   "rule": "unused_mut",
[task 2020-07-20T17:52:21.761Z]  0:29.30   "lineoffset": 0,
[task 2020-07-20T17:52:21.761Z]  0:29.30   "diff": null,
[task 2020-07-20T17:52:21.761Z]  0:29.30   "relpath": "test1/bad2.rs"
[task 2020-07-20T17:52:21.761Z]  0:29.30 }), Issue({
[task 2020-07-20T17:52:21.761Z]  0:29.30   "linter": "clippy",
[task 2020-07-20T17:52:21.761Z]  0:29.30   "path": "/builds/worker/checkouts/gecko/tools/lint/test/files/clippy/test1/bad2.rs",
[task 2020-07-20T17:52:21.761Z]  0:29.30   "message": "this range is empty so it will yield no values",
[task 2020-07-20T17:52:21.761Z]  0:29.30   "lineno": 13,
[task 2020-07-20T17:52:21.761Z]  0:29.30   "column": 14,
[task 2020-07-20T17:52:21.762Z]  0:29.30   "hint": "error: this range is empty so it will yield no values\n  --> bad2.rs:13:14\n   |\n13 |     for x in 5..10 - 5 {\n   |              ^^^^^^^^^\n   |\n   = note: `#[deny(clippy::reversed_empty_ranges)]` on by default\n   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#reversed_empty_ranges\n\n",
[task 2020-07-20T17:52:21.762Z]  0:29.30   "source": null,
[task 2020-07-20T17:52:21.762Z]  0:29.30   "level": "error",
[task 2020-07-20T17:52:21.762Z]  0:29.30   "rule": "clippy::reversed_empty_ranges",
[task 2020-07-20T17:52:21.762Z]  0:29.30   "lineoffset": 0,
[task 2020-07-20T17:52:21.762Z]  0:29.30   "diff": null,
[task 2020-07-20T17:52:21.762Z]  0:29.30   "relpath": "test1/bad2.rs"
[task 2020-07-20T17:52:21.762Z]  0:29.30 })]
[task 2020-07-20T17:52:21.762Z]  0:29.30 ----------------------------- Captured stderr call -----------------------------
[task 2020-07-20T17:52:21.762Z]  0:29.30 17:52:19.624 clippy (505) | Found CARGO_HOME in /build/rust
[task 2020-07-20T17:52:21.762Z]  0:29.30 17:52:19.668 clippy (505) | Found version: clippy 0.0.212 (5c1f21c 2020-07-13)
[task 2020-07-20T17:52:21.762Z]  0:29.30 
[task 2020-07-20T17:52:21.762Z]  0:29.30 17:52:19.669 clippy (505) | Found version: 2020.7.13. Minimal expected version: 2020.5.11
[task 2020-07-20T17:52:21.762Z]  0:29.30 17:52:19.669 clippy (505) | Path = /builds/worker/checkouts/gecko/tools/lint/test/files/clippy/test1
[task 2020-07-20T17:52:21.762Z]  0:29.30 17:52:19.669 clippy (505) | Path translated to = /builds/worker/checkouts/gecko/tools/lint/test/files/clippy/test1/Cargo.toml
[task 2020-07-20T17:52:21.763Z]  0:29.30 17:52:19.669 clippy (505) | Command: ['/build/rust/bin/cargo', 'clean', '--manifest-path', '/builds/worker/checkouts/gecko/tools/lint/test/files/clippy/test1/Cargo.toml']
[task 2020-07-20T17:52:21.763Z]  0:29.30 17:52:19.692 clippy (505) | Command: ['/build/rust/bin/cargo', 'clippy', '--message-format=json', '--manifest-path', '/builds/worker/checkouts/gecko/tools/lint/test/files/clippy/test1/Cargo.toml']
[task 2020-07-20T17:52:21.763Z]  0:29.30 17:52:20.109 clippy (505) | Command: ['/build/rust/bin/cargo', 'clean', '--manifest-path', '/builds/worker/checkouts/gecko/tools/lint/test/files/clippy/test1/Cargo.toml']
[task 2020-07-20T17:52:21.763Z]  0:29.30 17:52:20.133 clippy (505) | Could not parse the output:
[task 2020-07-20T17:52:21.763Z]  0:29.30 17:52:20.133 clippy (505) | clippy output: b'    Checking hello_world v0.1.0 (/builds/worker/checkouts/gecko/tools/lint/test/files/clippy/test1)'
[task 2020-07-20T17:52:21.763Z]  0:29.30 17:52:20.134 clippy (505) | Error outside of clippy.This means that the build failed. Therefore, skipping this
[task 2020-07-20T17:52:21.763Z]  0:29.30 17:52:20.134 clippy (505) | File = /builds/worker/checkouts/gecko/tools/lint/test/files/clippy/test1/bad2.rs / Detail = {'rendered': 'error: aborting due to previous error; 4 warnings emitted\n\n', 'children': [], 'code': None, 'level': 'error', 'message': 'aborting due to previous error; 4 warnings emitted', 'spans': []}
[task 2020-07-20T17:52:21.763Z]  0:29.30 17:52:20.134 clippy (505) | Error outside of clippy.This means that the build failed. Therefore, skipping this
[task 2020-07-20T17:52:21.763Z]  0:29.30 17:52:20.134 clippy (505) | File = /builds/worker/checkouts/gecko/tools/lint/test/files/clippy/test1/bad.rs / Detail = {'rendered': 'error: aborting due to previous error; 2 warnings emitted\n\n', 'children': [], 'code': None, 'level': 'error', 'message': 'aborting due to previous error; 2 warnings emitted', 'spans': []}
[task 2020-07-20T17:52:21.763Z]  0:29.30 17:52:20.134 clippy (505) | Could not parse the output:
[task 2020-07-20T17:52:21.763Z]  0:29.30 17:52:20.134 clippy (505) | clippy output: b'error: could not compile `hello_world`.'
[task 2020-07-20T17:52:21.763Z]  0:29.30 17:52:20.134 clippy (505) | Could not parse the output:
[task 2020-07-20T17:52:21.763Z]  0:29.30 17:52:20.135 clippy (505) | clippy output: b''
[task 2020-07-20T17:52:21.763Z]  0:29.30 17:52:20.135 clippy (505) | Could not parse the output:
[task 2020-07-20T17:52:21.763Z]  0:29.30 17:52:20.135 clippy (505) | clippy output: b'To learn more, run the command again with --verbose.'
[task 2020-07-20T17:52:21.763Z]  0:29.30 17:52:20.135 clippy (505) | Could not parse the output:
[task 2020-07-20T17:52:21.763Z]  0:29.30 17:52:20.135 clippy (505) | clippy output: b'warning: build failed, waiting for other jobs to finish...'
[task 2020-07-20T17:52:21.764Z]  0:29.30 17:52:20.135 clippy (505) | Could not parse the output:
[task 2020-07-20T17:52:21.764Z]  0:29.30 17:52:20.135 clippy (505) | clippy output: b'error: build failed'
[task 2020-07-20T17:52:21.764Z]  0:29.30 ------------------------------ Captured log call -------------------------------
[task 2020-07-20T17:52:21.764Z]  0:29.30 __init__.py                106 DEBUG    Found CARGO_HOME in /build/rust
[task 2020-07-20T17:52:21.764Z]  0:29.30 __init__.py                129 DEBUG    Found version: clippy 0.0.212 (5c1f21c 2020-07-13)
[task 2020-07-20T17:52:21.764Z]  0:29.30 
[task 2020-07-20T17:52:21.764Z]  0:29.30 __init__.py                175 DEBUG    Found version: 2020.7.13. Minimal expected version: 2020.5.11
[task 2020-07-20T17:52:21.764Z]  0:29.30 __init__.py                210 DEBUG    Path = /builds/worker/checkouts/gecko/tools/lint/test/files/clippy/test1
[task 2020-07-20T17:52:21.764Z]  0:29.30 __init__.py                227 DEBUG    Path translated to = /builds/worker/checkouts/gecko/tools/lint/test/files/clippy/test1/Cargo.toml
[task 2020-07-20T17:52:21.765Z]  0:29.30 __init__.py                149 DEBUG    Command: ['/build/rust/bin/cargo', 'clean', '--manifest-path', '/builds/worker/checkouts/gecko/tools/lint/test/files/clippy/test1/Cargo.toml']
[task 2020-07-20T17:52:21.769Z]  0:29.30 __init__.py                149 DEBUG    Command: ['/build/rust/bin/cargo', 'clippy', '--message-format=json', '--manifest-path', '/builds/worker/checkouts/gecko/tools/lint/test/files/clippy/test1/Cargo.toml']
[task 2020-07-20T17:52:21.769Z]  0:29.30 __init__.py                149 DEBUG    Command: ['/build/rust/bin/cargo', 'clean', '--manifest-path', '/builds/worker/checkouts/gecko/tools/lint/test/files/clippy/test1/Cargo.toml']
[task 2020-07-20T17:52:21.769Z]  0:29.30 __init__.py                 92 DEBUG    Could not parse the output:
[task 2020-07-20T17:52:21.769Z]  0:29.30 __init__.py                 93 DEBUG    clippy output: b'    Checking hello_world v0.1.0 (/builds/worker/checkouts/gecko/tools/lint/test/files/clippy/test1)'
[task 2020-07-20T17:52:21.769Z]  0:29.30 __init__.py                 54 DEBUG    Error outside of clippy.This means that the build failed. Therefore, skipping this
[task 2020-07-20T17:52:21.769Z]  0:29.31 __init__.py                 57 DEBUG    File = /builds/worker/checkouts/gecko/tools/lint/test/files/clippy/test1/bad2.rs / Detail = {'rendered': 'error: aborting due to previous error; 4 warnings emitted\n\n', 'children': [], 'code': None, 'level': 'error', 'message': 'aborting due to previous error; 4 warnings emitted', 'spans': []}
[task 2020-07-20T17:52:21.769Z]  0:29.31 __init__.py                 54 DEBUG    Error outside of clippy.This means that the build failed. Therefore, skipping this
[task 2020-07-20T17:52:21.769Z]  0:29.31 __init__.py                 57 DEBUG    File = /builds/worker/checkouts/gecko/tools/lint/test/files/clippy/test1/bad.rs / Detail = {'rendered': 'error: aborting due to previous error; 2 warnings emitted\n\n', 'children': [], 'code': None, 'level': 'error', 'message': 'aborting due to previous error; 2 warnings emitted', 'spans': []}
[task 2020-07-20T17:52:21.769Z]  0:29.31 __init__.py                 92 DEBUG    Could not parse the output:
[task 2020-07-20T17:52:21.769Z]  0:29.31 __init__.py                 93 DEBUG    clippy output: b'error: could not compile `hello_world`.'
[task 2020-07-20T17:52:21.769Z]  0:29.31 __init__.py                 92 DEBUG    Could not parse the output:
[task 2020-07-20T17:52:21.770Z]  0:29.31 __init__.py                 93 DEBUG    clippy output: b''
[task 2020-07-20T17:52:21.770Z]  0:29.31 __init__.py                 92 DEBUG    Could not parse the output:
[task 2020-07-20T17:52:21.770Z]  0:29.31 __init__.py                 93 DEBUG    clippy output: b'To learn more, run the command again with --verbose.'
[task 2020-07-20T17:52:21.770Z]  0:29.31 __init__.py                 92 DEBUG    Could not parse the output:
[task 2020-07-20T17:52:21.770Z]  0:29.31 __init__.py                 93 DEBUG    clippy output: b'warning: build failed, waiting for other jobs to finish...'
[task 2020-07-20T17:52:21.770Z]  0:29.31 __init__.py                 92 DEBUG    Could not parse the output:
[task 2020-07-20T17:52:21.770Z]  0:29.31 __init__.py                 93 DEBUG    clippy output: b'error: build failed'
[task 2020-07-20T17:52:21.770Z]  0:29.31 ====================== 1 failed, 4 passed in 2.14 seconds ======================
[task 2020-07-20T17:52:21.770Z]  0:29.31 Setting retcode to 1 from /builds/worker/checkouts/gecko/tools/lint/test/test_clippy.py
[task 2020-07-20T17:52:22.442Z]  0:30.00 /builds/worker/checkouts/gecko/tools/lint/test/test_file_license.py
[task 2020-07-20T17:52:22.442Z]  0:30.00 ============================= test session starts ==============================
[task 2020-07-20T17:52:22.450Z]  0:30.01 platform linux -- Python 3.6.9, pytest-3.6.2, py-1.5.4, pluggy-0.6.0 -- /builds/worker/checkouts/gecko/obj-x86_64-pc-linux-gnu/_virtualenvs/gecko-QUm8IANb-3/bin/python
[task 2020-07-20T17:52:22.450Z]  0:30.01 rootdir: /builds/worker/checkouts/gecko, inifile: /builds/worker/checkouts/gecko/config/mozunit/mozunit/pytest.ini
[task 2020-07-20T17:52:22.450Z]  0:30.01 collecting ... collected 1 item
[task 2020-07-20T17:52:22.450Z]  0:30.01 
[task 2020-07-20T17:52:22.450Z]  0:30.01 tools/lint/test/test_file_license.py::test_lint_license[license] PASSED
[task 2020-07-20T17:52:22.450Z]  0:30.01 
[task 2020-07-20T17:52:22.450Z]  0:30.01 =========================== 1 passed in 0.13 seconds ===========================
[task 2020-07-20T17:52:22.599Z]  0:30.16 /builds/worker/checkouts/gecko/tools/lint/test/test_file_perm.py
[task 2020-07-20T17:52:22.599Z]  0:30.16 ============================= test session starts ==============================
[task 2020-07-20T17:52:22.599Z]  0:30.16 platform linux -- Python 3.6.9, pytest-3.6.2, py-1.5.4, pluggy-0.6.0 -- /builds/worker/checkouts/gecko/obj-x86_64-pc-linux-gnu/_virtualenvs/gecko-QUm8IANb-3/bin/python
[task 2020-07-20T17:52:22.599Z]  0:30.16 rootdir: /builds/worker/checkouts/gecko, inifile: /builds/worker/checkouts/gecko/config/mozunit/mozunit/pytest.ini
[task 2020-07-20T17:52:22.599Z]  0:30.16 collecting ... collected 2 items
[task 2020-07-20T17:52:22.599Z]  0:30.16 
[task 2020-07-20T17:52:22.599Z]  0:30.16 tools/lint/test/test_file_perm.py::test_lint_file_perm[file-perm] PASSED
[task 2020-07-20T17:52:22.599Z]  0:30.16 tools/lint/test/test_file_perm.py::test_lint_shebang_file_perm[maybe-shebang-file-perm] PASSED
[task 2020-07-20T17:52:22.599Z]  0:30.16 
[task 2020-07-20T17:52:22.599Z]  0:30.16 =========================== 2 passed in 0.05 seconds ===========================
[task 2020-07-20T17:52:23.580Z]  0:31.14 /builds/worker/checkouts/gecko/tools/lint/test/test_file_whitespace.py
[task 2020-07-20T17:52:23.580Z]  0:31.14 ============================= test session starts ==============================
[task 2020-07-20T17:52:23.580Z]  0:31.14 platform linux -- Python 3.6.9, pytest-3.6.2, py-1.5.4, pluggy-0.6.0 -- /builds/worker/checkouts/gecko/obj-x86_64-pc-linux-gnu/_virtualenvs/gecko-QUm8IANb-3/bin/python
[task 2020-07-20T17:52:23.580Z]  0:31.14 rootdir: /builds/worker/checkouts/gecko, inifile: /builds/worker/checkouts/gecko/config/mozunit/mozunit/pytest.ini
[task 2020-07-20T17:52:23.580Z]  0:31.14 collecting ... collected 1 item
[task 2020-07-20T17:52:23.580Z]  0:31.14 
[task 2020-07-20T17:52:23.580Z]  0:31.14 tools/lint/test/test_file_whitespace.py::test_lint_file_whitespace[file-whitespace] PASSED
[task 2020-07-20T17:52:23.580Z]  0:31.14 
[task 2020-07-20T17:52:23.580Z]  0:31.14 =========================== 1 passed in 0.24 seconds ===========================
[task 2020-07-20T17:52:24.147Z]  0:31.71 /builds/worker/checkouts/gecko/tools/lint/test/test_black.py
[task 2020-07-20T17:52:24.153Z]  0:31.71 ============================= test session starts ==============================
[task 2020-07-20T17:52:24.155Z]  0:31.71 platform linux -- Python 3.6.9, pytest-3.6.2, py-1.5.4, pluggy-0.6.0 -- /builds/worker/checkouts/gecko/obj-x86_64-pc-linux-gnu/_virtualenvs/gecko-QUm8IANb-3/bin/python
[task 2020-07-20T17:52:24.155Z]  0:31.71 rootdir: /builds/worker/checkouts/gecko, inifile: /builds/worker/checkouts/gecko/config/mozunit/mozunit/pytest.ini
[task 2020-07-20T17:52:24.155Z]  0:31.71 collecting ... collected 1 item
[task 2020-07-20T17:52:24.155Z]  0:31.71 
[task 2020-07-20T17:52:24.155Z]  0:31.71 tools/lint/test/test_black.py::test_lint_black[black] TEST-UNEXPECTED-FAIL
[task 2020-07-20T17:52:24.155Z]  0:31.71 
[task 2020-07-20T17:52:24.156Z]  0:31.71 =================================== FAILURES ===================================
[task 2020-07-20T17:52:24.156Z]  0:31.71 ____________________________ test_lint_black[black] ____________________________
[task 2020-07-20T17:52:24.156Z]  0:31.71 
[task 2020-07-20T17:52:24.156Z]  0:31.71 lint = <function lint.<locals>.wrapper at 0x7ff9f6e02f28>
[task 2020-07-20T17:52:24.156Z]  0:31.71 paths = <function paths.<locals>._inner at 0x7ff9f68006a8>
[task 2020-07-20T17:52:24.156Z]  0:31.71 
[task 2020-07-20T17:52:24.156Z]  0:31.71     def test_lint_black(lint, paths):
[task 2020-07-20T17:52:24.157Z]  0:31.71         results = lint(paths())
[task 2020-07-20T17:52:24.157Z]  0:31.72         assert len(results) == 2
[task 2020-07-20T17:52:24.157Z]  0:31.72 
[task 2020-07-20T17:52:24.157Z]  0:31.72 >       assert "EOF" in results[0].message
[task 2020-07-20T17:52:24.158Z]  0:31.72 E       assert 'EOF' in 'Reformat python'
[task 2020-07-20T17:52:24.158Z]  0:31.72 E        +  where 'Reformat python' = Issue({\n  "linter": "black",\n  "path": "/builds/worker/checkouts/gecko/tools/lint/test/files/black/bad.py",\n  "message...l,\n  "source": null,\n  "level": "error",\n  "rule": null,\n  "lineoffset": null,\n  "diff": null,\n  "relpath": "bad.py"\n}).message
[task 2020-07-20T17:52:24.158Z]  0:31.72 
[task 2020-07-20T17:52:24.158Z]  0:31.72 tools/lint/test/test_black.py:16: AssertionError
[task 2020-07-20T17:52:24.158Z]  0:31.72 ----------------------------- Captured stderr call -----------------------------
[task 2020-07-20T17:52:24.158Z]  0:31.72 17:52:23.641 black (679) | Black version 19.10b0
[task 2020-07-20T17:52:24.159Z]  0:31.72 17:52:23.641 black (679) | Command: /builds/worker/checkouts/gecko/obj-x86_64-pc-linux-gnu/_virtualenvs/gecko-QUm8IANb-3/bin/black --check /builds/worker/checkouts/gecko/tools/lint/test/files/black/bad.py /builds/worker/checkouts/gecko/tools/lint/test/files/black/invalid.py
[task 2020-07-20T17:52:24.159Z]  0:31.72 ------------------------------ Captured log call -------------------------------
[task 2020-07-20T17:52:24.159Z]  0:31.72 black.py                   116 DEBUG    Black version 19.10b0
[task 2020-07-20T17:52:24.159Z]  0:31.72 black.py                   122 DEBUG    Command: /builds/worker/checkouts/gecko/obj-x86_64-pc-linux-gnu/_virtualenvs/gecko-QUm8IANb-3/bin/black --check /builds/worker/checkouts/gecko/tools/lint/test/files/black/bad.py /builds/worker/checkouts/gecko/tools/lint/test/files/black/invalid.py
[task 2020-07-20T17:52:24.159Z]  0:31.72 =========================== 1 failed in 2.92 seconds ===========================
[task 2020-07-20T17:52:25.568Z]  0:33.13 /builds/worker/checkouts/gecko/tools/lint/test/test_lintpref.py
[task 2020-07-20T17:52:25.587Z]  0:33.14 ============================= test session starts ==============================
[task 2020-07-20T17:52:25.587Z]  0:33.15 platform linux -- Python 3.6.9, pytest-3.6.2, py-1.5.4, pluggy-0.6.0 -- /builds/worker/checkouts/gecko/obj-x86_64-pc-linux-gnu/_virtualenvs/gecko-QUm8IANb-3/bin/python
[task 2020-07-20T17:52:25.588Z]  0:33.15 rootdir: /builds/worker/checkouts/gecko, inifile: /builds/worker/checkouts/gecko/config/mozunit/mozunit/pytest.ini
[task 2020-07-20T17:52:25.588Z]  0:33.15 collecting ... collected 1 item
[task 2020-07-20T17:52:25.588Z]  0:33.15 
[task 2020-07-20T17:52:25.588Z]  0:33.15 tools/lint/test/test_lintpref.py::test_lintpref[lintpref] PASSED
[task 2020-07-20T17:52:25.589Z]  0:33.15 
[task 2020-07-20T17:52:25.589Z]  0:33.15 =========================== 1 passed in 1.09 seconds ===========================
[task 2020-07-20T17:52:26.482Z]  0:34.04 /builds/worker/checkouts/gecko/tools/lint/test/test_rst.py
[task 2020-07-20T17:52:26.482Z]  0:34.04 ============================= test session starts ==============================
[task 2020-07-20T17:52:26.482Z]  0:34.04 platform linux -- Python 3.6.9, pytest-3.6.2, py-1.5.4, pluggy-0.6.0 -- /builds/worker/checkouts/gecko/obj-x86_64-pc-linux-gnu/_virtualenvs/gecko-QUm8IANb-3/bin/python
[task 2020-07-20T17:52:26.482Z]  0:34.04 rootdir: /builds/worker/checkouts/gecko, inifile: /builds/worker/checkouts/gecko/config/mozunit/mozunit/pytest.ini
[task 2020-07-20T17:52:26.483Z]  0:34.04 collecting ... collected 1 item
[task 2020-07-20T17:52:26.483Z]  0:34.04 
[task 2020-07-20T17:52:26.483Z]  0:34.04 tools/lint/test/test_rst.py::test_basic[rst] SKIPPED
[task 2020-07-20T17:52:26.497Z]  0:34.04 =========================== short test summary info ============================
[task 2020-07-20T17:52:26.498Z]  0:34.06 SKIP [1] tools/lint/test/test_rst.py:11: rstcheck is not installed
[task 2020-07-20T17:52:26.498Z]  0:34.06 
[task 2020-07-20T17:52:26.498Z]  0:34.06 ========================== 1 skipped in 0.02 seconds ===========================
[task 2020-07-20T17:52:27.226Z] ERROR: jsonschema 3.2.0 requires pyrsistent>=0.14.0, which is not installed.
[task 2020-07-20T17:52:27.227Z] ERROR: jsonschema 3.2.0 requires six>=1.11.0, which is not installed.
[task 2020-07-20T17:52:27.519Z]  0:35.08 /builds/worker/checkouts/gecko/tools/lint/test/test_rustfmt.py
[task 2020-07-20T17:52:27.519Z]  0:35.08 ============================= test session starts ==============================
[task 2020-07-20T17:52:27.520Z]  0:35.08 platform linux -- Python 3.6.9, pytest-3.6.2, py-1.5.4, pluggy-0.6.0 -- /builds/worker/checkouts/gecko/obj-x86_64-pc-linux-gnu/_virtualenvs/gecko-QUm8IANb-3/bin/python
[task 2020-07-20T17:52:27.526Z]  0:35.08 rootdir: /builds/worker/checkouts/gecko, inifile: /builds/worker/checkouts/gecko/config/mozunit/mozunit/pytest.ini
[task 2020-07-20T17:52:27.527Z]  0:35.08 collecting ... collected 3 items
[task 2020-07-20T17:52:27.527Z]  0:35.08 
[task 2020-07-20T17:52:27.528Z]  0:35.08 tools/lint/test/test_rustfmt.py::test_good[rust] PASSED
[task 2020-07-20T17:52:27.528Z]  0:35.08 tools/lint/test/test_rustfmt.py::test_basic[rust] PASSED
[task 2020-07-20T17:52:27.529Z]  0:35.08 tools/lint/test/test_rustfmt.py::test_dir[rust] PASSED
[task 2020-07-20T17:52:27.530Z]  0:35.09 
[task 2020-07-20T17:52:27.531Z]  0:35.09 =========================== 3 passed in 0.15 seconds ===========================
[task 2020-07-20T17:52:27.704Z]   ERROR: Command errored out with exit status 1:
[task 2020-07-20T17:52:27.705Z]    command: /builds/worker/checkouts/gecko/obj-x86_64-pc-linux-gnu/_virtualenvs/gecko-QUm8IANb-3/bin/python3.6m -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-_cvb89hf/wrapt/setup.py'"'"'; __file__='"'"'/tmp/pip-install-_cvb89hf/wrapt/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-y__56z73
[task 2020-07-20T17:52:27.705Z]        cwd: /tmp/pip-install-_cvb89hf/wrapt/
[task 2020-07-20T17:52:27.705Z]   Complete output (47 lines):

Mark, could you, please, take a look?

Flags: needinfo?(standard8)
Regressed by: 1653195

This is nothing to do with ESLint afaict. The ESLint configuration doesn't touch rust files not python related stuff.

Andrew, any ideas what might be going on here and in bug 1652503, these tests seem to be causing lots of problems?

Flags: needinfo?(standard8) → needinfo?(ahal)

I'd guess these tests have always been failing since they landed, but since it's tier 2 and only runs when files under tools/lint get touched, your change looked guilty.

Sylvestre, do you have time to investigate? If not we should at least turn the tests off until someone has time to look into them.

Flags: needinfo?(ahal) → needinfo?(sledru)
No longer regressed by: 1653195
Regressed by: 1650834
Has Regression Range: --- → yes
Keywords: regression

Set release status flags based on info from the regressing bug 1650834

Marco, can you take a look while Sylvestre is away?

Flags: needinfo?(mcastelluccio)

I agree with Andrew, let's disable the tests until someone has time to investigate the failures.

Flags: needinfo?(mcastelluccio)

Tom just put up a big series in bug 1652503 that looks like it might address some of the issues here. I'm not sure if it solves this or not, but let's wait for that to land and see if it helps.

Depends on: 1652503
Flags: needinfo?(sledru)
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → INCOMPLETE
Product: Firefox Build System → Developer Infrastructure
You need to log in before you can comment on or make changes to this bug.