Closed Bug 1653135 Opened 4 years ago Closed 4 years 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

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

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: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla80
Has Regression Range: --- → yes
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: