Re: [webkit-dev] Supporting w3c ref tests and changing our convention

2011-11-14 Thread Darin Adler
On Nov 11, 2011, at 4:24 AM, Tor Arne Vestbø wrote:

 On 07.11.11 15:44, Alan Stearns wrote:
 What if we defer some of the W3C metadata work until tests were actually 
 submitted to the W3C?
 
 1. Tests we pull from W3C can run from manifests, since they are provided.
 
 2. Tests we develop ourselves just use a naming convention (refs are named 
 *-ref.html, and there's one ref per test even if that's duplicative)
 
 3. When we choose to share a set of tests with the W3C, we do the extra work 
 of adding metadata to the tests and possibly refactoring to reduce the 
 number of -ref files. Once the W3C approves the tests we pull their copies 
 and delete ours.
 
 I think this is the best of both worlds approach

Yes, I support this proposal too.

We may find we can automate (3) with a script. It sounds pretty mechanical.

For (2), I would name the reference files *-expected.html to fit in with other 
formats of expected results such as *-expected.txt and *-expected.png.

-- Darin
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Supporting w3c ref tests and changing our convention

2011-11-14 Thread Ryosuke Niwa
On Mon, Nov 14, 2011 at 11:41 AM, Darin Adler da...@apple.com wrote:

 We may find we can automate (3) with a script. It sounds pretty mechanical.


It appears that W3C mandates author name, etc... be included in the meta
data as well but I guess we can add something like WebKit Community or
WebKit Authors? W3C folks told us we can create a WebKit directory under
submissions so we can put all tests we export from our layout tests suite
there with some canonical author name.

For (2), I would name the reference files *-expected.html to fit in with
 other formats of expected results such as *-expected.txt and *-expected.png.


I'm sure this was discussed in length when we first implemented reftests,
but the problem with that name convention is that some ref-tests expect the
actual result to differ from the reference fie. That's why we currently use
-match.html / -mismatch.html  Given W3C test suites use -ref.html and
-noref.html, it seems more natural for us to follow their naming convention.

- Ryosuke
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Supporting w3c ref tests and changing our convention

2011-11-14 Thread Alan Stearns
On 11/14/11 12:07 PM, Ryosuke Niwa rn...@webkit.org wrote:

 On Mon, Nov 14, 2011 at 11:41 AM, Darin Adler da...@apple.com wrote:
 We may find we can automate (3) with a script. It sounds pretty mechanical.
 
 It appears that W3C mandates author name, etc... be included in the meta data
 as well but I guess we can add something like WebKit Community or WebKit
 Authors? W3C folks told us we can create a WebKit directory under submissions
 so we can put all tests we export from our layout tests suite there with some
 canonical author name.

AFAIK the mandate is only that there be an author link with a title and an
appropriate href. There are many examples of tests with only this author
data:

   link rel=author title=Microsoft href=http://microsoft.com/; /

So I assume something like this would be fine for WebKit submissions:

   link rel=author title=WebKit href=http://webkit.org/; /

Tests can have more than one author link if anyone wants to add additional
contact info.

Alan

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Supporting w3c ref tests and changing our convention

2011-11-07 Thread Alan Stearns
On 11/4/11 7:20 PM, Ojan Vafai o...@chromium.org wrote:

 On Fri, Nov 4, 2011 at 7:16 PM, Ryosuke Niwa rn...@webkit.org wrote:
 On Fri, Nov 4, 2011 at 7:07 PM, Ojan Vafai o...@chromium.org wrote:
 On Fri, Nov 4, 2011 at 7:03 PM, Ryosuke Niwa rn...@webkit.org wrote:
 I am, but I'm particularly concerned about W3C tests. It'll be nice if we
 had exactly one way of running / writing ref tests. I think we can easily
 automate the process of generating manifest files.
 
 The work flow will be as follows:
 1. Write new ref tests using link element
 2. Run some tool (maybe we can teach run-webkit-tests to do it
 automatically)
 3. Upload patch with auto-regenerated manifest file
 It's mainly step 2 that I have a problem with, although I also don't like
 that the test is not self-contained.
 
 Generating manifest file when we add a test is much more efficient than
 generating it every time we run tests because we tend to do the latter much
 more often than the former.
 
 I think we're at an empass here. I don't see that further technical arguments
 will sway either of us. I do, however, expect that the vast majority of webkit
 developers would prefer to avoid a manifest file given the way the project has
 been structured up to now.
 

