63eac3fe8b
Review URL: https://codereview.chromium.org//12087008 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17740 260f80e4-7a28-3924-810f-c04153c831b5
40 lines
1.5 KiB
Dart
40 lines
1.5 KiB
Dart
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
|
|
// 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.
|
|
|
|
library pub_tests;
|
|
|
|
import 'dart:io';
|
|
|
|
import 'test_pub.dart';
|
|
import '../../../pkg/path/lib/path.dart' as path;
|
|
import '../../../pkg/unittest/lib/unittest.dart';
|
|
|
|
main() {
|
|
initConfig();
|
|
|
|
// This test is a bit funny.
|
|
//
|
|
// Pub parses the "version" file that gets generated and shipped with the SDK.
|
|
// Most of the pub tests here generate a synthetic SDK directory so that we
|
|
// can tests against a known SDK state. But we want to make sure that the
|
|
// actual version file that gets created is also one pub can parse. If this
|
|
// test fails, it means the version file's format has changed in a way pub
|
|
// didn't expect.
|
|
//
|
|
// Note that this test expects to be invoked from a Dart executable that is
|
|
// in the built SDK's "bin" directory. Note also that this invokes pub from
|
|
// the built SDK directory, and not the live pub code directly in the repo.
|
|
test('parse the real SDK "version" file', () {
|
|
// Get the path to the pub binary in the SDK.
|
|
var dartPath = new Options().executable;
|
|
var pubPath = path.join(path.dirname(dartPath), "pub");
|
|
if (Platform.operatingSystem == "windows") pubPath = '$pubPath.bat';
|
|
|
|
Process.run(pubPath, ['version']).then(expectAsync1((result) {
|
|
expect(result.stdout, startsWith("Pub"));
|
|
expect(result.exitCode, equals(0));
|
|
}));
|
|
});
|
|
}
|