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

Side by Side Diff: sdk/lib/_internal/pub/test/test_pub.dart

Issue 341643002: Make short-running Git operations synchronous. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 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 | Annotate | Revision Log
« no previous file with comments | « sdk/lib/_internal/pub/test/package_files_test.dart ('k') | no next file » | 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) 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 /// Test infrastructure for testing pub. Unlike typical unit tests, most pub 5 /// Test infrastructure for testing pub. Unlike typical unit tests, most pub
6 /// tests are integration tests that stage some stuff on the file system, run 6 /// tests are integration tests that stage some stuff on the file system, run
7 /// pub, and then validate the results. This library provides an API to build 7 /// pub, and then validate the results. This library provides an API to build
8 /// tests like that. 8 /// tests like that.
9 library test_pub; 9 library test_pub;
10 10
(...skipping 627 matching lines...) Expand 10 before | Expand all | Expand 10 after
638 /// validation gives an easier-to-understand error when that requirement isn't 638 /// validation gives an easier-to-understand error when that requirement isn't
639 /// met than just failing in the middle of a test when pub invokes git. 639 /// met than just failing in the middle of a test when pub invokes git.
640 /// 640 ///
641 /// This also increases the [Schedule] timeout to 30 seconds on Windows, 641 /// This also increases the [Schedule] timeout to 30 seconds on Windows,
642 /// where Git runs really slowly. 642 /// where Git runs really slowly.
643 void ensureGit() { 643 void ensureGit() {
644 if (Platform.operatingSystem == "windows") { 644 if (Platform.operatingSystem == "windows") {
645 currentSchedule.timeout = new Duration(seconds: 30); 645 currentSchedule.timeout = new Duration(seconds: 30);
646 } 646 }
647 647
648 schedule(() { 648 if (!gitlib.isInstalled) {
649 return gitlib.isInstalled.then((installed) { 649 throw new Exception("Git must be installed to run this test.");
650 if (!installed) { 650 }
651 throw new Exception("Git must be installed to run this test.");
652 }
653 });
654 }, 'ensuring that Git is installed');
655 } 651 }
656 652
657 /// Create a lock file for [package] without running `pub get`. 653 /// Create a lock file for [package] without running `pub get`.
658 /// 654 ///
659 /// [sandbox] is a list of path dependencies to be found in the sandbox 655 /// [sandbox] is a list of path dependencies to be found in the sandbox
660 /// directory. [pkg] is a list of packages in the Dart repo's "pkg" directory; 656 /// directory. [pkg] is a list of packages in the Dart repo's "pkg" directory;
661 /// each package listed here and all its dependencies will be linked to the 657 /// each package listed here and all its dependencies will be linked to the
662 /// version in the Dart repo. 658 /// version in the Dart repo.
663 /// 659 ///
664 /// [hosted] is a list of package names to version strings for dependencies on 660 /// [hosted] is a list of package names to version strings for dependencies on
(...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after
908 _lastMatcher.matches(item.last, matchState); 904 _lastMatcher.matches(item.last, matchState);
909 } 905 }
910 906
911 Description describe(Description description) { 907 Description describe(Description description) {
912 return description.addAll("(", ", ", ")", [_firstMatcher, _lastMatcher]); 908 return description.addAll("(", ", ", ")", [_firstMatcher, _lastMatcher]);
913 } 909 }
914 } 910 }
915 911
916 /// A [StreamMatcher] that matches multiple lines of output. 912 /// A [StreamMatcher] that matches multiple lines of output.
917 StreamMatcher emitsLines(String output) => inOrder(output.split("\n")); 913 StreamMatcher emitsLines(String output) => inOrder(output.split("\n"));
OLDNEW
« no previous file with comments | « sdk/lib/_internal/pub/test/package_files_test.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698