Changes between Initial Version and Version 1 of ImportingThirdPartyTests


Ignore:
Timestamp:
Apr 23, 2012 3:57:03 PM (12 years ago)
Author:
jacobg@adobe.com
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ImportingThirdPartyTests

    v1 v1  
     1= Importing Third Party Tests =
     2
     3== Proposed Process ==
     4
     5 1. General Import Process
     6  a. Import entire test suite(s) from W3C repository: pixel tests, ref tests, manual tests, JS tests
     7  a. Run suite locally in WebKit directory
     8   i. RefTests
     9    * Pass - good, submit it
     10    * Fail - create a testName-expected-failure.txt file
     11     * This file will be used as the new test expectations, resulting in a pass for this test going forward
     12     * Potential regressions will be identified by changes to this output
     13     * Over time, individuals can clean up these tests by creating valid (passing) reference files and then removing the .txt file
     14   i. DRT / Pixel tests
     15    * Expectations: create render tree dumps for each test and use that output as the new test expectation
     16     * Potential regressions will be identified by changes to this output
     17    * Proposal (open to discussion) - stop the production of .PNGs for these imported tests
     18     * PROS
     19      * Avoid the increase to the overall size of the repository caused by all the new PNGs
     20      * Regressions will likely be caught by the render tree dumps
     21      * Avoid maintenance of all associated PNGs
     22     * CONS
     23      * Regressions may be missed without the use of .PNGs
     24      * May make test results harder to interpret
     25   i. JavaScript tests
     26    * Pass - good, submit it (along with new expected.txt file - W3C does not use an expected.txt file for JS tests)
     27    * Fail - Add to test_expectations file to avoid failures
     28     * Over time, individual can clean up failing JS tests
     29   i. Manual tests
     30    * Submit in their current form. 
     31     * Over time, convert to ref tests to be submitted back to W3C
     32
     33== Questions Discussed At Contributors Meeting ==
     34
     35 1. How should W3C tests that fail in WebKit be handled?
     36  a. Failures should be checked in.  Details in General Import Process above.
     37 1. Should a set frequency be used for importing tests?
     38  a. No, frequency is up to the people who want to do this task. 
     39 1. Can the approval process for previously reviewed W3C tests be streamlined?
     40  a. No, the process should be proscribed
     41  a. The intent is for the reviewer to confirm that the following type of actions were performed correctly: correct suites were imported, tests were run, updates made to test files, new output files generated, test_expectations updated, full test run after patch is clear of errors, etc.
     42 1. Should other tests (from Mozilla, Microsoft, etc.) continue to be imported?
     43  a. Still open to discussion. 
     44  a. One proposal: Yes, but only from W3C.  We should encourage vendors to contribute their tests to W3C, we will then only import from W3C
     45   * Under this scenario - would we wait until tests are approved (could be a long process) or import submitted tests as well? 
     46   * If we import submitted tests, would they go into a special directory to indicate that they are not yet approved? 
     47   * Import script would need to handle the case where a test goes from submitted to approved
     48 1. Should W3C pixel tests be imported?
     49  a. Yes.  We should import entire test suites no matter what type of tests they contain
     50 1. How should we identify imported test suites?
     51  a. Use a new directory structure
     52  a. Start putting imported tests into this structure, but ultimately move all existing tests into new hierarchy (i.e. there are some existing directories that could be collected under a new, top-level CSS directory - e.g. flexbox)
     53  a. Structure will be based on topic (feature) at the top level, and will then identify imported tests by their source.  For example:
     54{{{
     55  - WebKit/LayoutTests/CSS - top level for all CSS related tests
     56   -- WebKit/LayoutTests/CSS/imported-w3c/ - top level for all imported CSS related tests
     57
     58   Sub-directories under imported-w3c will match existing sub directories from the imported test suite
     59}}}
     60 1. Should we create a single, centralized test_expectations file that covers all common failures? 
     61  a. Individual ports would still have their own test_expectations file for port-specific failures.  This would facilitate excluding failing imported tests (e.g. JavaScript tests)
     62 1. Import script should handle following cases
     63  a. Test added
     64  a. Test removed
     65  a. Test content changed
     66  a. Test that was not ref could have references added
     67  a. Ref test removed
     68  a. Test moved from submitted to approved folder (if submitted tests will be accepted)