What if we defer some of the W3C metadata work until tests were actually
submitted to the W3C?

1. Tests we pull from W3C can run from manifests, since they are provided.

2. Tests we develop ourselves just use a naming convention (refs are named
*-ref.html, and there's one ref per test even if that's duplicative)

3. When we choose to share a set of tests with the W3C, we do the extra work
of adding metadata to the tests and possibly refactoring to reduce the
number of -ref files. Once the W3C approves the tests we pull their copies
and delete ours.

Alan

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Supporting w3c ref tests and changing our convention

2011-11-07 Thread Ryosuke Niwa
It appears that we're not reaching any consensus here, and I don't feel
like continuing any more bikeshedding.

If anyone's interested, my patch for
https://bugs.webkit.org/show_bug.cgi?id=66837 and Hayato's patch for
https://bugs.webkit.org/show_bug.cgi?id=71567 add a basic support for W3C
style ref tests based on reftest.list parsing.

- Ryouske
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


[webkit-dev] Supporting w3c ref tests and changing our convention

2011-11-04 Thread Ryosuke Niwa
Hi,

There was a discussion about supporting W3C ref tests at TPAC yesterday.
However, there appears to be some disagreement in how we support them.

*Overview*

CSS WG ref tests contain link elements that specify reference files. e.g.

!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Strict//EN
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd;html
http://december.com/html/4/element/html.html
xmlns=http://www.w3.org/1999/xhtml;
 head http://december.com/html/4/element/head.html
  title http://december.com/html/4/element/title.htmlCSS Reftest
Reference/title http://december.com/html/4/element/title.html
  link http://december.com/html/4/element/link.html rel=author
title=NAME_OF_AUTHOR href=mailto:EMAIL OR http://CONTACT_PAGE/
link http://december.com/html/4/element/link.html rel=match
href=green-box-ref.xht /
  style http://december.com/html/4/element/style.html
type=text/css![CDATA[   CSS FOR REFERENCE  ]]/style
http://december.com/html/4/element/style.html
 /head http://december.com/html/4/element/head.html
 body http://december.com/html/4/element/body.html
  CONTENT OF REFERENCE
 /body http://december.com/html/4/element/body.html/html
http://december.com/html/4/element/html.html


The highlighted line specifies that the rendered result of this page should
be compared with that of green-box-ref.xht. This is very different from our
current method to use filenames such as -match.html, -mismatch.html, etc..
to identify reference files.

In addition, W3C test suites have a build step, which generates
Mozilla-like test manifest files. This file will contain entries that
identifies tests and corresponding reference files. e.g.


== floats-wrap-bfc-outside-001.xht floats-wrap-bfc-outside-001-ref.xht
== floats-wrap-top-below-bfc-001l.xht floats-wrap-top-below-001l-ref.xht
!= floats-wrap-top-below-bfc-001l.xht floats-wrap-top-below-001l-notref.xht
== floats-wrap-top-below-bfc-001r.xht floats-wrap-top-below-001r-ref.xht
!= floats-wrap-top-below-bfc-001r.xht floats-wrap-top-below-001r-notref.xht

All browser vendors who attended the meeting preferred this format.
Microsoft representatives didn't attend the meeting.

*Link element approach*
Pros:

   - Can reuse same ref. file for multiple tests
   - Can have multiple ref. files for single test
   - Information is self-contained in the test file
   - We may get away with test suite build step

(It turns out that we can't convert W3C ref tests to use WebKit conventions
due to the first two points.)

Cons:

   - Requires us modifying each port's DRT to support this format
   - Adding link elements itself may affect tests (all W3C tests are
   required to have link elements at the moment)
   - Hard to understand relationship between files. e.g. if we want to
   figure out which tests use ref.html, we must look at all test files
   - Other browser vendors (Firefox and Opera) prefer manifest file approach


*Manifest file approach*
Pros:

   - Easy to parse, and do not require us modifiying each port's DRT to
   support
   - Easy to tell relationships between files at glance
   - Do not affect tests since manifest files are external to tests
   - Preferred approach of Firefox and Opera

Cons:

   - Have to maintain information in two places, tests and manifests (W3C
   test suites auto-generates manifest files in their build step)
   - Require build step (new W3C tests only have link elements but not
   manifests)


I strongly prefer WebKit use the manifest file approach and deprecate our
current file-name convention because it won't burden each port, and it's
the preferred method of other browser vendors.  Any opinions?
*
*
Best,
Ryosuke Niwa
Software Engineer
Google Inc.
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Supporting w3c ref tests and changing our convention

2011-11-04 Thread Hayato Ito
Could you clarify why we have to need to modify DRT if we have Link Element
approach?
I guess one of the reasons is the performance. It might be better that we
use DRT to parse and extract reference links from HTML since parsing HTML
using Python might take unacceptable time and might be inaccurate.
Is there any other reasons we should modify DRT to support Link Element
approach?


On Fri, Nov 4, 2011 at 12:34 PM, Ryosuke Niwa rn...@webkit.org wrote:

 Hi,

 There was a discussion about supporting W3C ref tests at TPAC yesterday.
 However, there appears to be some disagreement in how we support them.

 *Overview*

 CSS WG ref tests contain link elements that specify reference files. e.g.

 !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Strict//EN 
 http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd;html 
 http://december.com/html/4/element/html.html 
 xmlns=http://www.w3.org/1999/xhtml;
  head http://december.com/html/4/element/head.html
   title http://december.com/html/4/element/title.htmlCSS Reftest 
 Reference/title http://december.com/html/4/element/title.html
   link http://december.com/html/4/element/link.html rel=author 
 title=NAME_OF_AUTHOR href=mailto:EMAIL OR http://CONTACT_PAGE/  link 
 http://december.com/html/4/element/link.html rel=match 
 href=green-box-ref.xht /
   style http://december.com/html/4/element/style.html 
 type=text/css![CDATA[   CSS FOR REFERENCE  ]]/style 
 http://december.com/html/4/element/style.html
  /head http://december.com/html/4/element/head.html
  body http://december.com/html/4/element/body.html
   CONTENT OF REFERENCE
  /body http://december.com/html/4/element/body.html/html 
 http://december.com/html/4/element/html.html


 The highlighted line specifies that the rendered result of this page
 should be compared with that of green-box-ref.xht. This is very different
 from our current method to use filenames such as -match.html,
 -mismatch.html, etc.. to identify reference files.

 In addition, W3C test suites have a build step, which generates
 Mozilla-like test manifest files. This file will contain entries that
 identifies tests and corresponding reference files. e.g.


 == floats-wrap-bfc-outside-001.xht floats-wrap-bfc-outside-001-ref.xht
 == floats-wrap-top-below-bfc-001l.xht floats-wrap-top-below-001l-ref.xht
 != floats-wrap-top-below-bfc-001l.xht floats-wrap-top-below-001l-notref.xht
 == floats-wrap-top-below-bfc-001r.xht floats-wrap-top-below-001r-ref.xht
 != floats-wrap-top-below-bfc-001r.xht floats-wrap-top-below-001r-notref.xht

 All browser vendors who attended the meeting preferred this format.
 Microsoft representatives didn't attend the meeting.

 *Link element approach*
 Pros:

- Can reuse same ref. file for multiple tests
- Can have multiple ref. files for single test
- Information is self-contained in the test file
- We may get away with test suite build step

 (It turns out that we can't convert W3C ref tests to use WebKit
 conventions due to the first two points.)

 Cons:

- Requires us modifying each port's DRT to support this format
- Adding link elements itself may affect tests (all W3C tests are
required to have link elements at the moment)
- Hard to understand relationship between files. e.g. if we want to
figure out which tests use ref.html, we must look at all test files
- Other browser vendors (Firefox and Opera) prefer manifest file
approach


 *Manifest file approach*
 Pros:

- Easy to parse, and do not require us modifiying each port's DRT to
support
- Easy to tell relationships between files at glance
- Do not affect tests since manifest files are external to tests
- Preferred approach of Firefox and Opera

 Cons:

- Have to maintain information in two places, tests and manifests (W3C
test suites auto-generates manifest files in their build step)
- Require build step (new W3C tests only have link elements but not
manifests)


 I strongly prefer WebKit use the manifest file approach and deprecate our
 current file-name convention because it won't burden each port, and it's
 the preferred method of other browser vendors.  Any opinions?
 *
 *
 Best,
 Ryosuke Niwa
 Software Engineer
 Google Inc.



 ___
 webkit-dev mailing list
 webkit-dev@lists.webkit.org
 http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev




-- 
Hayato
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Supporting w3c ref tests and changing our convention

2011-11-04 Thread Ryosuke Niwa
On Fri, Nov 4, 2011 at 1:32 PM, Hayato Ito hay...@chromium.org wrote:

 Could you clarify why we have to need to modify DRT if we have Link
 Element approach?
 I guess one of the reasons is the performance. It might be better that we
 use DRT to parse and extract reference links from HTML since parsing HTML
 using Python might take unacceptable time and might be inaccurate.
 Is there any other reasons we should modify DRT to support Link Element
 approach?


That's the primary reason. I can see that there are more than 100,000 .xht
files just in css2.1 test suite, and the number is growing. If we include
css3, and other w3c test suites, we'll end up having tens of thousands of
tests, if not millions.

In addition, link element approach doesn't scale well in that there's no
mandate as to how reference files are named, so we'll end up needlessly
parsing all reference files as well depending on the order they appear in
the directory.

- Ryosuke
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Supporting w3c ref tests and changing our convention

2011-11-04 Thread Dirk Pranke
On Fri, Nov 4, 2011 at 1:32 PM, Hayato Ito hay...@chromium.org wrote:
 Could you clarify why we have to need to modify DRT if we have Link Element
 approach?
 I guess one of the reasons is the performance. It might be better that we
 use DRT to parse and extract reference links from HTML since parsing HTML
 using Python might take unacceptable time and might be inaccurate.
 Is there any other reasons we should modify DRT to support Link Element
 approach?

I agree with Ito-san that I don't think you have to modify each DRT. I
see no reason to think that we couldn't parse the files reliably in
NRWT. It's unclear how much of a perf impact there would be but that's
easy enough to determine - I would expect it to be minimal compared to
the time of actually rendering a page.

That said, supporting a manifest file is clearly fairly easy to do in
NRWT, and presumably easy to add as a build step (e.g., make DRT
depend on it) and may have the added bonus of allowing us to run
various mozilla reference test suites that wouldn't be using the
links, so I'm fine with that.

I think we should voice a concern w/ the W3C that their tests must
follow consistent naming styles (for maintainability); we shouldn't
view the links and the  manifest step as a carte blanche to name tests
and results whatever they want.

Separately, if we are throwing around numbers in the range of 100K
for tests to run, we should consider when we actually want to run them
- i.e., what will the cycle time be if we run them on every change,
etc.? But that can be dealt with when we get there.

-- Dirk
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Supporting w3c ref tests and changing our convention

2011-11-04 Thread Hayato Ito
If we import a bunch of w3c reftests in the future, it sounds reasonable
and unavoidable to use manifest file, assuming the manifest file is
auto-generated by w3c's build process.

But I'd like to leave an option to developers to write reftests more
casually without worrying about maintaing the manifest file.

At the same time, I don't want to increase the number of ways to write/run
tests anymore.

So that would be great that we have the best of both worlds somehow.


On Fri, Nov 4, 2011 at 1:39 PM, Ryosuke Niwa rn...@webkit.org wrote:

 On Fri, Nov 4, 2011 at 1:32 PM, Hayato Ito hay...@chromium.org wrote:

 Could you clarify why we have to need to modify DRT if we have Link
 Element approach?
 I guess one of the reasons is the performance. It might be better that we
 use DRT to parse and extract reference links from HTML since parsing HTML
 using Python might take unacceptable time and might be inaccurate.
 Is there any other reasons we should modify DRT to support Link Element
 approach?


 That's the primary reason. I can see that there are more than 100,000 .xht
 files just in css2.1 test suite, and the number is growing. If we include
 css3, and other w3c test suites, we'll end up having tens of thousands of
 tests, if not millions.

 In addition, link element approach doesn't scale well in that there's no
 mandate as to how reference files are named, so we'll end up needlessly
 parsing all reference files as well depending on the order they appear in
 the directory.

 - Ryosuke




-- 
Hayato
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Supporting w3c ref tests and changing our convention

2011-11-04 Thread Ryosuke Niwa
On Fri, Nov 4, 2011 at 1:47 PM, Dirk Pranke dpra...@chromium.org wrote:

 It's unclear how much of a perf impact there would be but that's
 easy enough to determine - I would expect it to be minimal compared to
 the time of actually rendering a page.


Since I expect w3c to end up having hundreds of thousands of tests, I see
any performance implication to be a serious threat.

 That said, supporting a manifest file is clearly fairly easy to do in
 NRWT, and presumably easy to add as a build step (e.g., make DRT
 depend on it) and may have the added bonus of allowing us to run
 various mozilla reference test suites that wouldn't be using the
 links, so I'm fine with that.


In fact, we already have a patch to support it on :
https://bugs.webkit.org/show_bug.cgi?id=66837
and https://bugs.webkit.org/show_bug.cgi?id=71567

I think we should voice a concern w/ the W3C that their tests must
 follow consistent naming styles (for maintainability); we shouldn't
 view the links and the  manifest step as a carte blanche to name tests
 and results whatever they want.


Yes, I have. More comments on http://www.w3.org/html/wg/wiki/Testing or
http://wiki.csswg.org/test will be helpful.

Separately, if we are throwing around numbers in the range of 100K
 for tests to run, we should consider when we actually want to run them
 - i.e., what will the cycle time be if we run them on every change,
 etc.? But that can be dealt with when we get there.


We need separate bots in the long term for sure.

- Ryosuke
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Supporting w3c ref tests and changing our convention

2011-11-04 Thread Ryan Leavengood
On Fri, Nov 4, 2011 at 4:47 PM, Dirk Pranke dpra...@chromium.org wrote:

 Separately, if we are throwing around numbers in the range of 100K
 for tests to run, we should consider when we actually want to run them
 - i.e., what will the cycle time be if we run them on every change,
 etc.? But that can be dealt with when we get there.

I would also like to throw out the idea of pulling the layout tests
out into their own repo, maybe even per platform. Currently the huge
number of layout tests in WebKit make many git operations unbearably
slow, such as git status, which basically does a stat() on every file
in a repo when the plain git status is used. Even on Linux where
stat() is mega-fast it takes many seconds to show git status even on a
clean checkout (at least on my laptop, which admittedly isn't the
fastest.) It is worse on other platforms with a slower stat().

But I expect there might be a lot of pushback on such an idea,
especially just to make one tool run faster.

-- 
Regards,
Ryan
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Supporting w3c ref tests and changing our convention

2011-11-04 Thread Ojan Vafai
I don't see any need for manifest files. Needing to maintain information
about a test somewhere other than in the test itself or in the expected
result file is a significant maintenance burden. We should avoid it if we
can.

On Fri, Nov 4, 2011 at 2:00 PM, Ryosuke Niwa rn...@webkit.org wrote:

 On Fri, Nov 4, 2011 at 1:47 PM, Dirk Pranke dpra...@chromium.org wrote:

 It's unclear how much of a perf impact there would be but that's
 easy enough to determine - I would expect it to be minimal compared to
 the time of actually rendering a page.


 Since I expect w3c to end up having hundreds of thousands of tests, I see
 any performance implication to be a serious threat.


There is no inherent performance problem that I can see. We just need to
structure things in a way that avoids performance problems. This only
requires that we ensure that all reference files are either themselves
tests or have ref in the name and/or path. Even if the W3C and/or Mozilla
test suites don't end up enforcing this requirement we can check in a
script to Tools/Scripts that restructures the tests appropriately before we
commit them to our tree.

The performance benefits of the manifest files could be addressed by not
walking the tree before running the tests. We only do that now because that
was the expedient way to write the code. If walking the tree turns out to
be a performance problem down the road, we can run the tests as we walk the
tree. If that's still too slow, we can generate a transient manifest file
that goes in your output directory.

Separately, if we are throwing around numbers in the range of 100K

  for tests to run, we should consider when we actually want to run them
 - i.e., what will the cycle time be if we run them on every change,
 etc.? But that can be dealt with when we get there.


 We need separate bots in the long term for sure.


