[convoy/backend] Move GELAM tests to run under JS Marionette

RESOLVED WONTFIX

Status

Firefox OS
Gaia::E-Mail
RESOLVED WONTFIX
3 years ago
3 months ago

People

(Reporter: asuth, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

3 years ago
We can switch to running the backend tests using JS Marionette just like the integration tests of every other FxOS app.  We should do this because:

- We already want the GELAM back-end tests run as part of gaia/gecko tests so that platform breakage is detected before/upon landing of platform breakage, rather than when we notice it.

- Have the backend be more contributor-friendly; it's currently somewhat of a big deal when functionality involves backend changes.  While we'll still have our own testing idiom, requiring no extra steps to run tests can be an amazing thing.  Additionally, treeherder makes it feasible for us to show our cool log viewer to people with just a click, which is great.

- The gaia-email-libs-and-more test-runner has been a source of breakage over time, and it has a fair amount of custom magic going on that really doesn't need to exist anymore since JS Marionette has come on the scene.

- Doing so will allow us to share test logic with our front-end integration tests.  No duplicated logic, no awkwardly ported logic that is very brittle / breaks all the time for one consumer.

- mail-fakeservers can get simpler; right now it is used in two very different execution scenarios.

- We can run the backend tests against real devices!  Yeah!

The bad news would be:

- The per-test runtime is going to potentially be much slower.  There will be a lot more remoting/round-tripping, and the JS Marionette per-test overhead is really quite high.  This will be offset by parallelism.  Also, there will likely be efforts to reduce the JS Marionette overhead.

- Marionette can't yet run JS code in worker contexts, and doing so is a new development effort which is not entirely trivial.  I've filed bug 1215391 for this.  The good news is that because of my prior work on the JS Marionette logger plugin thing, we can probably get away without actually being able to run arbitrary JS code on the worker for higher level tests that don't involve fault injection.

Comment 1

3 months ago
Firefox OS is not being worked on
Status: NEW → RESOLVED
Last Resolved: 3 months ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.