Commit Graph

212 Commits

Author SHA1 Message Date
kustermann@google.com 0a5a3306f7 Added '--package-root' to http_server.dart.
Review URL: https://codereview.chromium.org//12087130

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17968 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-01 10:22:55 +00:00
kustermann@google.com 7b19966623 If we made progress, add testCases to the front of the queue in test_runner.dart
Review URL: https://codereview.chromium.org//12114027

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17913 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-31 14:44:38 +00:00
kustermann@google.com 7ccd6f2c68 Bugfix in test_runner: in certain cases tests did not get rerun
Review URL: https://codereview.chromium.org//12086048

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17824 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-30 09:05:02 +00:00
kustermann@google.com a418c4f27f Only print stdout/stderr if we've got an unexpected output
TBR=ricow

Review URL: https://codereview.chromium.org//12092041

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17767 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-29 15:44:27 +00:00
kustermann@google.com 22da1e1fc8 Support for running a limited amount of browser tests in parallel
Patch Set 1:
  Refactored test_runner.dart to execute "Command after Command" instead of
  "TestCase after TestCase". By doing so, we don't couple the execution of
  compilation commands to the execution of the browser (or test) command.

Patch Set 2:
  Introduce a limitation on the number of parallel browser executions. By doing
  so we can run 'NumCores' compilation commands in parallel but only a single
  browser test command at any given time (necessary for IE).
  This way we can significantly reduce the cycle time on IE bots.

Review URL: https://codereview.chromium.org//12035053

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17764 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-29 15:16:44 +00:00
ricow@google.com 03bdded77e Fix selenium to detect and handle browser crashes.
Some context:
On windows, selenium will be hanging a chrome browser
crashes and additional to this we would actually not get information
that the browser crashed, we would get this as a failing test.

This change basically sets up a python timer that will trigger us to
close the browser using browser.service.stop() (I suspect that when
the browser crashes and does not respond in time selenium will call
browser.quit which will be blocking on trying to kill the remote
service).

In addition, this changes the test_runner to handle a crash exitcode
correctly (we will set it to -10 in the bacth runner, I don't know
why, but I dont want to change that in this cl). The current
hasCrashed getter will mask out errors that it does not recognize as
valid windows crashes (of which -10 is not one since it will have a
bunch of set bits in the middle of the bit pattern). I changed this to
explictily recognize the -10 value.
Input on why we have that value is welcome
Review URL: https://codereview.chromium.org//12051037

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17752 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-29 10:20:11 +00:00
scheglov@google.com d9605fe9ef Issue 8051. Make extended exit codes optional.
http://code.google.com/p/dart/issues/detail?id=8051

Unfortunately testing framework expects exactly 0 and 1.
So, I've made 0/1/2 exit codes optional.

Phil, FYI

R=devoncarew@google.com,pquitslund@google.com
BUG=

Review URL: https://codereview.chromium.org//12045088

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17629 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-25 04:11:12 +00:00
scheglov@google.com be31b47690 Issue 8051. dart_analyzer return codes on errors
http://code.google.com/p/dart/issues/detail?id=8051

R=devoncarew@google.com,whesse@google.com
BUG=

Review URL: https://codereview.chromium.org//12041051

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17622 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-25 00:47:48 +00:00
kustermann@google.com 6ca4e48671 Added a comment to clarify the interpretation of exit codes on windows
Review URL: https://codereview.chromium.org//12035052

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17455 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-23 13:24:03 +00:00
floitsch@google.com 1febeb689a Move some core classes to collection library.
Review URL: https://codereview.chromium.org//11867024

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17352 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-21 13:34:02 +00:00
kustermann@google.com d71f8ff86f Added DebugLogger to testing scripts.
Review URL: https://codereview.chromium.org//11962042

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17291 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-18 16:45:20 +00:00
kustermann@google.com f9a76d5672 Simplify the enqueuing of tests from all test suites
TBR=foo

Review URL: https://codereview.chromium.org//11884054

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17273 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-18 13:50:24 +00:00
kustermann@google.com 09690f9393 Fix in testing scripts, decodeUtf8->encodeUtf8
TBR=ricow

Review URL: https://codereview.chromium.org//11878039

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17058 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-15 11:09:03 +00:00
kustermann@google.com ecf1cdeeb8 Fixed utf8 encoding/decoding issues in the testing scripts
Review URL: https://codereview.chromium.org//11883033

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17057 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-15 10:59:24 +00:00
whesse@google.com 747f79ce1f Upload new Dart binaries and re-enable unit tests for test scripts.
BUG=

Review URL: https://codereview.chromium.org//11884029

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17031 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-14 20:45:42 +00:00
efortuna@google.com 4622dc3e76 Make browser tests all run from a server instead of the local filesystem.
BUG=

Review URL: https://codereview.chromium.org//11810004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17007 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-13 01:11:07 +00:00
lrn@google.com 4868ee2110 Remove Futures class, move methods to Future.
Optimize Future.forEach, Future.delay.

