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

Side by Side Diff: lib/src/io.dart

Issue 1215833002: Use the new test runner. (Closed) Base URL: git@github.com:dart-lang/pub.git@master
Patch Set: Created 5 years, 6 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
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 /// Helper functionality to make working with IO easier. 5 /// Helper functionality to make working with IO easier.
6 library pub.io; 6 library pub.io;
7 7
8 import 'dart:async'; 8 import 'dart:async';
9 import 'dart:collection'; 9 import 'dart:collection';
10 import 'dart:convert'; 10 import 'dart:convert';
(...skipping 464 matching lines...) Expand 10 before | Expand all | Expand 10 after
475 createSymlink(target, symlink, relative: relative); 475 createSymlink(target, symlink, relative: relative);
476 } 476 }
477 477
478 /// Whether the current process is one of pub's test files. 478 /// Whether the current process is one of pub's test files.
479 /// 479 ///
480 /// This works because an actual pub executable that imports this will always 480 /// This works because an actual pub executable that imports this will always
481 /// start with "pub". 481 /// start with "pub".
482 final bool runningAsTest = 482 final bool runningAsTest =
483 !path.url.basename(Platform.script.path).startsWith('pub.'); 483 !path.url.basename(Platform.script.path).startsWith('pub.');
484 484
485 // TODO(nweiz): Use the test API when test#48 is fixed.
486 /// Whether the current process is one of pub's test files being run through the
487 /// test package's test runner.
488 ///
489 /// The test runner starts all tests from an entrypoint called
490 /// "runInIsolate.dart'>
491 final bool runningAsTestRunner =
492 path.url.basename(Platform.script.path).startsWith('runInIsolate.dart');
493
485 /// Whether the current process is a pub subprocess being run from a test. 494 /// Whether the current process is a pub subprocess being run from a test.
486 /// 495 ///
487 /// The "_PUB_TESTING" variable is automatically set for all the test code's 496 /// The "_PUB_TESTING" variable is automatically set for all the test code's
488 /// invocations of pub. 497 /// invocations of pub.
489 final bool runningFromTest = Platform.environment.containsKey('_PUB_TESTING'); 498 final bool runningFromTest = Platform.environment.containsKey('_PUB_TESTING');
490 499
491 /// Whether pub is running from within the Dart SDK, as opposed to from the Dart 500 /// Whether pub is running from within the Dart SDK, as opposed to from the Dart
492 /// source repository. 501 /// source repository.
493 final bool runningFromSdk = 502 final bool runningFromSdk =
494 !runningFromTest && Platform.script.path.endsWith('.snapshot'); 503 !runningFromTest && Platform.script.path.endsWith('.snapshot');
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
528 } 537 }
529 538
530 /// The path to the root of pub's sources in the pub repo. 539 /// The path to the root of pub's sources in the pub repo.
531 /// 540 ///
532 /// This throws a [StateError] if it's called when running pub from the SDK. 541 /// This throws a [StateError] if it's called when running pub from the SDK.
533 final String pubRoot = (() { 542 final String pubRoot = (() {
534 if (runningFromSdk) { 543 if (runningFromSdk) {
535 throw new StateError("Can't get pub's root from the SDK."); 544 throw new StateError("Can't get pub's root from the SDK.");
536 } 545 }
537 546
547 // The test runner always runs from the working directory.
548 if (runningAsTestRunner) return path.current;
549
538 var script = path.fromUri(Platform.script); 550 var script = path.fromUri(Platform.script);
539 if (runningAsTest) { 551 if (runningAsTest) {
540 // Running from "test/../some_test.dart". 552 // Running from "test/../some_test.dart".
541 var components = path.split(script); 553 var components = path.split(script);
542 var testIndex = components.indexOf("test"); 554 var testIndex = components.indexOf("test");
543 if (testIndex == -1) throw new StateError("Can't find pub's root."); 555 if (testIndex == -1) throw new StateError("Can't find pub's root.");
544 return path.joinAll(components.take(testIndex)); 556 return path.joinAll(components.take(testIndex));
545 } 557 }
546 558
547 // Pub is either run from ".pub/pub.test.snapshot" or "bin/pub.dart". 559 // Pub is either run from ".pub/pub.test.snapshot" or "bin/pub.dart".
(...skipping 517 matching lines...) Expand 10 before | Expand all | Expand 10 after
1065 1077
1066 // TODO(rnystrom): Remove this and change to returning one string. 1078 // TODO(rnystrom): Remove this and change to returning one string.
1067 static List<String> _toLines(String output) { 1079 static List<String> _toLines(String output) {
1068 var lines = splitLines(output); 1080 var lines = splitLines(output);
1069 if (!lines.isEmpty && lines.last == "") lines.removeLast(); 1081 if (!lines.isEmpty && lines.last == "") lines.removeLast();
1070 return lines; 1082 return lines;
1071 } 1083 }
1072 1084
1073 bool get success => exitCode == exit_codes.SUCCESS; 1085 bool get success => exitCode == exit_codes.SUCCESS;
1074 } 1086 }
OLDNEW
« no previous file with comments | « no previous file | pubspec.yaml » ('j') | test/build/copies_browser_js_with_dependency_override_test.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698