Closed Bug 1694380 Opened 3 years ago Closed 3 years ago

geckodriver is not installed at the right place on mac

Categories

(Firefox Build System :: General, defect)

Unspecified
macOS
defect

Tracking

(firefox88 fixed)

RESOLVED FIXED
88 Branch
Tracking Status
firefox88 --- fixed

People

(Reporter: jfkthame, Assigned: glandium)

Details

Attachments

(2 files)

I ran into problems trying to run a ./mach wpt --headless ... command in my local macOS build, as the harness was failing to find geckodriver.

I made sure to explicitly build geckodriver as per https://firefox-source-docs.mozilla.org/testing/geckodriver/Building.html, which appeared to complete fine, but the wpt command still failed to find it.

It turned out the geckodriver binary was in $OBJDIR/dist/Nightly.app/Contents/Resources/geckodriver, but the test harness was looking for it in $OBJDIR/dist/Nightly.app/Contents/MacOS/geckodriver. The --webdriver-binary option provided a workaround, but ISTM the harness should be looking in the appropriate place by default.

James, do you know what would be the right place here? I assume it's more what the build job is doing, and so we have to update wptrunner to check the right path here.

Flags: needinfo?(james)

https://searchfox.org/mozilla-central/source/testing/web-platform/mach_commands.py#130-132 is the code that looks for geckodriver. So it's a bit surprising if it's broken on mac. Not sure if we consider this a mozbuild bug, of if it's the buidl config of geckodriver, or if the wpt mach command needs to handle the difference explictly.

Flags: needinfo?(james)

Mike, could you (or maybe you know someone else who could) give us a hint where exactly the geckodriver binary should be end-up during the build process? Is there a specific rule for utility binaries?

Flags: needinfo?(mh+mozilla)

It's... not installed at the right place. So this is actually a build system bug.

It should be in Contents/MacOS, but it's in Contents/Resources. The same applies to http3server.

Component: geckodriver → General
Flags: needinfo?(mh+mozilla)
Product: Testing → Firefox Build System
Summary: Harness looks for geckodriver in the wrong place → geckodriver is not installed at the right place on mac
Version: Default → unspecified

Some places are actually expecting MOZ_GECKODRIVER to be set, rather
than ENABLE_GECKODRIVER, and we more frequently use MOZ_-prefixed
variables, so settle on that.

This fixes browser/app/macbuild/Contents/MacOS-files.txt, which was
expecting MOZ_GECKODRIVER.

Assignee: nobody → mh+mozilla
Status: NEW → ASSIGNED
Pushed by mh@glandium.org:
https://hg.mozilla.org/integration/autoland/rev/d31e801ed59e
Set MOZ_GECKODRIVER rather than ENABLE_GECKODRIVER. r=firefox-build-system-reviewers,mhentges
https://hg.mozilla.org/integration/autoland/rev/43fd5b96b18c
Add http3server to MacOS files. r=firefox-build-system-reviewers,andi,mhentges
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 88 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: