Unverified 提交 5716926c 作者: Steven Allen 提交者: GitHub

Merge pull request #5573 from kjzz/fix/help

fix `ipfs help` bug #5557
......@@ -82,13 +82,26 @@ func mainRet() int {
intrh, ctx := setupInterruptHandler(ctx)
defer intrh.Close()
// Handle `ipfs help'
if len(os.Args) == 2 {
if os.Args[1] == "help" {
os.Args[1] = "-h"
} else if os.Args[1] == "--version" {
// Handle `ipfs version` or `ipfs help`
if len(os.Args) > 1 {
// Handle `ipfs --version'
if os.Args[1] == "--version" {
os.Args[1] = "version"
}
//Handle `ipfs help` and `ipfs help <sub-command>`
if os.Args[1] == "help" {
if len(os.Args) > 2 {
os.Args = append(os.Args[:1], os.Args[2:]...)
// Handle `ipfs help --help`
// append `--help`,when the command is not `ipfs help --help`
if os.Args[1] != "--help" {
os.Args = append(os.Args, "--help")
}
} else {
os.Args[1] = "--help"
}
}
}
// output depends on executable name passed in os.Args
......
......@@ -41,16 +41,6 @@ test_expect_success "ipfs version --all has all required fields" '
grep "Golang version" version_all.txt
'
test_expect_success "ipfs help succeeds" '
ipfs help >help.txt
'
test_expect_success "ipfs help output looks good" '
egrep -i "^Usage" help.txt >/dev/null &&
egrep "ipfs <command>" help.txt >/dev/null ||
test_fsh cat help.txt
'
test_expect_success "'ipfs commands' succeeds" '
ipfs commands >commands.txt
'
......@@ -61,6 +51,21 @@ test_expect_success "'ipfs commands' output looks good" '
grep "ipfs update" commands.txt
'
test_expect_success "All sub-commands accept help" '
echo 0 > fail
while read -r cmd
do
${cmd:0:4} help ${cmd:5} >/dev/null ||
{ echo "$cmd doesnt accept --help"; echo 1 > fail; }
echo stuff | $cmd --help >/dev/null ||
{ echo "$cmd doesnt accept --help when using stdin"; echo 1 > fail; }
done <commands.txt
if [ $(cat fail) = 1 ]; then
return 1
fi
'
test_expect_success "All commands accept --help" '
echo 0 > fail
while read -r cmd
......
......@@ -10,12 +10,21 @@ test_description="Test add and cat commands"
test_add_cat_file() {
test_expect_success "ipfs add --help works" '
ipfs add --help 2> add_help_err > /dev/null
ipfs add --help 2> add_help_err1 > /dev/null
'
test_expect_success "stdin reading message doesnt show up" '
test_expect_code 1 grep "ipfs: Reading from" add_help_err &&
test_expect_code 1 grep "send Ctrl-d to stop." add_help_err
test_expect_code 1 grep "ipfs: Reading from" add_help_err1 &&
test_expect_code 1 grep "send Ctrl-d to stop." add_help_err1
'
test_expect_success "ipfs help add works" '
ipfs help add 2> add_help_err2 > /dev/null
'
test_expect_success "stdin reading message doesnt show up" '
test_expect_code 1 grep "ipfs: Reading from" add_help_err2 &&
test_expect_code 1 grep "send Ctrl-d to stop." add_help_err2
'
test_expect_success "ipfs add succeeds" '
......@@ -431,6 +440,15 @@ test_expect_success "'ipfs add --help' output looks good" '
test_fsh cat actual
'
test_expect_success "'ipfs help add' succeeds" '
ipfs help add >actual
'
test_expect_success "'ipfs help add' output looks good" '
egrep "ipfs add.*<path>" actual >/dev/null ||
test_fsh cat actual
'
test_expect_success "'ipfs cat --help' succeeds" '
ipfs cat --help >actual
'
......@@ -440,6 +458,15 @@ test_expect_success "'ipfs cat --help' output looks good" '
test_fsh cat actual
'
test_expect_success "'ipfs help cat' succeeds" '
ipfs help cat >actual
'
test_expect_success "'ipfs help cat' output looks good" '
egrep "ipfs cat.*<ipfs-path>" actual >/dev/null ||
test_fsh cat actual
'
test_add_cat_file
test_expect_success "ipfs cat succeeds with stdin opened (issue #1141)" '
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论