I don't see what's special about reftests that we'd run them on a separate
bot. We might decide to shard test running across different bots in some
way, but sharding by test type seems unhelpful.
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Supporting w3c ref tests and changing our convention

2011-11-04 Thread Ryosuke Niwa
On Fri, Nov 4, 2011 at 4:01 PM, Ojan Vafai o...@chromium.org wrote:

 I don't see any need for manifest files.


W3C's build step auto-generates them.

On Fri, Nov 4, 2011 at 2:00 PM, Ryosuke Niwa rn...@webkit.org wrote:

 On Fri, Nov 4, 2011 at 1:47 PM, Dirk Pranke dpra...@chromium.org wrote:

 It's unclear how much of a perf impact there would be but that's
 easy enough to determine - I would expect it to be minimal compared to
 the time of actually rendering a page.


 Since I expect w3c to end up having hundreds of thousands of tests, I see
 any performance implication to be a serious threat.


 There is no inherent performance problem that I can see. We just need to
 structure things in a way that avoids performance problems.


But we don't need to structure them. They're organized in W3C's repo, and
we're just going to import them in some directory; e.g. LayoutTests/w3c/.
If we're adding new tests that we intend to contribute back to W3C, then
those tests should live outside of this directory. The preferred approach,
however, is to add tests to W3C repo first, then import them back to WebKit.

This only requires that we ensure that all reference files are either
 themselves tests or have ref in the name and/or path. Even if the W3C
 and/or Mozilla test suites don't end up enforcing this requirement we can
 check in a script to Tools/Scripts that restructures the tests
 appropriately before we commit them to our tree.


That, to me, is a problem. We try not to modify external tests or
restructure them when we import them. Renaming files will also make it hard
to figure out the correspondence between tests in WebKit's repo and W3C's
repo. It's a significant cognitive stress if one is to contribute tests
back to W3C's test suite.

The performance benefits of the manifest files could be addressed by not
 walking the tree before running the tests. We only do that now because that
 was the expedient way to write the code. If walking the tree turns out to
 be a performance problem down the road, we can run the tests as we walk the
 tree. If that's still too slow, we can generate a transient manifest file
 that goes in your output directory.


Generating a transient manifest file may make sense for WebKit tests but
not for W3C tests although I don't see why generating a transient manifest
file should improve the performance.

Also, I don't see why we should be generating manifest files on demand when
W3C test suite's build step automatically does that for us. We can build 
check tests into the repo once and we'll have manifest files. Since we
shouldn't be modifying those tests anyway, I don't see why we need to
generate manifests on demand.

I don't see what's special about reftests that we'd run them on a separate
 bot. We might decide to shard test running across different bots in some
 way, but sharding by test type seems unhelpful.


I'm not talking about ref-tests. I'm talking about tests imported from the
W3C test suite.

- Ryosuke
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Supporting w3c ref tests and changing our convention

2011-11-04 Thread Ryosuke Niwa
On Fri, Nov 4, 2011 at 6:31 PM, Ojan Vafai o...@chromium.org wrote:

 On Fri, Nov 4, 2011 at 5:52 PM, Ryosuke Niwa rn...@webkit.org wrote:

 W3C's build step auto-generates them.


 I thought you were arguing that we should use manifest files for all
 reftests because having multiple ways to do things is confusing.


I am, but I'm particularly concerned about W3C tests. It'll be nice if we
had exactly one way of running / writing ref tests. I think we can easily
automate the process of generating manifest files.

The work flow will be as follows:

   1. Write new ref tests using link element
   2. Run some tool (maybe we can teach run-webkit-tests to do it
   automatically)
   3. Upload patch with auto-regenerated manifest file

But we don't need to structure them. They're organized in W3C's repo, and
 we're just going to import them in some directory; e.g. LayoutTests/w3c/.


 I'm reluctantly OK with doing this exclusively for test suites we import
 that come with a manifest file, since the maintenance cost is lower.
 Although, I'd prefer if we limited the number of ways you could mark a test
 as a reftest.


Yeah, I won't be particularly happy about having two ways to write ref
tests.

If we're adding new tests that we intend to contribute back to W3C, then
 those tests should live outside of this directory. The preferred
 approach, however, is to add tests to W3C repo first, then import them back
 to WebKit.


 I don't think this is realistic. For example, for the new flexbox tests,
 we're writing them against WebKit's code and they're changing as we go. In
 addition, all the properties are webkit prefixed. We're not writing test
 suites in isolation. We're writing them as we implement the feature or fix
 the appropriate bugs.


