Commit Graph

67 Commits

Author SHA1 Message Date
whesse@google.com c8bfa98017 Test infrastructure: add retry to browser controller sending "done" message.
BUG=
R=kustermann@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30950 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-06 16:38:15 +00:00
kustermann@google.com e634fb20a4 Make status updates after 10 seconds + fix handling of status updates
R=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30748 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-28 08:50:58 +00:00
kustermann@google.com bb54b776ba Checked-in binary update to v1.0.0.3
R=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30717 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-27 14:17:44 +00:00
kustermann@google.com 8649be6036 Implement a periodic timer which sends the current state of a browser test back to the browser controller
R=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30468 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-20 13:32:16 +00:00
kustermann@google.com e3d8608ca2 test.py: Sending JSON between test_controller.js <-> browser_controller
Currently test.py will look for FAIL/PASS messages in the DOM to determine if a
test has failed or not. test_controller.js will add these PASS/FAIL messages to
the DOM (in addition to other messages).

This approach has several issues:
- The test itself could create nodes in the DOM containing FAIL/PASS. This means
  that the outcome of a test cannot be reliably determined.
- The test ifself can remove nodes from the DOM (e.g. setting
  document.body.innerHTML). This could result in a situation where the
  stacktraces/... test_controller.js prints to the DOM are lost.
- It is unclear which parts of the DOM we see in test failure messages
  (reported by test.py) come from the test itself and which parts come from
  test_controller.js.

This CL tries to fix this by recording all events that happend with global
variables in test_controller.js and send back a JSON string with information
about
  - debug messages
  - posted messages
  - print() calls of the test
  - DOM
  - errors (from window.onerror, script.onerror ...)

Furthermore this CL fixes unittest to report
unittest-suite-success/unittest-suite-fail instead of unittest-suite-done (which
is broken).

R=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30407 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-19 12:54:41 +00:00
whesse@google.com 0f2f482388 Add browser path options to testing scripts.
BUG=
R=kustermann@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29981 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-06 16:24:33 +00:00
zra@google.com a69e4a5e8d Adds checked mode to Dartium on Android browser test controller.
R=kustermann@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29832 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-04 18:26:41 +00:00
kustermann@google.com b5373a419a Run all tests inside an iframe + restrict number of chrome browser processes on mac
R=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29367 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-28 16:31:18 +00:00
zra@google.com bdc3343090 Adds test target for Dartium on Android.
R=kustermann@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29293 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-25 21:34:25 +00:00
zra@google.com 5572278a23 Changes to run tests on Dartium content shell on Android.
- In browser_controller.dart, adds a drtOnAndroid Browser.
- Adds flags for starting test servers at fixed ports.
  - This is needed so that android reverse port forwarding
    can be set up in advance.
- Adds setProp to android.dart to be used in lieu of
  environment variables when testing on Android.

R=kustermann@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29259 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-25 16:39:48 +00:00
kustermann@google.com b3ba5c5c95 test.py: Support for running tests in checked mode on none-dartium with the browser controller
R=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29175 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-24 15:37:33 +00:00
kustermann@google.com 006645db9e Capture and report stdout/stderr of the browser while running a test
Currently we have no way of getting stdout/stderr information when using the
browser controller.

This CL will capture stdout/stderr of the browser and tries to align it with the
currently executed test (which might be slightly off due to the fact that
Process.{stderr,stdout} is reported asynchronously).

R=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28858 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-18 15:28:08 +00:00
kustermann@google.com c9ba1fcbe4 test.py: Propagate the global --dartium option to the browser controller
R=kasperl@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28222 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-03 14:55:09 +00:00
kustermann@google.com 22d20313b4 Implement testing support for "--compiler=none --runtime=dartium"
This is implemented without the broken unittest-based wrapping of tests.

R=kasperl@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28141 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-02 07:37:50 +00:00
ricow@google.com 7ff576944f Don't try to get chrome version on windows.
We still make sure that the binary is valid.

Enable the browser controller on windows again

R=kustermann@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27333 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-10 12:29:43 +00:00
kustermann@google.com 1e32f03118 Disable new browser controller on win-chrome
test.dart is not able to determine the version of chrome when running
'chrome.exe --version'. This causes an open browser window to hang and
makes the bot timeout.

TBR=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27245 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-06 12:22:32 +00:00
kustermann@google.com 58b33d70e9 test.py: Bugfix in browser_controller. Make sure we always complete even in case of errors
TBR=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27242 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-06 11:32:34 +00:00
ricow@google.com b4b435faab Add support for chrome on windows to the new browser controller
R=kustermann@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27239 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-06 09:45:52 +00:00
ricow@google.com 175c3f58e1 Add support for firefox on windows to the browser controller
R=kustermann@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27235 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-06 08:52:43 +00:00
ricow@google.com ec88776e9a Add div displaying the currently executing test.
This can be useful if the window freezes up with a busy loop

R=kustermann@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27027 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-03 08:04:26 +00:00
kustermann@google.com 59c486d34c Fixed type error in browser_controller: DebugLogger.error() takes a string
TBR=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26936 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-30 19:15:03 +00:00
kustermann@google.com 4d7311f14b Remove Timeout entries in status files for ie9/ie10
After reducing the load on our IE builders, we hopefully no longer see these
random timeouts.