Review URL: https://codereview.chromium.org//11865005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16954 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-11 09:46:45 +00:00
kustermann@google.com 59a12b72c9 Migration of testing scripts in tools/ to libv2
Review URL: https://codereview.chromium.org//11817012

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16867 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-09 18:31:28 +00:00
ahe@google.com b4fe3203b1 Add a hashCode to Command so reporting timings is 400 faster.
Review URL: https://codereview.chromium.org//11824028

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16859 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-09 15:38:20 +00:00
kustermann@google.com ee3e000d63 Revert changes in tools/testing, since we use the checked-in version for the testing scripts
Review URL: https://codereview.chromium.org//11783010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16688 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-07 11:43:36 +00:00
floitsch@google.com 4a7dfd2da3 Big merge from experimental to bleeding edge.
Review URL: https://codereview.chromium.org//11783009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16687 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-07 11:23:16 +00:00
kustermann@google.com 33df53e3b1 Created a bug for the 'cannot open display' issue and made it independend of display number
TBR=ricow

Review URL: https://codereview.chromium.org//11570067

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16442 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-21 14:27:32 +00:00
kustermann@google.com a4c24dae42 Ignore exit-code of DRT and only trust stdout
Review URL: https://codereview.chromium.org//11660007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16441 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-21 13:34:09 +00:00
kustermann@google.com 062bfe5c3d Removed debugging information in the testing infrastructure and added a warning
Review URL: https://codereview.chromium.org//11668005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16434 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-21 10:33:13 +00:00
efortuna@google.com 5db3ffe35d Adjust test logging output so what we can separate logging failure explanations from actual test failures.
BUG=

Review URL: https://codereview.chromium.org//11638045

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16387 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-20 18:57:11 +00:00
kustermann@google.com 52a7dd6a9d Added debugging information in the testing infrastructure.
We've experienced some flakyness on the build bots and want to find the reason
for that. Therefore we print some debugging information in case a browser test
fails.

Review URL: https://codereview.chromium.org//11633016

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16315 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-19 12:25:09 +00:00
kustermann@google.com a18994679b Call DumpRenderTree directly from test.dart instead of using the drt-trampoline.py indirection
Currently drt-trampoline.py is used to call DRT. Unfortunately this causes
problems on Windows: If drt-trampoline.py times out, it is killed by test.dart.
But drt-trampoline.py has no way of installing a signal handler on Windows which
would kill the actual DumpRenderTree process. So sometimes we're left with one
hanging DumpRenderTree process on the Windows buildbots.

This change removes the drt-trampoline.py indirection and calls DRT directly
from test.dart.

Committed: https://code.google.com/p/dart/source/detail?r=16214

Review URL: https://codereview.chromium.org//11586012

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16247 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-18 09:52:54 +00:00
kustermann@google.com 0be2cb3fa5 Revert "Call DumpRenderTree directly from test.dart instead of using the drt-trampoline.py indirection"
TBR=ricow@google.com

Review URL: https://codereview.chromium.org//11591017

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16215 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-17 17:21:48 +00:00
kustermann@google.com 8071e88618 Call DumpRenderTree directly from test.dart instead of using the drt-trampoline.py indirection
Currently drt-trampoline.py is used to call DRT. Unfortunately this causes
problems on Windows: If drt-trampoline.py times out, it is killed by test.dart.
But drt-trampoline.py has no way of installing a signal handler on Windows which
would kill the actual DumpRenderTree process. So sometimes we're left with one
hanging DumpRenderTree process on the Windows buildbots.

This change removes the drt-trampoline.py indirection and calls DRT directly
from test.dart.

Review URL: https://codereview.chromium.org//11586012

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16214 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-17 16:27:11 +00:00
kustermann@google.com e87e99992d Enable the "skip command compilation if output is already up-to-date" feature in dart2dart
Review URL: https://codereview.chromium.org//11593008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16209 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-17 14:26:41 +00:00
kustermann@google.com 62c83a4443 Moved the testing scripts to the new import/library/part syntax
Review URL: https://codereview.chromium.org//11575028

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16163 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-14 14:19:01 +00:00
kustermann@google.com c01e393aa5 Added support for skipping redundant dart2js compilations.
Currently, the buildbots run tests on every commit. But often neither
the tests nor the dart2js compiler did change (e.g. on status file updates).

The added code will check if the dependencies (i.e. files listed in
test.js.deps) or the dart2js snapshot did change. If not, the output
of the previous dart2js compilation is up to date and the compilation
step is skipped.
The skipping of redundant dart2js compilations works only if the '--use-sdk'
option was specified (because in this case the dart2js snapshot is used).

Committed: https://code.google.com/p/dart/source/detail?r=15080

Review URL: https://codereview.chromium.org//11369216

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16158 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-14 11:56:00 +00:00
ahe@google.com c17990a886 Call dart2js directly from sdk/bin.
Review URL: https://codereview.chromium.org//11299206

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15512 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-29 12:15:29 +00:00
kustermann@google.com 52077af7fa Revert "Added support for skipping redundant dart2js compilations."
We must disable this feature until we've made sure that the boolean
dart2js flags (e.g. --checked) are included in the directory names.

