Auto-tools/New Contributor/Quarter of Contribution/WPTViewer Refactor

From MozillaWiki
Jump to: navigation, search

Title: WPTViewer Refactor
Mentor: James Graham (:jgraham, irc, github)
Mentor: Kalpesh Krishna (:martianwars, irc, github)

The Web Platform Tests (WPT) are a set of cross browser validation tests designed to validate common functionality on the web between browsers. The source code can be found on github. Mozilla runs these tests inside our CI system, as do many vendors.

Last Quarter of Contribution, we created a tool which would ingest any mozlog test results file and have a set of filters applied on the test results. The project was developed in Google's Lovefield project, a set of APIs for IndexedDB. We have an option to open mozlog files in WPTViewer using Treeherder. You could try clicking "open in results viewer" here, or directly click on this.

To learn more about this project we recommend:

  • Join IRC! It's the best place to ask questions about the project and get help if you are stuck. #ateam on is a great channel to be in. Note that many people are most active in European timezones.
  • (Optional) Checkout web-platform-tests from GitHub. This will introduce you to the Web Platform Tests suite. If you like, try fixing one of the difficulty:easy bugs listed on the web-platform-tests issue tracker. These are generally not strictly related to this project, but they will help you understand the workings of web-platform-tests.
  • Look at the test results for web-platform-tests on Mozilla's treeherder tool. This page shows all the finished web-platform-tests runs for all the current builds in the mozilla-inbound repository. Click on one of the green or orange numbers to select a job. You should see a panel at the bottom of the page. Select the "job details" tab and there should be a line with text "artifact uploaded: wpt_raw.log - open in test results viewer". Clicking on the log should load a much larger log like the one from your local run. If you click on "open in tests results viewer", you can view the log in WPTViewer, and add some filters to it.
  • Checkout the WPTViewer repository locally. We have hosted it on Github. Go through the file and also see the file. Try to get your hands dirty by working on any of the easy issues here.

What we wish to achieve through this Quarter of Contribution :-

  • Major refactoring of the code, especially reorganizing the file structure of the repository.
  • A complete revamp of the user interface, primarily to make it more user friendly and intuitive. This is what we have planned so far.
  • Add basic unit testing to wptview and integrate this with Travis.
  • Support showing screenshots for reftests. (tracked here)
  • Adding some visualizations to show statistics of failing tests. (tracked here)
  • Work on any of the remaining issues you find interesting.

Things we are looking for in an ideal contributor for this project:

  • Basic knowledge of Javascript
  • Willing to learn or apply skills in building a web based tool
  • Willing to learn and work with standardized tests
  • Eagerness to try ideas out, ask questions, accept feedback, and learn new things