# file : tests/test/script/builtin/ln.test # copyright : Copyright (c) 2014-2018 Code Synthesis Ltd # license : MIT; see accompanying LICENSE file .include ../common.test : args : { : -s-option : $c <'ln 2>"ln: missing -s option" == 1' && $b : none : $c <'ln -s 2>"ln: missing arguments" == 1' && $b : no-target : $c <'ln -s a 2>"ln: missing target path" == 1' && $b : no-trailing-sep : $c <"ln: multiple target paths with non-directory link path" == 1 EOI : empty : { : link : $c <"ln: invalid path ''" == 1 EOI : target1 : $c <"ln: invalid path ''" == 1 EOI : target2 : $c <"ln: invalid path ''" == 1 EOI } } : file : : Test creating a file symlink. : { : non-existing-link-path : $c <>/~%EOE% != 0 %( %ln: unable to create .+link '.+/b' to '.+/a': .+%| %ln: unable to copy file '.+/a' to '.+/b': .+% %) EOE EOI : dir : $c <>/~%EOE% != 0 %( %ln: unable to create .+link '.+/b' to '.+/a': .+%| %ln: unable to copy file '.+/a' to '.+/b': .+% %) EOE EOI } : non-existing { : target : $c <>/~%EOE% != 0 %ln: unable to create symlink to '.+/a': no such file or directory% EOE EOI : link-dir : $c <>/~%EOE% != 0 %( %ln: unable to create .+link '.+/b/c' to '.+/a': .+%| %ln: unable to copy file '.+/a' to '.+/b/c': .+% %) EOE EOI } } : dir : : Test creating a directory symlink. : { : non-existing-link-path : $c <>/~%EOE% != 0 %( %ln: unable to create .+link '.+/b' to '.+/a': .+%| %ln: unable to copy directory '.+/a' to '.+/b': .+% %) EOE EOI : file : $c <>/~%EOE% != 0 %( %ln: unable to create .+link '.+/b' to '.+/a': .+%| %ln: unable to copy directory '.+/a' to '.+/b': .+% %) EOE EOI } : non-existing { : link-dir : $c <>/~%EOE% != 0 %( %ln: unable to create .+link '.+/b/c' to '.+/a': .+%| %ln: unable to copy directory '.+/a' to '.+/b/c': .+% %) EOE EOI } } : multiple-targets : : Test creating links for multiple targets in the specified directory. : { $c <