Marionette Improvements

From New wiki
Jump to navigation Jump to search

Project Description

This project involved fixing the Marionette related problems preventing tests from being run on devices at the Bitbar device farm with results returned to Treeherder. Work ended when Firefox OS was sunset.

Requirements:

Removal of all of python from the Marionette harness

 * New Marionette promises driver
 * Create tests for new Marionette client promises driver
 * Automate conversion of existing tests onto new API
 * Remove Sockit-to-me from Marionette 

Device testing with TaskCluster / Treeherder using Bitbar

 * Automate the running of Marionette.js tests on Bitbar devices

MJS stability

 * Compile and clean up marionette-js-runner codebase with babel
 * Remove wrapper and use Marionette-Mocha directly
 * Missing stacktrace errors fix

Sandbox environment stability

 * Gaia integration with latest version of node
 * Update to Mocha 2

Program Status

Milestone Due Date Status Notes
Removal of python from the Marionette harness 02/26/16 ON TARGET New marionette-client promises driver developed. Fixed TC related race condition and now working on demonstrating the writing of Gij tests using the new promises api.
Device testing on TaskCluster/Treeherder with Bitbar ON HOLD Pending new direction and its test requirements.
Marionette stability 05/25/16 ON TARGET Bugs have been entered and work is slotted for Q1.
Sandbox environment stability 05/25/16 ON TARGET Work is slotted for Q1.
* MJS Intermittents Related Issues Fixed DONE
* Gaia integration with latest version of node DONE
* Update to Mocha 2 DONE
* Documentation DONE

Status Key

Color Status Key
On Target The project or deliverable is expected to meet its due date.
Challenged The project or deliverable is facing an issue that might cause it to miss its due date, but a “get well” plan has been developed to get it back on track.
At Risk or Late The project or deliverable is blocked or facing an issue that might cause it to miss its due date, and there’s no “get well” plan to get it back on track, or it is already late.
Done The project or deliverable has been completed.
On Hold The project or deliverable has been placed on hold.

Program Timeline


Project Scope

Python Removal from Marionette Harness <bugzilla>

   {
       "whiteboard":"[MJS] [CI]",
       "feature-b2g":"2.6+",
       "status":["NEW","REOPENED","UNCONFIRMED","ASSIGNED","RESOLVED","VERIFIED","CLOSED"],
       "include_fields": "id, summary, status, target_milestone, resolution, assigned_to, depends_on, blocks, whiteboard, feature-b2g"
   }

</bugzilla>

Marionette Stability <bugzilla>

   {
       "whiteboard":"[MJS] [CI]",
       "feature-b2g":"2.6+",
       "status":["NEW","REOPENED","UNCONFIRMED","ASSIGNED","RESOLVED","VERIFIED","CLOSED"],
       "include_fields": "id, summary, status, target_milestone, resolution, assigned_to, depends_on, blocks, whiteboard, feature-b2g"
   }

</bugzilla>

Sandbox Environment Stability <bugzilla>

   {
       "whiteboard":"[TBD]",
       "feature-b2g":"2.6+",
       "status":["NEW","REOPENED","UNCONFIRMED","ASSIGNED","RESOLVED","VERIFIED","CLOSED"],
       "include_fields": "id, summary, status, target_milestone, resolution, assigned_to, depends_on, blocks, whiteboard, feature-b2g"
   }

</bugzilla>

Automated Device Testing with TaskCluster/Treeherder at Bitbar <bugzilla>

   {
       "whiteboard":"[TC] [CI]",
       "feature-b2g":"2.6+",
       "status":["NEW","REOPENED","UNCONFIRMED","ASSIGNED","RESOLVED","VERIFIED","CLOSED"],
       "include_fields": "id, summary, status, target_milestone, resolution, assigned_to, depends_on, blocks, whiteboard, feature-b2g"
   }

</bugzilla>


Dependency Tracking


Detailed Program Plan

Action Item Engineering Owner QA Owner UX Owner Bugzilla ID Planned Done Actual Done

Program Stakeholders

Role Name IRC
Sponsor David Scravaglieri scravag
EPM Julie McCracken Julie
EM Dylan Oliver doliver
TL Gareth Aye gaye
TL Ghislain (Aus) Lacroix aus
QA Pallavi Yaramada pallavi
QA Johan Lorenzo jlorenzo
  • EPM = Engineering Program Manager
  • EM = Engineering Manager
  • PM = Product Manager
  • TL = Tech Lead
  • QA = Quality Assurance

UX Specs


Reference Links