Open
Bug 1941591
Opened 1 month ago
test_integrated_hgrepo_apply_patch_newline_bug fails with newer mercurial versions
Categories
(Conduit :: Lando, defect)
Conduit
Lando
Tracking
(Not tracked)
NEW
People
(Reporter: zeid, Unassigned)
References
Details
Relevant test output (Python 3.12, mercurial 6.9):
------------------------------ Captured log call -------------------------------
ERROR lando.main.scm.hg:hg.py:515 'NoneType' object has no attribute 'pid'
Traceback (most recent call last):
File "/home/runner/work/lando/lando/src/lando/main/scm/hg.py", line 453, in run_hg
return self._run_hg(args)
^^^^^^^^^^^^^^^^^^
File "/home/runner/work/lando/lando/src/lando/main/scm/hg.py", line 496, in _run_hg
raise hglib.error.CommandError(args, ret, out, err)
hglib.error.CommandError: (255, b'applying /tmp/tmpwaad5b6m', b'patching file test-file\nHunk #1 FAILED at 0\n1 out of 1 hunks FAILED -- saving rejects to file test-file.rej\nabort: patch failed to apply')
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/runner/work/lando/lando/src/lando/main/scm/hg.py", line 255, in apply_patch
self.run_hg(import_cmd + [f_diff.name])
File "/home/runner/work/lando/lando/src/lando/main/scm/hg.py", line 455, in run_hg
raise HgException.from_hglib_error(exc) from exc
lando.main.scm.hg.HgPatchConflict: hg error in cmd: hg import --no-commit -s 95 /tmp/tmpwaad5b6m: applying /tmp/tmpwaad5b6m
patching file test-file
Hunk #1 FAILED at 0
1 out of 1 hunks FAILED -- saving rejects to file test-file.rej
abort: patch failed to apply
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/runner/work/lando/lando/src/lando/main/scm/hg.py", line 307, in for_pull
yield self
File "/home/runner/work/lando/lando/src/lando/api/tests/test_hg.py", line 238, in test_integrated_hgrepo_apply_patch_newline_bug
repo.apply_patch(
File "/home/runner/work/lando/lando/src/lando/main/scm/hg.py", line 267, in apply_patch
self.run_hg(import_cmd + [f_diff.name])
File "/home/runner/work/lando/lando/src/lando/main/scm/hg.py", line 453, in run_hg
return self._run_hg(args)
^^^^^^^^^^^^^^^^^^
File "/home/runner/work/lando/lando/src/lando/main/scm/hg.py", line 473, in _run_hg
ret = self.hg_repo.runcommand(
^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/hglib/client.py", line 192, in runcommand
channel, data = self._readchannel()
^^^^^^^^^^^^^^^^^^^
File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/hglib/client.py", line 152, in _readchannel
raise error.ServerError('server exited with status %d: %s'
hglib.error.ServerError: server exited with status 1: b'** Unknown exception encountered with possibly-broken third-party extension "set_landing_system" (version N/A)\n** which supports versions 5.5 of Mercurial.\n** Please disable "set_landing_system" and try your action again.\n** If that fixes the bug please report it to the extension author.\n** Python 3.12.8 (main, Dec 4 2024, 06:19:59) [GCC 11.4.0]\n** Mercurial Distributed SCM (version 6.9)\n** Extensions loaded: purge, rebase, set_landing_system, strip\n** ProgrammingError: calling `set_untracked` outside of a `changing_files`\nTraceback (most recent call last):\n File "/home/runner/work/lando/lando/env/bin/hg", line 61, in <module>\n dispatch.run()\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dispatch.py", line 143, in run\n status = dispatch(req)\n ^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dispatch.py", line 232, in dispatch\n status = _rundispatch(req)\n ^^^^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dispatch.py", line 276, in _rundispatch\n ret = _runcatch(req) or 0\n ^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dispatch.py", line 457, in _runcatch\n return _callcatch(ui, _runcatchfunc)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dispatch.py", line 467, in _callcatch\n return scmutil.callcatch(ui, func)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/scmutil.py", line 177, in callcatch\n return func()\n ^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dispatch.py", line 447, in _runcatchfunc\n return _dispatch(req)\n ^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dispatch.py", line 1272, in _dispatch\n return runcommand(\n ^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dispatch.py", line 905, in runcommand\n ret = _runcommand(ui, options, cmd, d)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dispatch.py", line 1284, in _runcommand\n return cmdfunc()\n ^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dispatch.py", line 1270, in <lambda>\n d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/util.py", line 1957, in check\n return func(*args, **kwargs)\n ^^^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/commands.py", line 6710, in serve\n return server.runservice(opts, initfn=service.init, runfn=service.run)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/server.py", line 167, in runservice\n return runfn()\n ^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/commandserver.py", line 461, in run\n return sv.serve()\n ^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/commandserver.py", line 395, in serve\n while self.serveone():\n ^^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/commandserver.py", line 369, in serveone\n handler(self)\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/commandserver.py", line 350, in runcommand\n ret = self._dispatchcommand(req) & 255\n ^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/commandserver.py", line 289, in _dispatchcommand\n return dispatch.dispatch(req)\n ^^^^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dispatch.py", line 232, in dispatch\n status = _rundispatch(req)\n ^^^^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dispatch.py", line 276, in _rundispatch\n ret = _runcatch(req) or 0\n ^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dispatch.py", line 457, in _runcatch\n return _callcatch(ui, _runcatchfunc)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dispatch.py", line 467, in _callcatch\n return scmutil.callcatch(ui, func)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/scmutil.py", line 177, in callcatch\n return func()\n ^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dispatch.py", line 447, in _runcatchfunc\n return _dispatch(req)\n ^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dispatch.py", line 1272, in _dispatch\n return runcommand(\n ^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dispatch.py", line 905, in runcommand\n ret = _runcommand(ui, options, cmd, d)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dispatch.py", line 1284, in _runcommand\n return cmdfunc()\n ^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dispatch.py", line 1270, in <lambda>\n d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/util.py", line 1957, in check\n return func(*args, **kwargs)\n ^^^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/commands.py", line 4319, in import_\n msg, node, rej = cmdutil.tryimportone(\n ^^^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/cmdutil.py", line 2050, in tryimportone\n patch.patch(\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/patch.py", line 2450, in patch\n return _externalpatch(\n ^^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/patch.py", line 2363, in _externalpatch\n scmutil.marktouched(repo, files, similarity)\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/scmutil.py", line 1427, in marktouched\n _markchanges(repo, unknown + forgotten, deleted, renames)\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/scmutil.py", line 1503, in _markchanges\n wctx.forget(deleted)\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/context.py", line 1741, in forget\n if not ds.set_untracked(f):\n ^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dirstate.py", line 91, in wrap\n return func(self, *args, **kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dirstate.py", line 112, in wrap\n raise error.ProgrammingError(msg)\nmercurial.error.ProgrammingError: calling `set_untracked` outside of a `changing_files`'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/runner/work/lando/lando/src/lando/main/scm/hg.py", line 513, in _clean_and_close
self.clean_repo()
File "/home/runner/work/lando/lando/src/lando/main/scm/hg.py", line 536, in clean_repo
self.run_hg(["--quiet", "revert", "--no-backup", "--all"])
File "/home/runner/work/lando/lando/src/lando/main/scm/hg.py", line 453, in run_hg
return self._run_hg(args)
^^^^^^^^^^^^^^^^^^
File "/home/runner/work/lando/lando/src/lando/main/scm/hg.py", line 466, in _run_hg
"hg_pid": self.hg_repo.server.pid,
^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'pid'
=============================== warnings summary ===============================
env/lib/python3.12/site-packages/josepy/util.py:26
/home/runner/work/lando/lando/env/lib/python3.12/site-packages/josepy/util.py:26: DeprecationWarning: CSR support in pyOpenSSL is deprecated. You should use the APIs in cryptography.
def __init__(self, wrapped: Union[crypto.X509, crypto.X509Req]) -> None:
env/lib/python3.12/site-packages/_pytest/fixtures.py:1313
/home/runner/work/lando/lando/env/lib/python3.12/site-packages/_pytest/fixtures.py:1313: PytestRemovedIn9Warning: Marks applied to fixtures have no effect
See docs: https://docs.pytest.org/en/stable/deprecations.html#applying-a-mark-to-a-fixture-function
return fixture_marker(fixture_function)
src/lando/dockerflow/tests/test_dockerflow.py::test_dockerflow_version_endpoint_response
src/lando/dockerflow/tests/test_dockerflow.py::test_dockerflow_version_matches_disk_contents
src/lando/tests/test_version.py::test_version
/home/runner/work/lando/lando/env/lib/python3.12/site-packages/setuptools_scm/git.py:167: UserWarning: "/home/runner/work/lando/lando" is shallow and may cause errors
warnings.warn(f'"{wd.path}" is shallow and may cause errors')
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
---------- coverage: platform linux, python 3.12.8-final-0 -----------
Coverage HTML written to dir htmlcov
=========================== short test summary info ============================
FAILED src/lando/api/tests/test_hg.py::test_integrated_hgrepo_apply_patch_newline_bug - hglib.error.ServerError: server exited with status 1: b'** Unknown exception encountered with possibly-broken third-party extension "set_landing_system" (version N/A)\n** which supports versions 5.5 of Mercurial.\n** Please disable "set_landing_system" and try your action again.\n** If that fixes the bug please report it to the extension author.\n** Python 3.12.8 (main, Dec 4 2024, 06:19:59) [GCC 11.4.0]\n** Mercurial Distributed SCM (version 6.9)\n** Extensions loaded: purge, rebase, set_landing_system, strip\n** ProgrammingError: calling `set_untracked` outside of a `changing_files`\nTraceback (most recent call last):\n File "/home/runner/work/lando/lando/env/bin/hg", line 61, in <module>\n dispatch.run()\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dispatch.py", line 143, in run\n status = dispatch(req)\n ^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dispatch.py", line 232, in dispatch\n status = _rundispatch(req)\n ^^^^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dispatch.py", line 276, in _rundispatch\n ret = _runcatch(req) or 0\n ^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dispatch.py", line 457, in _runcatch\n return _callcatch(ui, _runcatchfunc)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dispatch.py", line 467, in _callcatch\n return scmutil.callcatch(ui, func)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/scmutil.py", line 177, in callcatch\n return func()\n ^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dispatch.py", line 447, in _runcatchfunc\n return _dispatch(req)\n ^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dispatch.py", line 1272, in _dispatch\n return runcommand(\n ^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dispatch.py", line 905, in runcommand\n ret = _runcommand(ui, options, cmd, d)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dispatch.py", line 1284, in _runcommand\n return cmdfunc()\n ^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dispatch.py", line 1270, in <lambda>\n d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/util.py", line 1957, in check\n return func(*args, **kwargs)\n ^^^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/commands.py", line 6710, in serve\n return server.runservice(opts, initfn=service.init, runfn=service.run)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/server.py", line 167, in runservice\n return runfn()\n ^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/commandserver.py", line 461, in run\n return sv.serve()\n ^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/commandserver.py", line 395, in serve\n while self.serveone():\n ^^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/commandserver.py", line 369, in serveone\n handler(self)\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/commandserver.py", line 350, in runcommand\n ret = self._dispatchcommand(req) & 255\n ^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/commandserver.py", line 289, in _dispatchcommand\n return dispatch.dispatch(req)\n ^^^^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dispatch.py", line 232, in dispatch\n status = _rundispatch(req)\n ^^^^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dispatch.py", line 276, in _rundispatch\n ret = _runcatch(req) or 0\n ^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dispatch.py", line 457, in _runcatch\n return _callcatch(ui, _runcatchfunc)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dispatch.py", line 467, in _callcatch\n return scmutil.callcatch(ui, func)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/scmutil.py", line 177, in callcatch\n return func()\n ^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dispatch.py", line 447, in _runcatchfunc\n return _dispatch(req)\n ^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dispatch.py", line 1272, in _dispatch\n return runcommand(\n ^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dispatch.py", line 905, in runcommand\n ret = _runcommand(ui, options, cmd, d)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dispatch.py", line 1284, in _runcommand\n return cmdfunc()\n ^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dispatch.py", line 1270, in <lambda>\n d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/util.py", line 1957, in check\n return func(*args, **kwargs)\n ^^^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/commands.py", line 4319, in import_\n msg, node, rej = cmdutil.tryimportone(\n ^^^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/cmdutil.py", line 2050, in tryimportone\n patch.patch(\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/patch.py", line 2450, in patch\n return _externalpatch(\n ^^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/patch.py", line 2363, in _externalpatch\n scmutil.marktouched(repo, files, similarity)\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/scmutil.py", line 1427, in marktouched\n _markchanges(repo, unknown + forgotten, deleted, renames)\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/scmutil.py", line 1503, in _markchanges\n wctx.forget(deleted)\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/context.py", line 1741, in forget\n if not ds.set_untracked(f):\n ^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dirstate.py", line 91, in wrap\n return func(self, *args, **kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/lando/lando/env/lib/python3.12/site-packages/mercurial/dirstate.py", line 112, in wrap\n raise error.ProgrammingError(msg)\nmercurial.error.ProgrammingError: calling `set_untracked` outside of a `changing_files`'
You need to log in
before you can comment on or make changes to this bug.
Description
•