This repository was archived by the owner on Apr 16, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy patht0010-basic-commands.sh
executable file
·117 lines (93 loc) · 2.79 KB
/
t0010-basic-commands.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#!/bin/sh
#
# Copyright (c) 2014 Christian Couder
# MIT Licensed; see the LICENSE file in this repository.
#
test_description="Test installation and some basic commands"
. lib/test-lib.sh
test_expect_success "current dir is writable" '
echo "It works!" >test.txt
'
test_expect_success "ipfs version succeeds" '
ipfs version >version.txt
'
test_expect_success "ipfs --version success" '
ipfs --version
'
test_expect_success "ipfs version output looks good" '
egrep "^ipfs version [0-9]+\.[0-9]+\.[0-9]" version.txt >/dev/null ||
test_fsh cat version.txt
'
test_expect_success "ipfs versions matches ipfs --version" '
ipfs version > version.txt &&
ipfs --version > version2.txt &&
diff version2.txt version.txt ||
test_fsh ipfs --version
'
test_expect_success "ipfs version --all has all required fields" '
ipfs version --all > version_all.txt &&
grep "go-ipfs version" version_all.txt &&
grep "Repo version" version_all.txt &&
grep "System version" version_all.txt &&
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
'
test_expect_success "'ipfs commands' output looks good" '
grep "ipfs add" commands.txt &&
grep "ipfs daemon" commands.txt &&
grep "ipfs update" commands.txt
'
test_expect_success "All commands accept --help" '
echo 0 > fail
while read -r cmd
do
$cmd --help </dev/null >/dev/null ||
{ echo $cmd doesnt accept --help; echo 1 > fail; }
done <commands.txt
if [ $(cat fail) = 1 ]; then
return 1
fi
'
test_expect_failure "All ipfs root commands are mentioned in base helptext" '
echo 0 > fail
cut -d" " -f 2 commands.txt | grep -v ipfs | sort -u | \
while read cmd
do
grep " $cmd" help.txt > /dev/null ||
{ echo missing $cmd from helptext; echo 1 > fail; }
done
if [ $(cat fail) = 1 ]; then
return 1
fi
'
test_expect_failure "All ipfs commands docs are 80 columns or less" '
echo 0 > fail
while read cmd
do
LENGTH="$($cmd --help | awk "{ print length }" | sort -nr | head -1)"
[ $LENGTH -gt 80 ] &&
{ echo "$cmd" help text is longer than 79 chars "($LENGTH)"; echo 1 > fail; }
done <commands.txt
if [ $(cat fail) = 1 ]; then
return 1
fi
'
test_expect_success "'ipfs commands --flags' succeeds" '
ipfs commands --flags >commands.txt
'
test_expect_success "'ipfs commands --flags' output looks good" '
grep "ipfs pin add --recursive / ipfs pin add -r" commands.txt &&
grep "ipfs id --format / ipfs id -f" commands.txt &&
grep "ipfs repo gc --quiet / ipfs repo gc -q" commands.txt
'
test_done