R=ahe@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26912 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-30 13:39:05 +00:00
kustermann@google.com 7ddb5bb8ad test.py: Report info about how long it took until a browser tests started if it times out
R=ahe@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26910 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-30 12:55:27 +00:00
kustermann@google.com 45c42e08f2 Update checked-in binary to 0.6.21.3_r26639 (M6)
R=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26704 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-27 11:16:37 +00:00
ricow@google.com fbe8335669 Catch race condition where we are shutting down a browser and that browser is sending back results.
R=kustermann@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26532 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-22 16:30:56 +00:00
ricow@google.com 73826dc6bf Add support for ie in the browser controller
Also, add no caching headers (since IE will cache the task that it gets)

R=kustermann@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26112 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-14 11:30:48 +00:00
kustermann@google.com 76ce98c89b Disable javascript time limit on firefox
This is an attempt to disable the script time limit on firefox, since some tests
are timing out.

TBR=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25569 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-29 16:06:17 +00:00
ricow@google.com af21d74d2d Fix safari browser to use Future.value
Also correct type errors found by the analyzer.

R=kustermann@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24532 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-27 17:07:17 +00:00
ricow@google.com 545f6e1341 Update checked in binary to version 0.5.19.0
This is a reland of r24086 with a fix catching errors in the websocket server in tools/testing/dart/http_server.dart.

R=kustermann@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24520 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-27 16:10:59 +00:00
ricow@google.com ee35be8712 Simplify close functionality in the browser controller.
Add a done future that can be used by users to determine if a browser crashes.

This future is the same we return from the close call.

R=kustermann@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24395 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 11:35:24 +00:00
ricow@google.com 302fbd5174 Add two additional directories to safari cache clearing.
R=kustermann@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24317 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 09:47:37 +00:00
ricow@google.com 568e86f4a1 Also remove Library/Safari from users home dir if --clear_safari_cache is set
Additionally, actually handle errors on deletion correctly by checking for existense first and actually failing if we fail to delete the directory.

R=kustermann@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24238 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-20 16:01:41 +00:00
ricow@google.com ecb4dea649 Add safari cache clearing browser functionality to the safari browser.
Also, add flag to test.dart to enable this feature.

R=kustermann@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24215 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-20 10:30:04 +00:00
ricow@google.com 4c5b2ac2ab Revert 24086 Update checked in binary to version 0.5.19.0
This is causing crashes in http server.

R=kustermann@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24096 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-17 13:22:15 +00:00
ricow@google.com 1970fc7afb Update checked in binary to version 0.5.19.0
R=kustermann@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24086 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-17 10:47:02 +00:00
ricow@google.com 62f8da0bdf More debug info on the browser controller.
Add timing info on actual requests to the http server.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24017 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-14 06:22:07 +00:00
ricow@google.com a3902a74f4 Add debug info for how long it takes to handle the output from the browser.
Review URL: https://codereview.chromium.org//16881006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23998 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-13 17:15:54 +00:00
ricow@google.com 4eff75f62d Write browser timings on the debug log
R=kustermann@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23984 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-13 14:30:35 +00:00
ricow@google.com 5c08a32f86 Use request.response.done instead of getting future from close()
The checked in binary does not return a future on close()

R=kustermann@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23980 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-13 14:01:37 +00:00
ricow@google.com 786b0b7f1c Fix error handling on errorReportingServer
R=kustermann@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23978 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-13 13:53:25 +00:00
ricow@google.com e97215e045 Add error reporting server to the browser controller
This is used to send back errors from the browsers if we see any issues with getting resources.

R=kustermann@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23973 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-13 12:40:37 +00:00
kustermann@google.com 4efd9609a5 Moving timing info to utils.dart:DebugLogger
R=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23967 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-13 11:20:21 +00:00
ricow@google.com c0c48e23ef Add correct timing collection for new browser controller
R=kustermann@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23957 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-13 09:14:39 +00:00
ricow@google.com 0e1472b570 Fix id in browser testing status map
This was wrongly set to the old id.

R=kustermann@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23952 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-13 08:20:55 +00:00
kustermann@google.com 73b8c4adc6 Fixed bug in browser_controller.dart
If a browser crashed on it's own, then the driving page running in it will not
post a result. So the test will eventually time out. The testing server will
then call 'browser.close()' and after the browser was closed, it will start a
new one.

Previously the 'browser.close()' future did not complete in this scenario, since
the '_browserClosed' callback was not set.

Note that with the new browser controller, browser crashes will currently be
reported as timeouts.

R=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23951 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-13 08:08:34 +00:00
ricow@google.com 96272613d5 Add timing information to browser controller logging.
Review URL: https://codereview.chromium.org//16843009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23950 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-13 06:59:58 +00:00
ricow@google.com ee8ddfd2d4 Add debugging info to browser controller.
R=kustermann@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23903 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-12 12:54:39 +00:00
ricow@google.com 57838491b2 Remove leftover static varibles for old kill functionality in the browser controller.
R=kustermann@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23898 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-12 09:10:04 +00:00
kustermann@google.com 096eb7ada9 Simplified the killing mechanism in browser_controller.dart
R=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23674 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-06 11:12:59 +00:00
kustermann@google.com eda01014b4 Support for running tests in an iframe
R=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23400 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-30 12:16:22 +00:00