Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(626)

Side by Side Diff: tests/standalone/io/process_start_exception_test.dart

Issue 2631223003: Gardening: Mark io/http_basic_test slow. Add debug prints into io/process_start_exception_test. (Closed)
Patch Set: Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | tests/standalone/standalone.status » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 // 4 //
5 // Process test program to errors during startup of the process. 5 // Process test program to errors during startup of the process.
6 6
7 import "package:expect/expect.dart"; 7 import "package:expect/expect.dart";
8 import 'dart:async'; 8 import 'dart:async';
9 import 'dart:io'; 9 import 'dart:io';
10 10
11 // Constants from errno.h
12 const ENOENT = 2;
13 const EACCES = 13;
14
15 // TODO(http://dartbug.com/28299) This code is added in attempt to collect more
16 // information about the flakyness this test experiences on Android bots:
17 // sometimes the test fails because we get EACCES instead of ENOENT error
18 // from the OS.
19 checkForAccessError(error) {
20 if (error.errorCode == EACCES) {
21 report(obj) {
22 final stat = obj.statSync();
23 print("${obj} | ${stat.type} | ${stat.modeString()}");
24 }
25
26 report(Directory.current);
27 report(new File("__path_to_something_that_should_not_exist__"));
28 }
29 }
30
11 testStartError() { 31 testStartError() {
12 Future<Process> processFuture = 32 Future<Process> processFuture =
13 Process.start("__path_to_something_that_should_not_exist__", 33 Process.start("__path_to_something_that_should_not_exist__",
14 const []); 34 const []);
15 processFuture.then((p) => Expect.fail('got process despite start error')) 35 processFuture.then((p) => Expect.fail('got process despite start error'))
16 .catchError((error) { 36 .catchError((error) {
17 Expect.isTrue(error is ProcessException); 37 Expect.isTrue(error is ProcessException);
18 Expect.equals(2, error.errorCode, error.toString()); 38 checkForAccessError(error);
39 Expect.equals(ENOENT, error.errorCode, error.toString());
19 }); 40 });
20 } 41 }
21 42
22 testRunError() { 43 testRunError() {
23 Future<ProcessResult> processFuture = 44 Future<ProcessResult> processFuture =
24 Process.run("__path_to_something_that_should_not_exist__", 45 Process.run("__path_to_something_that_should_not_exist__",
25 const []); 46 const []);
26 47
27 processFuture.then((result) => Expect.fail("exit handler called")) 48 processFuture.then((result) => Expect.fail("exit handler called"))
28 .catchError((error) { 49 .catchError((error) {
29 Expect.isTrue(error is ProcessException); 50 Expect.isTrue(error is ProcessException);
30 Expect.equals(2, error.errorCode, error.toString()); 51 checkForAccessError(error);
52 Expect.equals(ENOENT, error.errorCode, error.toString());
31 }); 53 });
32 } 54 }
33 55
34 main() { 56 main() {
35 testStartError(); 57 testStartError();
36 testRunError(); 58 testRunError();
37 } 59 }
OLDNEW
« no previous file with comments | « no previous file | tests/standalone/standalone.status » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698