TBR=ahe

Review URL: https://codereview.chromium.org//11280061

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15087 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-19 15:47:59 +00:00
kustermann@google.com f4bc6a5f3f Added support for skipping redundant dart2js compilations.
Currently, the buildbots run tests on every commit. But often neither
the tests nor the dart2js compiler did change (e.g. on status file updates).

The added code will check if the dependencies (i.e. files listed in
test.js.deps) or the dart2js snapshot did change. If not, the output
of the previous dart2js compilation is up to date and the compilation
step is skipped.
The skipping of redundant dart2js compilations works only if the '--use-sdk'
option was specified (because in this case the dart2js snapshot is used).

Review URL: https://codereview.chromium.org//11369216

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15080 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-19 13:56:11 +00:00
kustermann@google.com 42b89c9f77 Changed: TestCase.output -> TestCase.commandOutputs[]
Currently the TestCase has exactly one TestOutput. This worked
until now, since we were only interested in the output of the
last command.

This change introduces one CommandOutput for each command which
has been run. Doing so enables us to fetch output (stdin,stderr)
information as well as exitCode ... for all commands.

See also 11293278.

Review URL: https://codereview.chromium.org//11348088

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15006 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-16 11:17:47 +00:00
kustermann@google.com 3dc5c7056a Revert of commit 14947
Review URL: https://codereview.chromium.org//11348060

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14949 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-15 09:15:43 +00:00
kustermann@google.com 5ec78286df Changed: TestCase.output -> TestCase.commandOutputs[]
Currently the TestCase has exactly one TestOutput. This worked
until now, since we were only interested in the output of the
last command.

This change introduces one CommandOutput for each command which
has been run. Doing so enables us to fetch output (stdin,stderr)
information as well as exitCode ... for all commands.

Review URL: https://codereview.chromium.org//11293278

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14947 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-15 09:05:41 +00:00
ajohnsen@google.com ab69873a42 Make RegExp constructor non-const.
Another take of https://codereview.chromium.org/11410033/ with status changes applied for co19 tests.

BUG=

Review URL: https://codereview.chromium.org//11369210

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14837 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-13 10:18:06 +00:00
ajohnsen@google.com ec9fee9858 "Reverting 14829-14832"
BUG=

Review URL: https://codereview.chromium.org//11312203

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14833 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-13 07:28:13 +00:00
ajohnsen@google.com 8dc3edd7ce Make RegExp's constructor non-const.
BUG=

Review URL: https://codereview.chromium.org//11410033

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14829 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-13 06:48:43 +00:00
floitsch@google.com 8e6f238f86 a === b -> identical(a, b)
Replace === null with == null.

BUG=http://dartbug.com/6380

Review URL: https://codereview.chromium.org//11361190

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14794 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-12 17:19:58 +00:00
kustermann@google.com e78ad924f6 Added support for logging the output of failed flaky tests.
Failed flaky tests will be logged to 'failed_flaky_tests.log'.
The default behavior is that the old log file gets deleted before
any tests are run. To prevent this, the '--append_flaky_log' option
can be set.

Review URL: https://codereview.chromium.org//11364129

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14735 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-09 12:08:00 +00:00
efortuna@google.com 4a23980c8a Take 2 of splitting html tests into subtests. Had to make two changes to drt to
fully work.
Review URL: https://codereview.chromium.org//11368128

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14703 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-08 18:54:14 +00:00
efortuna@google.com 868b439bc4 Revert run large html tests individually.
Review URL: https://codereview.chromium.org//11406002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14667 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-08 00:11:09 +00:00
efortuna@google.com 3476d1c528 Run large html tests individually.
Review URL: https://codereview.chromium.org//11293019

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14663 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-07 23:42:50 +00:00
ager@google.com 83f2cfa4c1 Get rid of 'close' on process. It is very easy to use incorrectly and cut off data from your streams.
When using an interactive process started with Process.start you have
to drain the stdout and stderr streams to make sure that all resources
are freed. If you do that the dart:io library will make sure to free
all system resources for you.

R=sgjesse@google.com
BUG=

Review URL: https://codereview.chromium.org//11343009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14187 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-29 11:59:09 +00:00
ager@google.com 7f04c40b2d Land update to tools directory with new binaries.
BUG=

Review URL: https://codereview.chromium.org//11343008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14176 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-29 09:21:14 +00:00
efortuna@google.com 7df114a8f1 Revert 14110 "Fix usesWebDriver check"
Review URL: https://codereview.chromium.org//11275052

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14111 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-25 23:26:23 +00:00
efortuna@google.com d1aff197ae Fix usesWebDriver check, and the usage of config['browser'] vs config['runtime']
Review URL: https://codereview.chromium.org//11275025

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14110 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-25 23:14:55 +00:00