blob: 915a683ed8c52c99acf68c93685cdbcf6a8b5383 [file] [log] [blame]
// Copyright (c) 2013, 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.
import 'dart:io';
import '../../../../../pkg/pathos/lib/path.dart' as path;
import '../../../../pub/exit_codes.dart' as exit_codes;
import '../../test_pub.dart';
main() {
initConfig();
integration('path dependency to non-existent directory', () {
var badPath = path.join(sandboxDir, "bad_path");
dir(appPath, [
pubspec({
"name": "myapp",
"dependencies": {
"foo": {"path": badPath}
}
})
]).scheduleCreate();
// TODO(rnystrom): The "\" in a Windows path gets treated like a regex
// character, so hack escape. A better fix is to use a literal string
// instead of a RegExp to validate, but that requires us to move the
// stack traces out of the stderr when we invoke pub. See also: #4706.
var escapePath = badPath.replaceAll(r"\", r"\\");
schedulePub(args: ['install'],
error:
new RegExp("Could not find package 'foo' at '$escapePath'."),
exitCode: exit_codes.DATA);
});
}