On 11/08/2012 02:51 AM, Ojan Vafai wrote:
On Wed, Nov 7, 2012 at 12:41 PM, Dirk Pranke <[email protected]
<mailto:[email protected]>> wrote:
On Tue, Nov 6, 2012 at 11:58 PM, Z(an Dobers(ek
<[email protected] <mailto:[email protected]>> wrote:
> Hi WebKitties,
>
> I'd like to see in what scale the --test-list option in NRWT is
used and
> whether anyone would object a change in how its usage behaves.
>
> Currently the test gathering takes into account any paths that
were passed
> in through the command line and any paths listed in the file to
which a
> possible --test-file option points[1]. These paths are then
expanded if
> necessary (due to platform-specific tests and virtual test
suites) and all
> the tests to which these paths apply are gathered[2]. All the
gathered tests
> are then either sorted into a natural order or randomized (if the
> --randomize-order option is used)[3].
>
> I'd like to propose a change in the behavior when using the
--test-list
> option. When used, the tests would be gathered only from the
paths listed in
> the file to which the option points. Also, the gathered tests
would be
> sorted to follow the order of the paths in the test list file.
For instance,
> consider the following two entries being placed in the test list
file:
>
> c/d/e.html
> a/b/
>
> The current behavior would gather all the tests to which these
two paths
> apply and sort them in this order (on the premise that no other
paths are
> passed through the command line arguments):
>
> a/b/1.html
> a/b/2.html
> c/d/e.html
>
> The new behavior would place the c/d/e.html test at the top of
the list but
> sort the other two tests in order, like this:
>
> c/d/e.html
> a/b/1.html
> a/b/2.html
>
> The idea behind this is to be able to specify the exact order in
which the
> tests should be run. I'm currently playing around with a tool
that randomly
> chooses a certain number of tests, runs them and bisects down
the first
> regression that occurs (if any) to the smallest possible ordered
list of
> tests that reproduces that regression. The proposed change makes
this a
> simple task from the test listing perspective and I'd argue that
exact test
> ordering is the main point of an option such as --test-list.
>
> Currently I'm using an untested workaround of adding a new
option that
> specifies the tests should be reordered back to the original
order that the
> test list file provided, but I'd like to move on with
implementing the
> change in behavior if everyone feels it's OK and won't tamper
with his/her
> workflow.
>
> -Z
>
>
> [1]
>
http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py#L46
> [2]
>
http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/layout_tests/port/base.py#L576
> [3]
>
http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py#L309
>
Hi,
I have used the option from time to time, and I have also wanted from
time to time the ability to run tests in a specific order. This change
would be fine by me. If people want to ensure that tests run in the
old order, they can always sort the test list.
I have used this in the past to identify which test caused test
flakiness (e.g. I have 100 tests and I know the last test depends on
one of the other 99 to run first in order to pass). The problem with
this last sentence is that it's hard to know what order
run-webkit-tests would choose, so it's hard to replicate it. It would
make that use-case a little harder if we made this change. Otherwise,
I don't care either way.
Exactly for the reason Ojan mentioned I think the best would be to add
an option for defining the desired ordering behavior. Paths on command
line and in --test-list should imply to use the ordering as it is passed
but it would be possible to force the current method. I hope it would
not add too much complexity.
-kbalazs
_______________________________________________
webkit-dev mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-dev