mirror of
https://github.com/ipfs/kubo.git
synced 2026-03-05 08:18:03 +08:00
Merge pull request #3135 from ipfs/kevina/2839directfix
Directly Fix #2839
This commit is contained in:
commit
ade598eead
@ -401,16 +401,14 @@ func appendFile(fpath string, argDef *cmds.Argument, recursive, hidden bool) (fi
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
cwd, err = filepath.EvalSymlinks(cwd)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
fpath = cwd
|
||||
}
|
||||
|
||||
fpath = filepath.Clean(fpath)
|
||||
fpath, err := filepath.EvalSymlinks(fpath)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
// Repeat ToSlash after EvalSymlinks as it turns path to platform specific
|
||||
fpath = filepath.ToSlash(fpath)
|
||||
fpath = filepath.ToSlash(filepath.Clean(fpath))
|
||||
|
||||
stat, err := os.Lstat(fpath)
|
||||
if err != nil {
|
||||
|
||||
@ -189,6 +189,18 @@ test_add_named_pipe() {
|
||||
'
|
||||
}
|
||||
|
||||
test_add_pwd_is_symlink() {
|
||||
test_expect_success "ipfs add -r adds directory content when ./ is symlink" '
|
||||
mkdir hellodir &&
|
||||
echo "World" > hellodir/world &&
|
||||
ln -s hellodir hellolink &&
|
||||
( cd hellolink &&
|
||||
ipfs add -r . > ../actual ) &&
|
||||
grep "added Qma9CyFdG5ffrZCcYSin2uAETygB25cswVwEYYzwfQuhTe" actual &&
|
||||
rm -r hellodir
|
||||
'
|
||||
}
|
||||
|
||||
test_launch_ipfs_daemon_and_mount
|
||||
|
||||
test_expect_success "'ipfs add --help' succeeds" '
|
||||
@ -373,6 +385,8 @@ test_add_cat_expensive
|
||||
|
||||
test_add_named_pipe " Post http://$API_ADDR/api/v0/add?encoding=json&progress=true&r=true&stream-channels=true:"
|
||||
|
||||
test_add_pwd_is_symlink
|
||||
|
||||
test_kill_ipfs_daemon
|
||||
|
||||
# should work offline
|
||||
@ -390,6 +404,8 @@ test_expect_success "ipfs cat file fails" '
|
||||
|
||||
test_add_named_pipe ""
|
||||
|
||||
test_add_pwd_is_symlink
|
||||
|
||||
# Test daemon in offline mode
|
||||
test_launch_ipfs_daemon --offline
|
||||
|
||||
|
||||
@ -11,13 +11,9 @@ test_description="Test add -w"
|
||||
test_expect_success "creating files succeeds" '
|
||||
mkdir -p files/foo &&
|
||||
mkdir -p files/bar &&
|
||||
mkdir -p files/badin
|
||||
echo "some text" > files/foo/baz &&
|
||||
ln -s ../foo/baz files/bar/baz &&
|
||||
ln -s files/does/not/exist files/badin/bad &&
|
||||
mkdir -p files2/a/b/c &&
|
||||
echo "some other text" > files2/a/b/c/foo &&
|
||||
ln -s b files2/a/d
|
||||
ln -s files/foo/baz files/bar/baz &&
|
||||
ln -s files/does/not/exist files/bad
|
||||
'
|
||||
|
||||
test_add_symlinks() {
|
||||
@ -27,21 +23,21 @@ test_add_symlinks() {
|
||||
'
|
||||
|
||||
test_expect_success "output looks good" '
|
||||
echo QmQRgZT6xVFKJLVVpJDu3WcPkw2iqQ1jqK1F9jmdeq9zAv > filehash_exp &&
|
||||
echo QmWdiHKoeSW8G1u7ATCgpx4yMoUhYaJBQGkyPLkS9goYZ8 > filehash_exp &&
|
||||
test_cmp filehash_exp filehash_out
|
||||
'
|
||||
|
||||
test_expect_success "adding a symlink adds the file itself" '
|
||||
test_expect_success "adding a symlink adds the link itself" '
|
||||
ipfs add -q files/bar/baz > goodlink_out
|
||||
'
|
||||
|
||||
test_expect_success "output looks good" '
|
||||
echo QmcPNXE5zjkWkM24xQ7Bi3VAm8fRxiaNp88jFsij7kSQF1 > goodlink_exp &&
|
||||
echo "QmdocmZeF7qwPT9Z8SiVhMSyKA2KKoA2J7jToW6z6WBmxR" > goodlink_exp &&
|
||||
test_cmp goodlink_exp goodlink_out
|
||||
'
|
||||
|
||||
test_expect_success "adding a broken symlink works" '
|
||||
ipfs add -qr files/badin | head -1 > badlink_out
|
||||
ipfs add -q files/bad > badlink_out
|
||||
'
|
||||
|
||||
test_expect_success "output looks good" '
|
||||
@ -51,6 +47,9 @@ test_add_symlinks() {
|
||||
|
||||
test_expect_success "adding with symlink in middle of path is same as\
|
||||
adding with no symlink" '
|
||||
mkdir -p files2/a/b/c &&
|
||||
echo "some other text" > files2/a/b/c/foo &&
|
||||
ln -s b files2/a/d
|
||||
ipfs add -rq files2/a/b/c > no_sym &&
|
||||
ipfs add -rq files2/a/d/c > sym &&
|
||||
test_cmp no_sym sym
|
||||
|
||||
Loading…
Reference in New Issue
Block a user