about summary refs log tree commit diff
diff options
context:
space:
mode:
authorErick Tryzelaar <erick.tryzelaar@gmail.com>2013-05-31 23:11:29 -0700
committerErick Tryzelaar <erick.tryzelaar@gmail.com>2013-06-01 10:59:24 -0700
commit871684376f504dc58b53f5d5cd55ccb7d7f4b2ea (patch)
tree1fbf68e9606e7bd91436addb0fb3ad87f55b42ab
parent44af5064d0ac3d45223f1555b299f10fd4902f5c (diff)
downloadrust-871684376f504dc58b53f5d5cd55ccb7d7f4b2ea.tar.gz
rust-871684376f504dc58b53f5d5cd55ccb7d7f4b2ea.zip
std: fix run tests when symlink is in the rust checkout path
-rw-r--r--src/libstd/run.rs18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/libstd/run.rs b/src/libstd/run.rs
index 07b521d0197..3b17067feba 100644
--- a/src/libstd/run.rs
+++ b/src/libstd/run.rs
@@ -1100,28 +1100,34 @@ mod tests {
 
     #[test]
     fn test_keep_current_working_dir() {
-
         let mut prog = run_pwd(None);
 
         let output = str::from_bytes(prog.finish_with_output().output);
         let parent_dir = os::getcwd().normalize();
         let child_dir = Path(output.trim()).normalize();
 
-        assert_eq!(child_dir.to_str(), parent_dir.to_str());
+        let parent_stat = parent_dir.stat().unwrap();
+        let child_stat = child_dir.stat().unwrap();
+
+        assert_eq!(parent_stat.st_dev, child_stat.st_dev);
+        assert_eq!(parent_stat.st_ino, child_stat.st_ino);
     }
 
     #[test]
     fn test_change_working_directory() {
-
         // test changing to the parent of os::getcwd() because we know
         // the path exists (and os::getcwd() is not expected to be root)
-        let parent_path = os::getcwd().dir_path().normalize();
-        let mut prog = run_pwd(Some(&parent_path));
+        let parent_dir = os::getcwd().dir_path().normalize();
+        let mut prog = run_pwd(Some(&parent_dir));
 
         let output = str::from_bytes(prog.finish_with_output().output);
         let child_dir = Path(output.trim()).normalize();
 
-        assert_eq!(child_dir.to_str(), parent_path.to_str());
+        let parent_stat = parent_dir.stat().unwrap();
+        let child_stat = child_dir.stat().unwrap();
+
+        assert_eq!(parent_stat.st_dev, child_stat.st_dev);
+        assert_eq!(parent_stat.st_ino, child_stat.st_ino);
     }
 
     #[cfg(unix)]