Closed Bug 1653135 Opened 2 months ago Closed 2 months ago

Perma python/mach/mach/test/test_commands.py::TestCommands::test_mach_completion TEST-UNEXPECTED-FAIL

Categories

(Firefox Build System :: Mach Core, defect, P5)

defect

Tracking

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

RESOLVED FIXED
mozilla80
Tracking Status
firefox-esr68 --- unaffected
firefox-esr78 --- unaffected
firefox78 --- unaffected
firefox79 --- unaffected
firefox80 --- fixed

People

(Reporter: intermittent-bug-filer, Assigned: mhentges)

References

(Regression)

Details

(Keywords: intermittent-failure, regression)

Attachments

(1 file)

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


[task 2020-07-15T23:26:46.854Z] 0:25.75 python/mach/mach/test/test_dispatcher.py::TestDispatcher::test_command_aliases PASSED
[task 2020-07-15T23:26:46.861Z] 0:25.75
[task 2020-07-15T23:26:46.862Z] 0:25.75 =========================== 1 passed in 0.02 seconds ===========================
[task 2020-07-15T23:26:46.888Z] 0:25.78 /builds/worker/checkouts/gecko/python/mach/mach/test/test_commands.py
[task 2020-07-15T23:26:46.888Z] 0:25.78 ============================= test session starts ==============================
[task 2020-07-15T23:26:46.889Z] 0:25.78 platform linux2 -- Python 2.7.17, 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-2/bin/python
[task 2020-07-15T23:26:46.889Z] 0:25.78 rootdir: /builds/worker/checkouts/gecko, inifile: /builds/worker/checkouts/gecko/config/mozunit/mozunit/pytest.ini
[task 2020-07-15T23:26:46.889Z] 0:25.78 collecting ... collected 2 items
[task 2020-07-15T23:26:46.889Z] 0:25.78
[task 2020-07-15T23:26:46.889Z] 0:25.78 python/mach/mach/test/test_commands.py::TestCommands::test_mach_completion TEST-UNEXPECTED-FAIL
[task 2020-07-15T23:26:46.889Z] 0:25.78 python/mach/mach/test/test_commands.py::TestCommands::test_print_command TEST-UNEXPECTED-FAIL
[task 2020-07-15T23:26:46.889Z] 0:25.78
[task 2020-07-15T23:26:46.889Z] 0:25.78 =================================== FAILURES ===================================
[task 2020-07-15T23:26:46.889Z] 0:25.78 ______________________ TestCommands.test_mach_completion _______________________
[task 2020-07-15T23:26:46.889Z] 0:25.78
[task 2020-07-15T23:26:46.889Z] 0:25.78 self = <mach.test.test_commands.TestCommands testMethod=test_mach_completion>
[task 2020-07-15T23:26:46.890Z] 0:25.78
[task 2020-07-15T23:26:46.890Z] 0:25.78 def test_mach_completion(self):
[task 2020-07-15T23:26:46.890Z] 0:25.78 result, stdout, stderr = self._run_mach(['mach-completion'])
[task 2020-07-15T23:26:46.890Z] 0:25.78 > assert result == 0
[task 2020-07-15T23:26:46.890Z] 0:25.78 E AssertionError: assert 1 == 0
[task 2020-07-15T23:26:46.890Z] 0:25.78
[task 2020-07-15T23:26:46.890Z] 0:25.78 python/mach/mach/test/test_commands.py:40: AssertionError
[task 2020-07-15T23:26:46.890Z] 0:25.78 _______________________ TestCommands.test_print_command ________________________
[task 2020-07-15T23:26:46.890Z] 0:25.78
[task 2020-07-15T23:26:46.890Z] 0:25.78 self = <mach.test.test_commands.TestCommands testMethod=test_print_command>
[task 2020-07-15T23:26:46.890Z] 0:25.78
[task 2020-07-15T23:26:46.890Z] 0:25.78 def test_print_command(self):
[task 2020-07-15T23:26:46.890Z] 0:25.78 result, stdout, stderr = self._run_mach(['--print-command', 'cmd_foo', '-flag'])
[task 2020-07-15T23:26:46.890Z] 0:25.78 > assert result == 0
[task 2020-07-15T23:26:46.890Z] 0:25.78 E AssertionError: assert 1 == 0
[task 2020-07-15T23:26:46.891Z] 0:25.78
[task 2020-07-15T23:26:46.891Z] 0:25.78 python/mach/mach/test/test_commands.py:56: AssertionError
[task 2020-07-15T23:26:46.891Z] 0:25.78 =========================== 2 failed in 0.07 seconds ===========================
[task 2020-07-15T23:26:46.891Z] 0:25.78 Setting retcode to 1 from /builds/worker/checkouts/gecko/python/mach/mach/test/test_commands.py
[task 2020-07-15T23:26:46.927Z] 0:25.82 /builds/worker/checkouts/gecko/python/mach/mach/test/test_conditions.py
[task 2020-07-15T23:26:46.927Z] 0:25.82 ============================= test session starts ==============================
[task 2020-07-15T23:26:46.928Z] 0:25.82 platform linux2 -- Python 2.7.17, 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-2/bin/python
[task 2020-07-15T23:26:46.928Z] 0:25.82 rootdir: /builds/worker/checkouts/gecko, inifile: /builds/worker/checkouts/gecko/config/mozunit/mozunit/pytest.ini
[task 2020-07-15T23:26:46.929Z] 0:25.82 collecting ... collected 4 items
[task 2020-07-15T23:26:46.929Z] 0:25.82
[task 2020-07-15T23:26:46.929Z] 0:25.82 python/mach/mach/test/test_conditions.py::TestConditions::test_conditions_pass TEST-UNEXPECTED-FAIL
[task 2020-07-15T23:26:46.930Z] 0:25.82 python/mach/mach/test/test_conditions.py::TestConditions::test_help_message TEST-UNEXPECTED-FAIL
[task 2020-07-15T23:26:46.930Z] 0:25.82 python/mach/mach/test/test_conditions.py::TestConditions::test_invalid_context_message TEST-UNEXPECTED-FAIL
[task 2020-07-15T23:26:46.930Z] 0:25.82 python/mach/mach/test/test_conditions.py::TestConditions::test_invalid_type PASSED
[task 2020-07-15T23:26:46.931Z] 0:25.82
[task 2020-07-15T23:26:46.931Z] 0:25.82 =================================== FAILURES ===================================
[task 2020-07-15T23:26:46.932Z] 0:25.82 _____________________ TestConditions.test_conditions_pass ______________________
[task 2020-07-15T23:26:46.932Z] 0:25.82
[task 2020-07-15T23:26:46.933Z] 0:25.82 self = <mach.test.test_conditions.TestConditions testMethod=test_conditions_pass>
[task 2020-07-15T23:26:46.933Z] 0:25.83
[task 2020-07-15T23:26:46.934Z] 0:25.83 def test_conditions_pass(self):
[task 2020-07-15T23:26:46.934Z] 0:25.83 """Test that a command which passes its conditions is runnable."""
[task 2020-07-15T23:26:46.935Z] 0:25.83
[task 2020-07-15T23:26:46.935Z] 0:25.83 > self.assertEquals((0, '', ''), self._run_mach(['cmd_foo']))
[task 2020-07-15T23:26:46.936Z] 0:25.83 E AssertionError: Tuples differ: (0, u'', u'') != (1, u'Error running mach:\n\n ...
[task 2020-07-15T23:26:46.936Z] 0:25.83 E
[task 2020-07-15T23:26:46.937Z] 0:25.83 E First differing element 0:
[task 2020-07-15T23:26:46.937Z] 0:25.83 E 0
[task 2020-07-15T23:26:46.938Z] 0:25.83 E 1
[task 2020-07-15T23:26:46.938Z] 0:25.83 E
[task 2020-07-15T23:26:46.940Z] 0:25.83 E Diff is 1539 characters long. Set self.maxDiff to None to see it.
[task 2020-07-15T23:26:46.940Z] 0:25.83
[task 2020-07-15T23:26:46.941Z] 0:25.83 python/mach/mach/test/test_conditions.py:43: AssertionError
[task 2020-07-15T23:26:46.941Z] 0:25.83 _______________________ TestConditions.test_help_message _______________________
[task 2020-07-15T23:26:46.942Z] 0:25.83
[task 2020-07-15T23:26:46.942Z] 0:25.83 self = <mach.test.test_conditions.TestConditions testMethod=test_help_message>
[task 2020-07-15T23:26:46.942Z] 0:25.83
[task 2020-07-15T23:26:46.943Z] 0:25.84 def test_help_message(self):
[task 2020-07-15T23:26:46.943Z] 0:25.84 """Test that commands that are not runnable do not show up in help."""
[task 2020-07-15T23:26:46.944Z] 0:25.84
[task 2020-07-15T23:26:46.944Z] 0:25.84 result, stdout, stderr = self._run_mach(['help'], _populate_context)
[task 2020-07-15T23:26:46.945Z] 0:25.84 > self.assertIn('cmd_foo', stdout)
[task 2020-07-15T23:26:46.945Z] 0:25.84 E AssertionError: u'cmd_foo' not found in u'Error running mach:\n\n [u'help']\n\nThe error occurred in mach itself. This is likely a bug in mach itself or a\nfundamental problem with a loaded module.\n\nYou can invoke |./mach busted| to check if this issue is already on file. If it\nisn't, please use |./mach busted file general| to report it. If |./mach busted| is\nmisbehaving, you can also inspect the dependencies of bug 1543241.\n\nIf filing a bug, please include the full output of mach, including this error\nmessage.\n\nThe details of the failure are as follows:\n\nAttributeError: 'build'\n\n File "/builds/worker/checkouts/gecko/python/mach/mach/main.py", line 350, in run\n sentry = register_sentry(argv, self.settings, topsrcdir)\n File "/builds/worker/checkouts/gecko/python/mach/mach/sentry.py", line 52, in register_sentry\n if not is_telemetry_enabled(settings):\n File "/builds/worker/checkouts/gecko/python/mozbuild/mozbuild/telemetry.py", line 350, in is_telemetry_enabled\n return settings.build.telemetry\n File "/builds/worker/checkouts/gecko/python/mach/mach/config.py", line 143, in _\n six.reraise(AttributeError().class, exc, tb)\n File "/builds/worker/checkouts/gecko/python/mach/mach/config.py", line 140, in _\n return func(*args, **kwargs)\n File "/builds/worker/checkouts/gecko/python/mach/mach/config.py", line 419, in getattr\n return self.getitem(k)\n File "/builds/worker/checkouts/gecko/python/mach/mach/config.py", line 414, in getitem\n return self._sections[k]\n'
[task 2020-07-15T23:26:46.946Z] 0:25.84
[task 2020-07-15T23:26:46.947Z] 0:25.84 python/mach/mach/test/test_conditions.py:80: AssertionError
[task 2020-07-15T23:26:46.947Z] 0:25.84 _________________ TestConditions.test_invalid_context_message __________________
[task 2020-07-15T23:26:46.947Z] 0:25.84
[task 2020-07-15T23:26:46.948Z] 0:25.84 self = <mach.test.test_conditions.TestConditions testMethod=test_invalid_context_message>
[task 2020-07-15T23:26:46.949Z] 0:25.84
[task 2020-07-15T23:26:46.949Z] 0:25.84 def test_invalid_context_message(self):
[task 2020-07-15T23:26:46.949Z] 0:25.84 """Test that commands which do not pass all their conditions
[task 2020-07-15T23:26:46.950Z] 0:25.84 print the proper failure message."""
[task 2020-07-15T23:26:46.950Z] 0:25.84
[task 2020-07-15T23:26:46.951Z] 0:25.84 def is_bar():
[task 2020-07-15T23:26:46.951Z] 0:25.84 """Bar must be true"""
[task 2020-07-15T23:26:46.951Z] 0:25.84 fail_conditions = [is_bar]
[task 2020-07-15T23:26:46.952Z] 0:25.84
[task 2020-07-15T23:26:46.952Z] 0:25.84 for name in ('cmd_bar', 'cmd_foobar'):
[task 2020-07-15T23:26:46.955Z] 0:25.84 result, stdout, stderr = self._run_mach([name])
[task 2020-07-15T23:26:46.956Z] 0:25.85 self.assertEquals(1, result)
[task 2020-07-15T23:26:46.956Z] 0:25.85
[task 2020-07-15T23:26:46.956Z] 0:25.85 fail_msg = Registrar._condition_failed_message(name, fail_conditions)
[task 2020-07-15T23:26:46.957Z] 0:25.85 > self.assertEquals(fail_msg.rstrip(), stdout.rstrip())
[task 2020-07-15T23:26:46.957Z] 0:25.85 E AssertionError: u'It looks like you tried to run a mach command from an invalid context. The cmd [truncated]... != u'Error running mach:\n\n [u'cmd_bar']\n\nThe error occurred in mach itself [truncated]...
[task 2020-07-15T23:26:46.957Z] 0:25.85 E Diff is 1778 characters long. Set self.maxDiff to None to see it.

Assignee: nobody → mhentges
Flags: needinfo?(mhentges)

In tests, the settings object doesn't have as many sections. When a section isn't
available, it raises an error.
The Sentry integration can interpret this error as telemetry being disabled.

Depends on D83425

Pushed by mhentges@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/887c10ee27db
Sentry integration should handle incomplete settings r=firefox-build-system-reviewers,rstewart
Status: NEW → RESOLVED
Closed: 2 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla80
You need to log in before you can comment on or make changes to this bug.