Right, but then you'll need to unprefix those tests and reformat them in
order to upstream the tests anyway.

 I don't see what's special about reftests that we'd run them on a separate
 bot. We might decide to shard test running across different bots in some
 way, but sharding by test type seems unhelpful.


 I'm not talking about ref-tests. I'm talking about tests imported from
 the W3C test suite.


 Even then, I don't see any benefit to not running them as part of our main
 test suite.


It all depends on the number of tests. CSS 2.1 test suite appear to contain
10,000+ tests (there are 10,000+ .xht files). If we're adding CSS3, and
other test suites from W3C, it can easily be in the order of 100,000s given
that W3C is trying to increase the number of tests significantly in the
coming years.

Given we spend 10+ minutes running 26,000+ layout tests on our bots, adding
100,000+ tests will result in quadrupling our bot cycle time (to 40-50+
minutes; or to 3-4 hours for any bots that run pixel tests). It's
definitely nice if we could run them all on the main waterfall with our
regression tests, but slowed cycle time may significantly hinder our
ability to catch new test failures on time.

- Ryosuke
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Supporting w3c ref tests and changing our convention

2011-11-04 Thread Ryosuke Niwa
On Fri, Nov 4, 2011 at 7:07 PM, Ojan Vafai o...@chromium.org wrote:

 On Fri, Nov 4, 2011 at 7:03 PM, Ryosuke Niwa rn...@webkit.org wrote:

 I am, but I'm particularly concerned about W3C tests. It'll be nice if we
 had exactly one way of running / writing ref tests. I think we can easily
 automate the process of generating manifest files.

 The work flow will be as follows:

1. Write new ref tests using link element
2. Run some tool (maybe we can teach run-webkit-tests to do it
automatically)
3. Upload patch with auto-regenerated manifest file

 It's mainly step 2 that I have a problem with, although I also don't like
 that the test is not self-contained.


Generating manifest file when we add a test is much more efficient than
generating it every time we run tests because we tend to do the latter much
more often than the former.

 If we're adding new tests that we intend to contribute back to W3C, then
 those tests should live outside of this directory. The preferred
 approach, however, is to add tests to W3C repo first, then import them back
 to WebKit.


 I don't think this is realistic. For example, for the new flexbox tests,
 we're writing them against WebKit's code and they're changing as we go. In
 addition, all the properties are webkit prefixed. We're not writing test
 suites in isolation. We're writing them as we implement the feature or fix
 the appropriate bugs.


 Right, but then you'll need to unprefix those tests and reformat them in
 order to upstream the tests anyway.


 Yes, but the point is that it doesn't work to write the tests in the W3C
 repo first because what goes in the W3C repo doesn't work for us until we
 unprefix our implementation.


Yeah, so those tests should be kept separate from W3C test suites.

- Ryosuke
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Supporting w3c ref tests and changing our convention

2011-11-04 Thread Ojan Vafai
On Fri, Nov 4, 2011 at 7:16 PM, Ryosuke Niwa rn...@webkit.org wrote:

 On Fri, Nov 4, 2011 at 7:07 PM, Ojan Vafai o...@chromium.org wrote:

 On Fri, Nov 4, 2011 at 7:03 PM, Ryosuke Niwa rn...@webkit.org wrote:

 I am, but I'm particularly concerned about W3C tests. It'll be nice if
 we had exactly one way of running / writing ref tests. I think we can
 easily automate the process of generating manifest files.

 The work flow will be as follows:

1. Write new ref tests using link element
2. Run some tool (maybe we can teach run-webkit-tests to do it
automatically)
3. Upload patch with auto-regenerated manifest file

 It's mainly step 2 that I have a problem with, although I also don't
 like that the test is not self-contained.


 Generating manifest file when we add a test is much more efficient than
 generating it every time we run tests because we tend to do the latter much
 more often than the former.


I think we're at an empass here. I don't see that further technical
arguments will sway either of us. I do, however, expect that the vast
majority of webkit developers would prefer to avoid a manifest file given
the way the project has been structured up to now.
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev