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

Unified Diff: sdk/lib/_internal/pub_generated/test/global/binstubs/outdated_snapshot_test.dart

Issue 745153002: Make pub's binstubs resilient to changes in snapshot format. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: sdk/lib/_internal/pub_generated/test/global/binstubs/outdated_snapshot_test.dart
diff --git a/sdk/lib/_internal/pub_generated/test/global/run/recompiles_if_sdk_is_out_of_date_test.dart b/sdk/lib/_internal/pub_generated/test/global/binstubs/outdated_snapshot_test.dart
similarity index 50%
copy from sdk/lib/_internal/pub_generated/test/global/run/recompiles_if_sdk_is_out_of_date_test.dart
copy to sdk/lib/_internal/pub_generated/test/global/binstubs/outdated_snapshot_test.dart
index 1579ed58c5c35fde435eea28fc0894c92e11f045..b02b4530b9fdcb050f63968775da3a8f9631d17e 100644
--- a/sdk/lib/_internal/pub_generated/test/global/run/recompiles_if_sdk_is_out_of_date_test.dart
+++ b/sdk/lib/_internal/pub_generated/test/global/binstubs/outdated_snapshot_test.dart
@@ -2,21 +2,28 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
+import 'dart:io';
+
+import 'package:path/path.dart' as p;
+import 'package:scheduled_test/scheduled_process.dart';
import 'package:scheduled_test/scheduled_stream.dart';
import 'package:scheduled_test/scheduled_test.dart';
import '../../descriptor.dart' as d;
import '../../test_pub.dart';
+import 'utils.dart';
main() {
initConfig();
- integration('recompiles a script if the SDK version is out-of-date', () {
+ integration("a binstub runs 'pub global run' for an outdated snapshot", () {
servePackages((builder) {
- builder.serve(
- "foo",
- "1.0.0",
+ builder.serve("foo", "1.0.0", pubspec: {
+ "executables": {
+ "foo-script": "script"
+ }
+ },
contents: [
- d.dir("bin", [d.file("script.dart", "main(args) => print('ok');")])]);
+ d.dir("bin", [d.file("script.dart", "main(args) => print('ok \$args');")])]);
});
schedulePub(args: ["global", "activate", "foo"]);
@@ -31,24 +38,13 @@ main() {
'foo',
[d.dir('bin', [d.outOfDateSnapshot('script.dart.snapshot')])])])]).create();
- var pub = pubRun(global: true, args: ["foo:script"]);
- // In the real world this would just print "hello!", but since we collect
- // all output we see the precompilation messages as well.
- pub.stdout.expect("Precompiling executables...");
- pub.stdout.expect(consumeThrough("ok"));
- pub.shouldExit();
+ var process = new ScheduledProcess.start(
+ p.join(sandboxDir, cachePath, "bin", binStubName("foo-script")),
+ ["arg1", "arg2"],
+ environment: getEnvironment());
- d.dir(
- cachePath,
- [
- d.dir(
- 'global_packages',
- [
- d.dir(
- 'foo',
- [
- d.dir(
- 'bin',
- [d.matcherFile('script.dart.snapshot', contains('ok'))])])])]).validate();
+ // process.stderr.expect(startsWith("Wrong script snapshot version"));
+ // process.stdout.expect(consumeThrough("ok [arg1, arg2]"));
+ process.shouldExit();
});
}

Powered by Google App Engine
This is Rietveld 408576698