Closed Bug 1621284 Opened 4 years ago Closed 4 years ago

Mercurial failure while applying patch wasn't aborted

Categories

(Conduit Graveyard :: Transplant, defect, P2)

defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: bugzilla, Assigned: glob)

Details

(Keywords: conduit-triaged)

Attachments

(3 files)

I was trying to land bug 1618867, which renamed a bunch of tests and updated the corresponding .inis. The patch appeared correct on Phabricator and on try. When I landed it, only a single file was pushed to autoland.

The push was backed out several times because of this. I thought it was something up with a dependency on Phabricator, so I downloaded the raw diff, opened an entirely new revision with no dependencies, and landed that. That's the revision linked above, and it was also backed out with the same issue.

I should note that the most recent version of the Phabricator revision shows only a single file changed. That's because that was the state of the patch when it was backed out. If you roll back the history on Phabricator to before the landing, you can see all the changes. I linked the rolled-back version in comment 0.

Here's the transcript from Transplant:

D65808 $ hg identify upstream -r default
D65808 > 0d3c7f7727b4
D65808 $ hg strip --no-backup -r 'not public()'
D65808 > 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
D65808 $ hg --quiet revert --no-backup --all
D65808 $ hg purge --all
D65808 $ hg pull upstream
D65808 > pulling from https://hg.mozilla.org/integration/autoland
D65808 > searching for changes
D65808 > no changes found
D65808 $ hg rebase --abort -r 0d3c7f7727b4
D65808 > abort: no rebase in progress
D65808 $ hg update --clean -r 0d3c7f7727b4
D65808 > 4 files updated, 0 files merged, 0 files removed, 0 files unresolved
D65808 $ hg status --modified --added --removed --deleted --unknown --ignored
D65808 $ hg update 0d3c7f7727b4
D65808 > 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
D65808 $ hg import -s 95 --no-commit /tmp/tmp63bS2M
D65808 > applying /tmp/tmp63bS2M
D65808 > ../../../../repos/mozreview-gecko/browser/components/urlbar/tests/browser/browser_URLBarSetURI.js not tracked!
D65808 > abort: source file 'browser/components/urlbar/tests/browser/browser_URLBarSetURI.js' does not exist
D65808 $ hg commit --date '1583775001 +0000' --user 'Harry Twyford <htwyford@mozilla.com>' --landing_system lando --logfile /tmp/tmpQwArn0
D65808 $ hg log -r . -T '{node}'
D65808 > ef16e75c0df3f65aad0a038d8582fefc70a01e40
D65808 $ hg push -r tip upstream
D65808 > pushing to ssh://hg.mozilla.org/integration/autoland
D65808 > searching for changes
D65808 > remote: adding changesets
D65808 > remote: adding manifests
D65808 > remote: adding file changes
D65808 > remote: autoland push detected
D65808 > remote: recorded push in pushlog
D65808 > remote: added 1 changesets with 1 changes to 1 files
D65808 > remote:
D65808 > remote: View your change here:
D65808 > remote:   https://hg.mozilla.org/integration/autoland/rev/ef16e75c0df3f65aad0a038d8582fefc70a01e40
D65808 > remote:
D65808 > remote: Follow the progress of your build on Treeherder:
D65808 > remote:   https://treeherder.mozilla.org/#/jobs?repo=autoland&revision=ef16e75c0df3f65aad0a038d8582fefc70a01e40
D65808 > remote: recorded changegroup in replication log in 0.007s
D65808 $ hg strip --no-backup -r 'not public()'
D65808 > abort: empty revision set
D65808 $ hg --quiet revert --no-backup --all
D65808 $ hg purge --all

Manually applying the patch from Phabricator also fails:

dev/mozilla-central$ hg co 0d3c7f7727b4
518 files updated, 0 files merged, 37 files removed, 0 files unresolved
dev/mozilla-central$ hg import -s 95 --no-commit ~/Desktop/D65808.patch
applying /Users/byron/Desktop/D65808.patch
patching file browser/components/urlbar/tests/browser/browser.ini
Hunk #4 FAILED at 149
1 out of 4 hunks FAILED -- saving rejects to file browser/components/urlbar/tests/browser/browser.ini.rej
browser/components/urlbar/tests/browser/browser_URLBarSetURI.js not tracked!
abort: source file 'browser/components/urlbar/tests/browser/browser_URLBarSetURI.js' does not exist

Transplant should have bubbled up this failure rather the continuing with the landing process.

The actual failure is correct: the patch renamed browser/components/urlbar/tests/browser/browser_URLBarSetURI.js to browser_setURI.js however browser_URLBarSetURI.js does not exist.

Component: Lando → Transplant
Summary: No changed files except one are landed → Mercurial failure while applying patch wasn't aborted
Assignee: nobody → glob

Tests in test-autoland-merge are replicated in
test-post-autoland-job-from-patch

test-post-autoland-job-from-patch tests code paths that are not
exercised by Lando. Removing the code completely at this point isn't
necessary; but removing the tests means we don't have to keep them up to
date as the test harness changes.

Globbing over output in tests using Mercurial's test harness is
cumbersome, particularly with respect to testing JSON. Reformat the
output from autolandctl poll to show a pretty-formatted JSON, allowing
(glob) patterns in the test cases to match a smaller amount of text.

Depends on D66364

Keywords: conduit-triaged
Priority: -- → P2
Product: Conduit → Conduit Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: