Closed Bug 1473341 Opened Last year Closed Last year

Run webdriver Rust tests on Taskcluster

Categories

(Testing :: geckodriver, enhancement, P1)

enhancement

Tracking

(firefox63 fixed)

RESOLVED FIXED
mozilla63
Tracking Status
firefox63 --- fixed

People

(Reporter: whimboo, Assigned: whimboo)

References

Details

Attachments

(1 file)

Currently we only run the geckodriver Rust tests in the Br job:

https://dxr.mozilla.org/mozilla-central/source/testing/geckodriver/moz.build

But I would also like to see that we start running the Rust tests from the webdriver crate too.

https://dxr.mozilla.org/mozilla-central/source/testing/webdriver/

Thing is that this is a path dependency and doesn't have it's own Cargo.lock file.

So what would be the best way to get the tests added? Should I just add them to the RUST_TESTS list of geckodriver? At least that would work as the following try build shows:

https://treeherder.mozilla.org/#/jobs?repo=try&revision=7504bd01c68e8f2d247aaf0bd14148bcb256d985&filter-tier=1&filter-tier=2&filter-tier=3&selectedJob=186407288

Nathan, do you have an advice? Thanks.
Flags: needinfo?(nfroyd)
Adding them to RUST_TESTS in geckodriver would be great.  Thank you!
Flags: needinfo?(nfroyd)
Priority: -- → P3
Each of the crates have their own moz.build file for bug component
identification.  Would it work to add crates to RUST_TESTS individually,
in each of their respective moz.build files?  This way they wouldn’t
depend on the existence of geckodriver, as some of the mozbase
crates could potentially be used by other programs in the tree.
No, this doesn't work. Only adding RUST_TESTS to the moz.build file for webdriver doesn't run the tests. See:

https://treeherder.mozilla.org/#/jobs?repo=try&revision=45f7e5557de28c2945995dc5af82c77c5ff4a384&selectedJob=186699705

So at least webdriver we will have to get added to the geckodriver moz.build file.

Nathan, I wonder what we should do with the mozbase rust crates. How could we get those tests running? For now those are only used by geckodriver, so we could also add them there. But potentially other crates will make use of them. Is there a way to specify those tests separately?
Flags: needinfo?(nfroyd)
Attachment #8990219 - Flags: review?(ato)
I would like to go ahead with adding the webdriver tests only for now. It will be important for my work on the serde patch.

For the mozbase-rust crates we can wait for feedback from Nathan, and file a separate bug. Maybe more work will be necessary to get those independently running from geckodriver.
Comment on attachment 8990219 [details]
Bug 1473341 - [geckodriver] Run webdriver Rust tests on Taskcluster.

https://reviewboard.mozilla.org/r/255248/#review262156

Since RUST_TESTS in the other mozbase moz.build files does not work,
I think you should consider adding them here for the time being.
It is much worse not running the tests at all than defining them
in the wrong place.
Attachment #8990219 - Flags: review?(ato) → review+
Assignee: nobody → hskupin
Status: NEW → ASSIGNED
Priority: P3 → P1
Pushed by hskupin@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/b41439c98e57
[geckodriver] Run webdriver Rust tests on Taskcluster. r=ato
https://hg.mozilla.org/mozilla-central/rev/b41439c98e57
Status: ASSIGNED → RESOLVED
Closed: Last year
Resolution: --- → FIXED
Target Milestone: --- → mozilla63
It's not super-clear to me why it would make a difference whether the moz* tests were declared in geckodriver or someplace else...possibly because putting them in mozbase/etc. means those directories don't have any other compiled code, so something doesn't come out right in the build system?

Worth filing a separate bug on this phenomenon, I think.
Flags: needinfo?(nfroyd)
You need to log in before you can comment on or make changes to this bug.