[webkit-dev] Baselines ignoring metrics

2012-09-19 Thread Allan Sandfeld Jensen
Hello WebKit,

Some time ago I wrote a patch that would make the test runners detect baseline 
that had been generated with the --ignore-metrics flag, see 
https://bugs.webkit.org/show_bug.cgi?id=94815 . This makes it possible to 
generate baselines that would always be testing ignoring metrics, and which 
would help consolidate more expected results between platforms - see the 
second patch in the bug for an example of that.

The cases I expect this to make sense in, are tests for css selectors, parsing 
and other places the final layout is not part of what is being tested. Ideally 
such new tests should be written using dumpText, but we have many old test-
cases that has not been written that way, and many more that are imported from 
from external test suites which never will be.

Should we apply the patch and start using ignore-metric baselines, and should 
we make some guidelines for what kind of tests this should be allowed on?

Best regards
`Allan Sandfeld
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Enable encoding detector on layout(regression) test

2012-09-19 Thread Darin Adler
On Sep 18, 2012, at 6:25 PM, Kangil Han kangil@samsung.com wrote:

 However, enabling encoding detector by javaScript manipulation seems not 
 feasible since encoding detector works on reading input stream level.

You could probably make an encoding detection test using an iframe with a data 
URL in it. Have you tried that?

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


Re: [webkit-dev] Enable encoding detector on layout(regression) test

2012-09-19 Thread Darin Adler
On Sep 19, 2012, at 9:22 AM, Darin Adler da...@apple.com wrote:

 On Sep 18, 2012, at 6:25 PM, Kangil Han kangil@samsung.com wrote:
 
 However, enabling encoding detector by javaScript manipulation seems not 
 feasible since encoding detector works on reading input stream level.
 
 You could probably make an encoding detection test using an iframe with a 
 data URL in it. Have you tried that?

Or perhaps an iframe loading a resource that’s just a separate file in the 
testing directory.

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


Re: [webkit-dev] Baselines ignoring metrics

2012-09-19 Thread Ryosuke Niwa
As ossy has suggested in the bug, we should just convert those tests that
don't require metrics equivalency to dumpAsText tests.
On Sep 19, 2012 2:53 AM, Allan Sandfeld Jensen k...@carewolf.com wrote:

 Hello WebKit,

 Some time ago I wrote a patch that would make the test runners detect
 baseline
 that had been generated with the --ignore-metrics flag, see
 https://bugs.webkit.org/show_bug.cgi?id=94815 . This makes it possible to
 generate baselines that would always be testing ignoring metrics, and which
 would help consolidate more expected results between platforms - see the
 second patch in the bug for an example of that.

 The cases I expect this to make sense in, are tests for css selectors,
 parsing
 and other places the final layout is not part of what is being tested.
 Ideally
 such new tests should be written using dumpText, but we have many old test-
 cases that has not been written that way, and many more that are imported
 from
 from external test suites which never will be.

 Should we apply the patch and start using ignore-metric baselines, and
 should
 we make some guidelines for what kind of tests this should be allowed on?

 Best regards
 `Allan Sandfeld
 ___
 webkit-dev mailing list
 webkit-dev@lists.webkit.org
 http://lists.webkit.org/mailman/listinfo/webkit-dev

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


Re: [webkit-dev] Baselines ignoring metrics

2012-09-19 Thread Dirk Pranke
After some limited amount of thought, I'm inclined to agree with
Ryosuke and Ossy here. If we have tests that don't depend on checking
the metrics, can they just be dumpAsText tests or reftests instead?

I thought the initial motivation for --ignore-metrics was for new
ports to at least confirm that the render trees had the right shape
even if they didn't have the right metrics. It's unclear to me if this
has ever been useful for people, though.

On a related note (which I thought I mentioned in some
ignore-metrics-related bug, but apparently at least not this one),
I've been working on various render-tree-parsing-related features, and
I've been thinking that it might be nice to have a smarter diff that
could distinguish between fields that actually rendered differently
due to different intrinsic metrics vs. fields that rendered
differently because of different derived metrics (e.g., two text
fields are different sizes because the text renders differently vs.
two containing blocks that are also different because they contain the
different text fields; if both container and containing block are off
by one pixel, on the the contained block's diff is really
interesting). But, I don't think (but am not yet 100% sure) that the
existing rendertree format contains the information needed to do this
accurately.

-- Dirk


On Wed, Sep 19, 2012 at 1:08 PM, Ryosuke Niwa rn...@webkit.org wrote:
 As ossy has suggested in the bug, we should just convert those tests that
 don't require metrics equivalency to dumpAsText tests.

 On Sep 19, 2012 2:53 AM, Allan Sandfeld Jensen k...@carewolf.com wrote:

 Hello WebKit,

 Some time ago I wrote a patch that would make the test runners detect
 baseline
 that had been generated with the --ignore-metrics flag, see
 https://bugs.webkit.org/show_bug.cgi?id=94815 . This makes it possible to
 generate baselines that would always be testing ignoring metrics, and
 which
 would help consolidate more expected results between platforms - see the
 second patch in the bug for an example of that.

 The cases I expect this to make sense in, are tests for css selectors,
 parsing
 and other places the final layout is not part of what is being tested.
 Ideally
 such new tests should be written using dumpText, but we have many old
 test-
 cases that has not been written that way, and many more that are imported
 from
 from external test suites which never will be.

 Should we apply the patch and start using ignore-metric baselines, and
 should
 we make some guidelines for what kind of tests this should be allowed on?

 Best regards
 `Allan Sandfeld
 ___
 webkit-dev mailing list
 webkit-dev@lists.webkit.org
 http://lists.webkit.org/mailman/listinfo/webkit-dev


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

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


Re: [webkit-dev] platform-specific differences in test case inputs

2012-09-19 Thread Alec Flett
So this thread kinda died. Anyone have any suggestions? Where is JSC's
SerializedScriptValue consistency tested?

Alec

On Tue, Sep 18, 2012 at 1:22 PM, Alec Flett alecfl...@chromium.org wrote:

 Sorry I totally left out the I expose this through Internals - and adam
 has explained the rationale

 On Tue, Sep 18, 2012 at 12:46 PM, Oliver Hunt oli...@apple.com wrote:

 What exactly are you trying to test here?  The internal serialisation
 format isn't exposed anywhere (nor should it be).

 By definition newer formats won't be backwards compatible, or are you
 trying to ensure that newer deserialisers will be able to continue to
 deserialise old content?


  exactly.

 Where does JSC test this? I'm happy to follow whatever pattern is already
 established.

 Alec

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


Re: [webkit-dev] Baselines ignoring metrics

2012-09-19 Thread Allan Sandfeld Jensen
On Wednesday 19 September 2012, Dirk Pranke wrote:
 After some limited amount of thought, I'm inclined to agree with
 Ryosuke and Ossy here. If we have tests that don't depend on checking
 the metrics, can they just be dumpAsText tests or reftests instead?
 
They could be. The tests I had in mind and made a conversion for are however 
examples of tests from external test suites. We have many tests of this 
nature, and converting them all the a webkit specific framework would be a lot 
of work, no one would actually do, and would mean we could not share and 
update the tests as easily with other members of W3C.

This is exactly why I asked for what kind of guidelines we should make for 
when we should use baselines without metrics. For instance we could decide new 
tests cases made for WebKit bugs should alway use dumpAsText, and restrict 
this feature to only test cases from an external source, or only older tests.

Best regards
`Allan Sandfeld
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] platform-specific differences in test case inputs

2012-09-19 Thread Oliver Hunt
It isn't, it's never been a concern as our serialisation format is simple 
enough to be hard to break.  That said tests would be fine, i'm just not sure 
how you would do them nicely.

--Oliver

On Sep 19, 2012, at 1:50 PM, Alec Flett alecfl...@chromium.org wrote:

 So this thread kinda died. Anyone have any suggestions? Where is JSC's 
 SerializedScriptValue consistency tested? 
 
 Alec
 
 On Tue, Sep 18, 2012 at 1:22 PM, Alec Flett alecfl...@chromium.org wrote:
 Sorry I totally left out the I expose this through Internals - and adam has 
 explained the rationale
 
 On Tue, Sep 18, 2012 at 12:46 PM, Oliver Hunt oli...@apple.com wrote:
 What exactly are you trying to test here?  The internal serialisation format 
 isn't exposed anywhere (nor should it be).
 
 By definition newer formats won't be backwards compatible, or are you trying 
 to ensure that newer deserialisers will be able to continue to deserialise 
 old content?
 
 exactly.
 
 Where does JSC test this? I'm happy to follow whatever pattern is already 
 established.
 
 Alec
 
 ___
 webkit-dev mailing list
 webkit-dev@lists.webkit.org
 http://lists.webkit.org/mailman/listinfo/webkit-dev

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


Re: [webkit-dev] Baselines ignoring metrics

2012-09-19 Thread Dirk Pranke
On Wed, Sep 19, 2012 at 1:54 PM, Allan Sandfeld Jensen k...@carewolf.com 
wrote:
 On Wednesday 19 September 2012, Dirk Pranke wrote:
 After some limited amount of thought, I'm inclined to agree with
 Ryosuke and Ossy here. If we have tests that don't depend on checking
 the metrics, can they just be dumpAsText tests or reftests instead?

 They could be. The tests I had in mind and made a conversion for are however
 examples of tests from external test suites. We have many tests of this
 nature, and converting them all the a webkit specific framework would be a lot
 of work, no one would actually do, and would mean we could not share and
 update the tests as easily with other members of W3C.

 This is exactly why I asked for what kind of guidelines we should make for
 when we should use baselines without metrics. For instance we could decide new
 tests cases made for WebKit bugs should alway use dumpAsText, and restrict
 this feature to only test cases from an external source, or only older tests.


I see. My understanding is that the W3C is supposed to be moving in
the direction of more reftests everywhere, so hopefully this becomes
less of an issue. What to do with the legacy tests that may not get
updated is a different issue, of course.

My personal hope / theory / claim is that we should make the diff
smarter about using the information we have to detect real issues,
rather than throwing away information and then potentially missing
issues.

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


Re: [webkit-dev] platform-specific differences in test case inputs

2012-09-19 Thread Adam Barth
My suggestion is to write a unit test in Chromium's webkit_unit_test framework.

Adam


On Wed, Sep 19, 2012 at 1:50 PM, Alec Flett alecfl...@chromium.org wrote:
 So this thread kinda died. Anyone have any suggestions? Where is JSC's
 SerializedScriptValue consistency tested?

 Alec


 On Tue, Sep 18, 2012 at 1:22 PM, Alec Flett alecfl...@chromium.org wrote:

 Sorry I totally left out the I expose this through Internals - and adam
 has explained the rationale

 On Tue, Sep 18, 2012 at 12:46 PM, Oliver Hunt oli...@apple.com wrote:

 What exactly are you trying to test here?  The internal serialisation
 format isn't exposed anywhere (nor should it be).

 By definition newer formats won't be backwards compatible, or are you
 trying to ensure that newer deserialisers will be able to continue to
 deserialise old content?


 exactly.

 Where does JSC test this? I'm happy to follow whatever pattern is already
 established.

 Alec



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

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


Re: [webkit-dev] Hash tables and unique string identifiers in JavaScriptCore

2012-09-19 Thread Stephen Lin
On Wed, Sep 19, 2012 at 1:32 AM, Geoffrey Garen gga...@apple.com wrote:

  Thanks! So is PropertyMapHashTable for properties that have been defined
 by the user, or is it not that simple?

 Yes.

  Apologies. Basically, does the implementation of object property access
 in the JIT codebase also use strings which have been made unique
 identifiers in the same way as in the runtime stack? (i.e. can they be
 assumed equal iff they have the same address).

 Yes -- typically, though, if the JIT needs to do a hash lookup, it will
 pass an Identifier to a C++ helper function.


Thanks! Do you mind pointing me to where this happens in the code? (passing
an Identifer to a C++ helper?)


 Geoff

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


Re: [webkit-dev] Baselines ignoring metrics

2012-09-19 Thread Dirk Pranke
On Wed, Sep 19, 2012 at 2:00 PM, Dirk Pranke dpra...@chromium.org wrote:
 On Wed, Sep 19, 2012 at 1:54 PM, Allan Sandfeld Jensen k...@carewolf.com 
 wrote:
 On Wednesday 19 September 2012, Dirk Pranke wrote:
 After some limited amount of thought, I'm inclined to agree with
 Ryosuke and Ossy here. If we have tests that don't depend on checking
 the metrics, can they just be dumpAsText tests or reftests instead?

 They could be. The tests I had in mind and made a conversion for are however
 examples of tests from external test suites. We have many tests of this
 nature, and converting them all the a webkit specific framework would be a 
 lot
 of work, no one would actually do, and would mean we could not share and
 update the tests as easily with other members of W3C.

 This is exactly why I asked for what kind of guidelines we should make for
 when we should use baselines without metrics. For instance we could decide 
 new
 tests cases made for WebKit bugs should alway use dumpAsText, and restrict
 this feature to only test cases from an external source, or only older tests.


 I see. My understanding is that the W3C is supposed to be moving in
 the direction of more reftests everywhere, so hopefully this becomes
 less of an issue. What to do with the legacy tests that may not get
 updated is a different issue, of course.

 My personal hope / theory / claim is that we should make the diff
 smarter about using the information we have to detect real issues,
 rather than throwing away information and then potentially missing
 issues.

Sorry, I realize this answer isn't as helpful as it could be.
Personally, I'm not a fan of adding new (external) test suites that
aren't text-only tests or reftests, and so I'm a bit negative here.
However, I think the value depends on the test suite in question and
what it's testing, so it's hard for me to give a blanket statement.

If you can point to specific tests you'd like to try this for I can
comment in more detail, but I'm not really okay with a blanket
approval for using --ignore-metrics whenever we feel like it yet.

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


Re: [webkit-dev] Baselines ignoring metrics

2012-09-19 Thread Allan Sandfeld Jensen
On Wednesday 19 September 2012, Dirk Pranke wrote:
 If you can point to specific tests you'd like to try this for I can
 comment in more detail, but I'm not really okay with a blanket
 approval for using --ignore-metrics whenever we feel like it yet.
 
In the referenced bug I added an example patch converting all the tests under 
fast/selectors. They are mostly from the css selectors suite plus a few extra. 
Since they all use text, almost none of the results are shared between 
platforms, but they could all be with this patch.

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


Re: [webkit-dev] the new TestExpectations syntax is landing soon

2012-09-19 Thread Dirk Pranke
These changes are now starting to land ...

as of r129047, TEXT, IMAGE+TEXT, and AUDIO are no longer legal
keywords in the TestExpectations syntax ... you should use FAIL
instead.

I will be landing the support for the new syntax as quickly as I can
to minimize the transition period. Apologies for the inconvenience.

-- Dirk

On Wed, Sep 12, 2012 at 4:29 PM, Dirk Pranke dpra...@chromium.org wrote:
 Hi all,

 The new format of the much-debated TestExpectations syntax will be
 landing soon (hopefully in the next couple days).

 For those of who have forgotten / repressed the earlier debates, the
 new syntax looks something like:

 webkit.org/b/12345 [ Mac Vista] fast/html/keygen.html [ ImageOnlyFailure ]

 Andis documented in full at
 https://trac.webkit.org/wiki/TestExpectations#NewSyntaxNotquiteyetlanded
 .

 ( The [ and ] characters are delimiters, not EBNF optional
 markers, although those sections are in fact optional :) ).

 Note that the new syntax means that Skipped files are a syntactic
 subset of TestExpectations files, and I plan to convert all of the
 Skipped files to TestExpectations files via copy and paste shortly
 after the new syntax is landed, and then drop support for Skipped
 files (I will update ORWT to use the new files and treat any entry as
 a Skip).

 The plan for landing these changes is:

 1) Add support for parsing the new lines and converting them back into
 the old format (internally) so that both syntaxes are supported
 2) Convert all the existing files over
 3) Make sure things aren't broken :)
 4) Drop support for the old syntax

 I plan for this to all happen quickly, in less than a day. This means
 that if you have patches posted that modify those files they may
 become stale and need to be updated.

 Changes from the old syntax:

 1. We use URLs (a specific whitelisted set; let me know if you want to
 add to it) instead of BUGWK12345 etc.
 2. We use bug(dpranke) instead of BUGDPRANKE
 3. We use CamelCase instead of SHOUTING
 4. We use Failure to represent what used to be TEXT, IMAGE+TEXT, and
 AUDIO - these failures will be indistinguishable in the new world,
 meaning that you can't distinguish between text only and both image
 and text. Since only Chromium runs pixel tests by default, this
 shouldn't be a big deal.
 5. We use ImageOnlyFailure to represent what used to be IMAGE
 6. We use [ and ] for delimiters instead of : and =
 7. We use # instead of // as a comment
 7. WontFix will now imply Skip, i.e., tests marked WontFix will
 automatically be Skipped
 8. WontFix and Skip will not require (or even allow) any other
 expectations, i.e., you can't say [ WontFix Crash ]. If you want to
 indicate that the test will crash if you actually run it, use a
 comment.
 9. WontFix, Skip, Slow, and Rebaseline all move from the left hand
 side to the right. The only keywords on the left restrict which
 configurations the lines apply to.

 I will send out follow-up emails as this stuff lands. Please let me
 know if you have any questions. Thanks!

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


Re: [webkit-dev] Hash tables and unique string identifiers in JavaScriptCore

2012-09-19 Thread Geoffrey Garen
 Thanks! Do you mind pointing me to where this happens in the code? (passing 
 an Identifer to a C++ helper?)

Here's an example function called by the JIT, from DFGOperations.cpp:

void DFG_OPERATION operationPutByIdNonStrict(ExecState* exec, EncodedJSValue 
encodedValue, JSCell* base, Identifier* propertyName)
{
JSGlobalData* globalData = exec-globalData();
NativeCallFrameTracer tracer(globalData, exec);

PutPropertySlot slot(false);
base-methodTable()-put(base, exec, *propertyName, 
JSValue::decode(encodedValue), slot);
}

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


[webkit-dev] the TestExpectations syntax has changed

2012-09-19 Thread Dirk Pranke
Assuming my changes stick, all of the TestExpectations files in the
repo have been converted to the new syntax. The old syntax is still
supported as well, but please don't use it :).

http://trac.webkit.org/wiki/TestExpectations

At the moment I'm chasing down some minor issues but I haven't noticed
anything massively broken. If you find issues please let me know ASAP
(preferably instead of just reverting things ;).

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