diff options
| author | Tim Chevalier <chevalier@alum.wellesley.edu> | 2013-11-08 15:42:20 -0800 |
|---|---|---|
| committer | Tim Chevalier <chevalier@alum.wellesley.edu> | 2013-11-08 16:03:18 -0800 |
| commit | b60de8a1f6fe343f99203036e39ec82c3c6fd1b9 (patch) | |
| tree | 519124bd5a32d089621e8984940a8dc9732b7de1 | |
| parent | a594a999fbccf04710c9dfea3ef3d231c14e1bd1 (diff) | |
| download | rust-b60de8a1f6fe343f99203036e39ec82c3c6fd1b9.tar.gz rust-b60de8a1f6fe343f99203036e39ec82c3c6fd1b9.zip | |
rustpkg: Add a test that `rustpkg install` doesn't copy a non-changed file
This bug was already fixed, just needed a test. Closes #9569
| -rw-r--r-- | src/librustpkg/tests.rs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/librustpkg/tests.rs b/src/librustpkg/tests.rs index b45e4ff1755..4460d1701b5 100644 --- a/src/librustpkg/tests.rs +++ b/src/librustpkg/tests.rs @@ -1097,6 +1097,24 @@ fn no_rebuilding() { } #[test] +fn no_recopying() { + let p_id = PkgId::new("foo"); + let workspace = create_local_package(&p_id); + let workspace = workspace.path(); + command_line_test([~"install", ~"foo"], workspace); + let foo_lib = installed_library_in_workspace(&p_id.path, workspace); + assert!(foo_lib.is_some()); + // Now make `foo` read-only so that subsequent attempts to copy to it will fail + assert!(chmod_read_only(&foo_lib.unwrap())); + + match command_line_test_partial([~"install", ~"foo"], workspace) { + Success(*) => (), // ok + Fail(65) => fail!("no_recopying failed: it tried to re-copy foo"), + Fail(_) => fail!("no_copying failed for some other reason") + } +} + +#[test] fn no_rebuilding_dep() { let p_id = PkgId::new("foo"); let dep_id = PkgId::new("bar"); |
