Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 import 'dart:async'; | |
| 2 import 'dart:io'; | |
| 3 | |
| 4 Future testJsParser(serverUrl) async { | |
| 5 String drt = "../../../client/tests/drt/content_shell"; | |
|
Johnni Winther
2015/12/11 11:27:29
What is this? (I don't have a file at that locatio
floitsch
2015/12/14 18:56:41
The file is downloaded when running any test with
| |
| 6 String drtPath = Platform.script.resolve(drt).toFilePath(); | |
| 7 String testPage = "$serverUrl/test/parser_test.html"; | |
| 8 print("running drt $testPage"); | |
| 9 ProcessResult result = | |
| 10 await Process.run(drtPath, ['--dump-render-tree', testPage]); | |
| 11 if (!result.stdout.contains("SUCCESS") || result.stdout.contains("FAILED")) { | |
| 12 throw "Test failed"; | |
| 13 } | |
| 14 print(result.stdout); | |
| 15 print(result.stderr); | |
| 16 } | |
| 17 | |
| 18 Uri pathOfData = Platform.script.resolve('../'); | |
| 19 | |
| 20 _sendNotFound(HttpResponse response) { | |
| 21 response.statusCode = HttpStatus.NOT_FOUND; | |
| 22 response.close(); | |
| 23 } | |
| 24 | |
| 25 Future handleRequest(HttpRequest request) { | |
| 26 final String path = request.uri.path.substring(1); | |
| 27 final Uri requestPath = pathOfData.resolve(path); | |
| 28 final File file = new File(requestPath.toFilePath()); | |
| 29 print("serving $requestPath"); | |
| 30 if (path.endsWith("html")) { | |
| 31 request.response.headers.add('Content-Type', 'text/html'); | |
| 32 } else if (path.endsWith("js")) { | |
| 33 request.response.headers.add('Content-Type', 'application/javascript'); | |
| 34 } | |
| 35 return file.exists().then((bool found) { | |
| 36 if (found) { | |
| 37 file.openRead() | |
| 38 .pipe(request.response) | |
| 39 .catchError((e) { _sendNotFound(request.response); }); | |
| 40 } else { | |
| 41 _sendNotFound(request.response); | |
| 42 } | |
| 43 }); | |
| 44 } | |
| 45 | |
| 46 serverRunning(HttpServer server, String scheme) async { | |
| 47 int port = server.port; | |
| 48 String serverUrl = "$scheme://127.0.0.1:$port"; | |
| 49 | |
| 50 server.listen(handleRequest); | |
| 51 | |
| 52 try { | |
| 53 await testJsParser(serverUrl); | |
| 54 } finally { | |
| 55 server.close(); | |
| 56 } | |
| 57 } | |
| 58 | |
| 59 Future runServerAndTests() { | |
| 60 return HttpServer.bind(InternetAddress.LOOPBACK_IP_V4, 0) | |
| 61 .then((HttpServer server) => serverRunning(server, "http")); | |
| 62 } | |
| 63 | |
| 64 main() { | |
| 65 runServerAndTests(); | |
| 66 } | |
| OLD | NEW |