Chromium Code Reviews| Index: utils/tests/pub/install/broken_symlink_test.dart |
| diff --git a/utils/tests/pub/install/relative_symlink_test.dart b/utils/tests/pub/install/broken_symlink_test.dart |
| similarity index 58% |
| copy from utils/tests/pub/install/relative_symlink_test.dart |
| copy to utils/tests/pub/install/broken_symlink_test.dart |
| index 166a7caa0636c833037fb031b2dc71da486b4f34..07a5530f556242269b8065c98cbe31b57ddc920f 100644 |
| --- a/utils/tests/pub/install/relative_symlink_test.dart |
| +++ b/utils/tests/pub/install/broken_symlink_test.dart |
| @@ -6,50 +6,51 @@ library pub_tests; |
| import 'dart:io'; |
| +import '../../../../pkg/pathos/lib/path.dart' as path; |
| import '../../../../pkg/unittest/lib/unittest.dart'; |
| + |
| import '../test_pub.dart'; |
| main() { |
| - // Pub uses NTFS junction points to create links in the packages directory. |
| - // These (unlike the symlinks that are supported in Vista and later) do not |
| - // support relative paths. So this test, by design, will not pass on Windows. |
| - // So just skip it. |
| - if (Platform.operatingSystem == "windows") return; |
| - |
| initConfig(); |
| - integration('uses a relative symlink for the self link', () { |
| + integration('replaces a broken "packages" symlink', () { |
| dir(appPath, [ |
| appPubspec([]), |
| - libDir('foo') |
|
Andrei Mouravski
2013/03/06 01:25:46
Could you make all "s into 's?
Bob Nystrom
2013/03/06 20:55:55
Pub doesn't really have a well-defined guideline f
|
| + libDir('foo'), |
| + dir("bin") |
| ]).scheduleCreate(); |
| + // Create a broken "packages" symlink in "bin". |
|
nweiz
2013/03/06 20:13:52
'"bin"' -> 'the package root'
|
| + scheduleSymlink("nonexistent", path.join(appPath, "packages")); |
| + |
| schedulePub(args: ['install'], |
| output: new RegExp(r"Dependencies installed!$")); |
| - scheduleRename(appPath, "moved"); |
| - |
| - dir("moved", [ |
| - dir("packages", [ |
| - dir("myapp", [ |
| - file('foo.dart', 'main() => "foo";') |
| + dir(appPath, [ |
| + dir("bin", [ |
| + dir("packages", [ |
| + dir("myapp", [ |
| + file('foo.dart', 'main() => "foo";') |
| + ]) |
| ]) |
| ]) |
| ]).scheduleValidate(); |
| }); |
| - integration('uses a relative symlink for secondary packages directory', () { |
| + integration('replaces a broken secondary "packages" symlink', () { |
| dir(appPath, [ |
| appPubspec([]), |
| libDir('foo'), |
| dir("bin") |
| ]).scheduleCreate(); |
| + // Create a broken "packages" symlink in "bin". |
| + scheduleSymlink("nonexistent", path.join(appPath, "bin", "packages")); |
| + |
| schedulePub(args: ['install'], |
| output: new RegExp(r"Dependencies installed!$")); |
| - scheduleRename(appPath, "moved"); |
| - |
| - dir("moved", [ |
| + dir(appPath, [ |
| dir("bin", [ |
| dir("packages", [ |
| dir("myapp", [ |