Re: [chromium-dev] revised output for run_webkit_tests

2009-12-11 Thread Dirk Pranke
On Thu, Dec 10, 2009 at 11:28 PM, David Levin le...@chromium.org wrote:


 On Thu, Dec 10, 2009 at 10:57 PM, Dirk Pranke dpra...@chromium.org wrote:

 We could do this, but we'd have to add logic to track when directories
 were done, and arbitrarily delay printing results about other
 directories (hence delaying and serializing results). This might end

 up causing weirdly irregular bursts of output.

 The irregular bursts of output isn't that bad. (I had a version of
 run-webkit-test that did this.  Unfortunately, perl is not a fun language
 for me at least, and I have to admit that the perl code I had would have
 been hard to maintain/fragile.)

 Worst case, since we
 intentionally run the http tests first, and they're the long pole in
 the run, this might delay printing all the other directories until
 near the end.

 Not a big deal either. My version did this as well. (I started this behavior
 in my webkit version and talked to Ojan about doing it.)


Well, I can certainly try to hack up a version of the script that
generates the output you're looking for to see how it works.

 I'm not sure what the real benefit of this would be.


 The benefit is working in a community and understanding how they do things
 and adapting to that as opposed to trying to push something very different
 on them.

Sure. Of course, there's not necessarily a reason to leave things the
same just because that's the way it's always been done, especially
when trying to keep things the same imposes costs. Sometimes different
is better.


 (A) Have you looked at the new output yet?

 (B) Is getting output by directory really that useful?

 I understood your description. Having run the webkit version, I much prefer
 it due to knowing when certain directories are done and knowing what test(s)
 failed in those directories as the test goes along (even in the parallel
 version where the failures may be slightly delayed).
 The output by directory also adapts better to the buildbot output instead of
 the huge test-by-test list that chromium buildbots have (which takes a while
 to download when you click the link for stdio).

There's no arguing that the --verbose output is in fact extremely
verbose. But, that is because there is a lot of information there.
Personally, I find the webkit output a bad compromise between
terseness and verbosity - it's too much text for interactive use where
you expect things to pass, and too little if you actually want to
debug what happened. In particular I think this would be very true in
a multithreaded scenarios, since you would lose any grasp of what was
actually happening in parallel.

The current implementation tells you that tests have failed as it
goes, but not which tests (of course, the webkit script doesn't tell
you either, apart from which directory the failure might be in). That
would be easy to add if there is demand.

 dave

 -- Dirk

 On Thu, Dec 10, 2009 at 10:10 PM, David Levin le...@chromium.org wrote:
  Actually, you can have a similar output even with the multi-threading.
  You can display the results for one only directory (even though multiple
  directories are being processed at the same time) and when that
  directory is
  done, display the results for the next directory until it is done,
  etc. The
  ordering of the directories may be different but the output is very
  similar
  to what they have now.
  The effect is quite satisfying and clear.
  dave
  On Thu, Dec 10, 2009 at 10:04 PM, Dirk Pranke dpra...@chromium.org
  wrote:
 
  Yes, I did consider that. The fatal flaw in that plan is that the
  webkit test script is single-threaded and runs through the tests in
  order. Ours doesn't, and so we can't easily guarantee the same sort of
  output they have. Eric and I will probably work through this as we
  upstream the code. I'm actually hoping to get them to adopt my output,
  but we'll see.
 
  -- Dirk
 
  On Thu, Dec 10, 2009 at 7:45 PM, David Levin le...@chromium.org
  wrote:
   Have you considered making the output closer to that of WebKit's
   run-webkit-tests?
   It seems that would ease the hopeful transition to this version
   upstream.
   dave
   On Thu, Dec 10, 2009 at 7:23 PM, Dirk Pranke dpra...@chromium.org
   wrote:
  
   Hi all,
  
   If you never run the webkit layout tests, you can stop reading.
  
   Otherwise, earlier today I checked in a patch that should make the
   output much less verbose in the normal case. From the CL:
  
   First, a number of log messages have had their levels changed
   (mostly
   to
   make them quieter).
  
   Second, the script outputs a meter that shows progress through the
   test run, which is a one line summary of where it's at current
   (e.g. parsing expectations, gathering files. During the actual
   test
   execution, the meter displays %d tests completed as expected, %d
   didn't,
   %d remain. The meter uses carriage returns but no linefeeds, so the
   output
   is overwritten as it progresses. The meter is disabled if 

Re: [chromium-dev] revised output for run_webkit_tests

2009-12-11 Thread Ojan Vafai
Sigh. Now from the right email address.

On Fri, Dec 11, 2009 at 11:36 AM, Ojan Vafai o...@google.com wrote:

 I thought we had agreed on printing out any unexpected failures in
 real-time, no?

 Also, I do think it would be worthwhile to print each directory as it
 finishes. We're getting to the point where we shard all the big directories,
 so the largest shard takes 90 seconds (this is true on the mac release bot
 now!). So printing directories as they finish would actually give you decent
 insight into what tests have been run.

 Ojan


 On Fri, Dec 11, 2009 at 9:55 AM, Dirk Pranke dpra...@chromium.org wrote:

 On Fri, Dec 11, 2009 at 12:04 AM, Dirk Pranke dpra...@chromium.org
 wrote:
  The current implementation tells you that tests have failed as it
  goes, but not which tests (of course, the webkit script doesn't tell
  you either, apart from which directory the failure might be in). That
  would be easy to add if there is demand.

 It has been pointed out to me that this paragraph is incorrect. The
 webkit scripts do give you the test filename of the failure in real
 time. For some reason I was thinking it just printed an E instead of
 a . .

 Thinking about it now, I think I got its output confused with the
 Python and Perl unit testing frameworks ... My apologies for any
 confusion this might've caused, and for saying something without being
 sure it was right ...

 -- Dirk

 --
 Chromium Developers mailing list: chromium-dev@googlegroups.com
 View archives, change email options, or unsubscribe:
http://groups.google.com/group/chromium-dev




-- 
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev

Re: [chromium-dev] revised output for run_webkit_tests

2009-12-11 Thread Dirk Pranke
On Fri, Dec 11, 2009 at 11:36 AM, Ojan Vafai o...@google.com wrote:
 I thought we had agreed on printing out any unexpected failures in
 real-time, no?
 Also, I do think it would be worthwhile to print each directory as it
 finishes. We're getting to the point where we shard all the big directories,
 so the largest shard takes 90 seconds (this is true on the mac release bot
 now!). So printing directories as they finish would actually give you decent
 insight into what tests have been run.

No, I don't think we had necessarily agreed to this, although we did
talk about it.

At any rate, I'm working on a webkit-style-output patch that should
get both of these things, and we can see which we like better.

-- Dirk

-- 
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev


Re: [chromium-dev] revised output for run_webkit_tests

2009-12-10 Thread David Levin
Have you considered making the output closer to that of WebKit's
run-webkit-tests?

It seems that would ease the hopeful transition to this version upstream.

dave

On Thu, Dec 10, 2009 at 7:23 PM, Dirk Pranke dpra...@chromium.org wrote:

 Hi all,

 If you never run the webkit layout tests, you can stop reading.

 Otherwise, earlier today I checked in a patch that should make the
 output much less verbose in the normal case. From the CL:

 First, a number of log messages have had their levels changed (mostly to
 make them quieter).

 Second, the script outputs a meter that shows progress through the
 test run, which is a one line summary of where it's at current
 (e.g. parsing expectations, gathering files. During the actual test
 execution, the meter displays %d tests completed as expected, %d didn't,
 %d remain. The meter uses carriage returns but no linefeeds, so the output
 is overwritten as it progresses. The meter is disabled if --verbose is
 specified, to avoid unnecessary confusion.

 Third, I removed the --find-baselines option. I think I was the only one
 using it, and --sources is good enough (but added the baseline for
 the checksum as well as the .png when using --sources).

 Fourth, there is a new --log option that can be used to provide finer
 granularity of logging. It accepts a comma-separated list of options, like:
 --log 'actual,expected,timing':

  actual: the actual test results (# of failures by type and timeline)
  config: the test settings (results dir, platform, etc.)
  expected: the results we expected by type and timeline
  timing: test timing results (slow files, total execution, etc.)

 All of this information is logged at the logging.info level (if the
 appropriate option is enabled).

 Using the --verbose switch will cause all of options to be logged, as well
 as the normal verbose output.  In addition, the verbose output will disable
 the meter (as mentioned above). Note that the actual results will be
 logged
 to stdout, not stderr, for compatibility with the buildbot log parser.

 Finally, the list of unexpected results (if any) will be logged to stdout,
 along with a one-line summary of the test run.

 The net result is that when run with no command line options (and when no
 tests fail), only one line of output will be produced.

 Feedback / problems / questions to me.

 Pam, sorry for making all of your examples in your tech talk
 immediately out of date :)

 -- Dirk

 --
 Chromium Developers mailing list: chromium-dev@googlegroups.com
 View archives, change email options, or unsubscribe:
http://groups.google.com/group/chromium-dev


-- 
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev

Re: [chromium-dev] revised output for run_webkit_tests

2009-12-10 Thread Dirk Pranke
Yes, I did consider that. The fatal flaw in that plan is that the
webkit test script is single-threaded and runs through the tests in
order. Ours doesn't, and so we can't easily guarantee the same sort of
output they have. Eric and I will probably work through this as we
upstream the code. I'm actually hoping to get them to adopt my output,
but we'll see.

-- Dirk

On Thu, Dec 10, 2009 at 7:45 PM, David Levin le...@chromium.org wrote:
 Have you considered making the output closer to that of WebKit's
 run-webkit-tests?
 It seems that would ease the hopeful transition to this version upstream.
 dave
 On Thu, Dec 10, 2009 at 7:23 PM, Dirk Pranke dpra...@chromium.org wrote:

 Hi all,

 If you never run the webkit layout tests, you can stop reading.

 Otherwise, earlier today I checked in a patch that should make the
 output much less verbose in the normal case. From the CL:

 First, a number of log messages have had their levels changed (mostly to
 make them quieter).

 Second, the script outputs a meter that shows progress through the
 test run, which is a one line summary of where it's at current
 (e.g. parsing expectations, gathering files. During the actual test
 execution, the meter displays %d tests completed as expected, %d didn't,
 %d remain. The meter uses carriage returns but no linefeeds, so the
 output
 is overwritten as it progresses. The meter is disabled if --verbose is
 specified, to avoid unnecessary confusion.

 Third, I removed the --find-baselines option. I think I was the only one
 using it, and --sources is good enough (but added the baseline for
 the checksum as well as the .png when using --sources).

 Fourth, there is a new --log option that can be used to provide finer
 granularity of logging. It accepts a comma-separated list of options,
 like:
 --log 'actual,expected,timing':

  actual: the actual test results (# of failures by type and timeline)
  config: the test settings (results dir, platform, etc.)
  expected: the results we expected by type and timeline
  timing: test timing results (slow files, total execution, etc.)

 All of this information is logged at the logging.info level (if the
 appropriate option is enabled).

 Using the --verbose switch will cause all of options to be logged, as well
 as the normal verbose output.  In addition, the verbose output will
 disable
 the meter (as mentioned above). Note that the actual results will be
 logged
 to stdout, not stderr, for compatibility with the buildbot log parser.

 Finally, the list of unexpected results (if any) will be logged to stdout,
 along with a one-line summary of the test run.

 The net result is that when run with no command line options (and when no
 tests fail), only one line of output will be produced.

 Feedback / problems / questions to me.

 Pam, sorry for making all of your examples in your tech talk
 immediately out of date :)

 -- Dirk

 --
 Chromium Developers mailing list: chromium-dev@googlegroups.com
 View archives, change email options, or unsubscribe:
    http://groups.google.com/group/chromium-dev



-- 
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev


Re: [chromium-dev] revised output for run_webkit_tests

2009-12-10 Thread David Levin
On Thu, Dec 10, 2009 at 10:57 PM, Dirk Pranke dpra...@chromium.org wrote:

 We could do this, but we'd have to add logic to track when directories
 were done, and arbitrarily delay printing results about other
 directories (hence delaying and serializing results). This might end

up causing weirdly irregular bursts of output.


The irregular bursts of output isn't that bad. (I had a version of
run-webkit-test that did this.  Unfortunately, perl is not a fun language
for me at least, and I have to admit that the perl code I had would have
been hard to maintain/fragile.)

Worst case, since we
 intentionally run the http tests first, and they're the long pole in
 the run, this might delay printing all the other directories until
 near the end.


Not a big deal either. My version did this as well. (I started this behavior
in my webkit version and talked to Ojan about doing it.)


 I'm not sure what the real benefit of this would be.


The benefit is working in a community and understanding how they do things
and adapting to that as opposed to trying to push something very different
on them.


 (A) Have you looked at the new output yet?


 (B) Is getting output by directory really that useful?


I understood your description. Having run the webkit version, I much prefer
it due to knowing when certain directories are done and knowing what test(s)
failed in those directories as the test goes along (even in the parallel
version where the failures may be slightly delayed).

The output by directory also adapts better to the buildbot output instead of
the huge test-by-test list that chromium buildbots have (which takes a while
to download when you click the link for stdio).

dave


 -- Dirk

 On Thu, Dec 10, 2009 at 10:10 PM, David Levin le...@chromium.org wrote:
  Actually, you can have a similar output even with the multi-threading.
  You can display the results for one only directory (even though multiple
  directories are being processed at the same time) and when that directory
 is
  done, display the results for the next directory until it is done,
 etc. The
  ordering of the directories may be different but the output is very
 similar
  to what they have now.
  The effect is quite satisfying and clear.
  dave
  On Thu, Dec 10, 2009 at 10:04 PM, Dirk Pranke dpra...@chromium.org
 wrote:
 
  Yes, I did consider that. The fatal flaw in that plan is that the
  webkit test script is single-threaded and runs through the tests in
  order. Ours doesn't, and so we can't easily guarantee the same sort of
  output they have. Eric and I will probably work through this as we
  upstream the code. I'm actually hoping to get them to adopt my output,
  but we'll see.
 
  -- Dirk
 
  On Thu, Dec 10, 2009 at 7:45 PM, David Levin le...@chromium.org
 wrote:
   Have you considered making the output closer to that of WebKit's
   run-webkit-tests?
   It seems that would ease the hopeful transition to this version
   upstream.
   dave
   On Thu, Dec 10, 2009 at 7:23 PM, Dirk Pranke dpra...@chromium.org
   wrote:
  
   Hi all,
  
   If you never run the webkit layout tests, you can stop reading.
  
   Otherwise, earlier today I checked in a patch that should make the
   output much less verbose in the normal case. From the CL:
  
   First, a number of log messages have had their levels changed (mostly
   to
   make them quieter).
  
   Second, the script outputs a meter that shows progress through the
   test run, which is a one line summary of where it's at current
   (e.g. parsing expectations, gathering files. During the actual
 test
   execution, the meter displays %d tests completed as expected, %d
   didn't,
   %d remain. The meter uses carriage returns but no linefeeds, so the
   output
   is overwritten as it progresses. The meter is disabled if --verbose
 is
   specified, to avoid unnecessary confusion.
  
   Third, I removed the --find-baselines option. I think I was the only
   one
   using it, and --sources is good enough (but added the baseline for
   the checksum as well as the .png when using --sources).
  
   Fourth, there is a new --log option that can be used to provide
 finer
   granularity of logging. It accepts a comma-separated list of options,
   like:
   --log 'actual,expected,timing':
  
actual: the actual test results (# of failures by type and
 timeline)
config: the test settings (results dir, platform, etc.)
expected: the results we expected by type and timeline
timing: test timing results (slow files, total execution, etc.)
  
   All of this information is logged at the logging.info level (if the
   appropriate option is enabled).
  
   Using the --verbose switch will cause all of options to be logged, as
   well
   as the normal verbose output.  In addition, the verbose output will
   disable
   the meter (as mentioned above). Note that the actual results will
 be
   logged
   to stdout, not stderr, for compatibility with the buildbot log
 parser.
  
   Finally, the list of unexpected