Просмотр исходного кода

Add tests for relative symlinks

Benjamin Sago 8 лет назад
Родитель
Сommit
6b008a6177
4 измененных файлов с 26 добавлено и 4 удалено
  1. 11 3
      Vagrantfile
  2. 2 1
      xtests/links
  3. 6 0
      xtests/links_1
  4. 7 0
      xtests/links_T

+ 11 - 3
Vagrantfile

@@ -159,10 +159,18 @@ Vagrant.configure(2) do |config|
     config.vm.provision :shell, privileged: false, inline: <<-EOF
         set -xe
         mkdir "#{test_dir}/links"
-        ln -s / "#{test_dir}/links/root"
-        ln -s /usr "#{test_dir}/links/usr"
-        ln -s nowhere "#{test_dir}/links/broken"
+
+        ln -s /            "#{test_dir}/links/root"
+        ln -s /usr         "#{test_dir}/links/usr"
+        ln -s nowhere      "#{test_dir}/links/broken"
         ln -s /proc/1/root "#{test_dir}/links/forbidden"
+
+        touch "#{test_dir}/links/some_file"
+        ln -s "#{test_dir}/links/some_file" "#{test_dir}/links/some_file_absolute"
+        (cd "#{test_dir}/links"; ln -s "some_file" "some_file_relative")
+        (cd "#{test_dir}/links"; ln -s "."         "current_dir")
+        (cd "#{test_dir}/links"; ln -s ".."        "parent_dir")
+        (cd "#{test_dir}/links"; ln -s "itself"    "itself")
     EOF
 
 

+ 2 - 1
xtests/links

@@ -1 +1,2 @@
-broken  forbidden  root  usr
+broken       forbidden  parent_dir  some_file           some_file_relative
+current_dir  itself     root        some_file_absolute  usr

+ 6 - 0
xtests/links_1

@@ -1,4 +1,10 @@
 broken -> nowhere
+current_dir -> .
 forbidden -> /proc/1/root
+itself -> itself
+parent_dir -> ..
 root -> /
+some_file
+some_file_absolute -> /testcases/links/some_file
+some_file_relative -> some_file
 usr -> /usr

+ 7 - 0
xtests/links_T

@@ -1,7 +1,14 @@
 /testcases/links
 ├── broken -> nowhere
 │  └── <No such file or directory (os error 2)>
+├── current_dir -> .
 ├── forbidden -> /proc/1/root
 │  └── <Permission denied (os error 13)>
+├── itself -> itself
+│  └── <Too many levels of symbolic links (os error 40)>
+├── parent_dir -> ..
 ├── root -> /
+├── some_file
+├── some_file_absolute -> /testcases/links/some_file
+├── some_file_relative -> some_file
 └── usr -> /usr