Add basic sharness tests.
License: MIT Signed-off-by: Kevin Atkinson <k@kevina.org>
Kevin Atkinson committed
Aug 27, 2018 at 19:39 UTC
88a7e58b582ed81105d09e595a8635d69c502afc
1 file changed
+228
test/sharness/t0290-cid.sh
new
+228
@@ -0,0 +1,228 @@
1
+#!/usr/bin/env bash
2
+
3
+test_description="Test cid commands"
4
+
5
+. lib/test-lib.sh
6
+
7
+# note: all "ipfs cid" commands should work without requiring a repo
8
+
9
+CIDv0="QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv"
10
+CIDv1="zdj7WZAAFKPvYPPzyJLso2hhxo8a7ZACFQ4DvvfrNXTHidofr"
11
+CIDb32="bafybeibxm2nsadl3fnxv2sxcxmxaco2jl53wpeorjdzidjwf5aqdg7wa6u"
12
+
13
+test_expect_success "cid base32 works" '
14
+ echo $CIDb32 > expected &&
15
+ ipfs cid base32 $CIDv0 > actual1 &&
16
+ test_cmp actual1 expected &&
17
+ ipfs cid base32 $CIDv1 > actual2 &&
18
+ test_cmp expected actual2
19
+'
20
+
21
+test_expect_success "cid format -v 1 -b base58btc" '
22
+ echo $CIDv1 > expected &&
23
+ ipfs cid format -v 1 -b base58btc $CIDv0 > actual1 &&
24
+ test_cmp actual1 expected &&
25
+ ipfs cid format -v 1 -b base58btc $CIDb32 > actual2 &&
26
+ test_cmp expected actual2
27
+'
28
+
29
+cat <<EOF > various_cids
30
+QmZZRTyhDpL5Jgift1cHbAhexeE1m2Hw8x8g7rTcPahDvo
31
+ QmPhk6cJkRcFfZCdYam4c9MKYjFG9V29LswUnbrFNhtk2S
32
+bafybeihtwdtifv43rn5cyilnmkwofdcxi2suqimmo62vn3etf45gjoiuwy
33
+bafybeiek4tfxkc4ov6jsmb63fzbirrsalnjw24zd5xawo2fgxisd4jmpyq
34
+zdj7WgYfT2gfsgiUxzPYboaRbP9H9CxZE5jVMK9pDDwCcKDCR
35
+zdj7WbTaiJT1fgatdet9Ei9iDB5hdCxkbVyhyh8YTUnXMiwYi
36
+uAXASIDsp4T3Wnd6kXFOQaljH3GFK_ixkjMtVhB9VOBrPK3bp
37
+ uAXASIDdmmyANeytvXUriuy4BO0lfd2eR0UjygabF6CAzfsD1
38
+EOF
39
+
40
+cat <<EOF > various_cids_base32
41
+bafybeifgwyq5gs4l2mru5klgwjfmftjvkmbyyjurbupuz2bst7mhmg2hwa
42
+bafybeiauil46g3lb32jemjbl7yspca3twdcg4wwkbsgdgvgdj5fpfv2f64
43
+bafybeihtwdtifv43rn5cyilnmkwofdcxi2suqimmo62vn3etf45gjoiuwy
44
+bafybeiek4tfxkc4ov6jsmb63fzbirrsalnjw24zd5xawo2fgxisd4jmpyq
45
+bafybeifffq3aeaymxejo37sn5fyaf7nn7hkfmzwdxyjculx3lw4tyhk7uy
46
+bafybeiczsscdsbs7ffqz55asqdf3smv6klcw3gofszvwlyarci47bgf354
47
+bafybeib3fhqt3vu532sfyu4qnjmmpxdbjl7cyzemznkyih2vhanm6k3w5e
48
+bafybeibxm2nsadl3fnxv2sxcxmxaco2jl53wpeorjdzidjwf5aqdg7wa6u
49
+EOF
50
+
51
+cat <<EOF > various_cids_v1
52
+zdj7WgefqQm5HogBQ2bckZuTYYDarRTUZi51GYCnerHD2G86j
53
+zdj7WWnzU3Nbu5rYGWZHKigUXBtAwShs2SHDCM1TQEvC9TeCN
54
+zdj7WmqAbpsfXgiRBtZP1oAP9QWuuY3mqbc5JhpxJkfT3vYCu
55
+zdj7Wen5gtfr7AivXip3zYd1peuq2QfKrqAn4FGiciVWb96YB
56
+zdj7WgYfT2gfsgiUxzPYboaRbP9H9CxZE5jVMK9pDDwCcKDCR
57
+zdj7WbTaiJT1fgatdet9Ei9iDB5hdCxkbVyhyh8YTUnXMiwYi
58
+zdj7WZQrAvnY5ge3FNg5cmCsNwsvpYjdtu2yEmnWYQ4ES7Nzk
59
+zdj7WZAAFKPvYPPzyJLso2hhxo8a7ZACFQ4DvvfrNXTHidofr
60
+EOF
61
+
62
+test_expect_success "cid base32 works from stdin" '
63
+ cat various_cids | ipfs cid base32 > actual &&
64
+ test_cmp various_cids_base32 actual
65
+'
66
+
67
+test_expect_success "cid format -v 1 -b base58btc works from stdin" '
68
+ cat various_cids | ipfs cid format -v 1 -b base58btc > actual &&
69
+ test_cmp various_cids_v1 actual
70
+'
71
+
72
+cat <<EOF > bases_expect
73
+ 0 identity
74
+b 98 base32
75
+B 66 base32upper
76
+c 99 base32pad
77
+C 67 base32padupper
78
+f 102 base16
79
+F 70 base16upper
80
+m 109 base64
81
+M 77 base64pad
82
+t 116 base32hexpad
83
+T 84 base32hexpadupper
84
+u 117 base64url
85
+U 85 base64urlpad
86
+v 118 base32hex
87
+V 86 base32hexupper
88
+z 122 base58btc
89
+Z 90 base58flickr
90
+EOF
91
+
92
+cat <<EOF > codecs_expect
93
+ 85 raw
94
+ 112 protobuf
95
+ 113 cbor
96
+ 120 git-raw
97
+ 144 eth-block
98
+ 145 eth-block-list
99
+ 146 eth-tx-trie
100
+ 147 eth-tx
101
+ 148 eth-tx-receipt-trie
102
+ 149 eth-tx-receipt
103
+ 150 eth-state-trie
104
+ 151 eth-account-snapshot
105
+ 152 eth-storage-trie
106
+ 176 bitcoin-block
107
+ 177 bitcoin-tx
108
+ 192 zcash-block
109
+ 193 zcash-tx
110
+ 224 decred-block
111
+ 225 decred-tx
112
+EOF
113
+
114
+cat <<EOF > hashes_expect
115
+ 0 id
116
+ 17 sha1
117
+ 18 sha2-256
118
+ 19 sha2-512
119
+ 20 sha3-512
120
+ 21 sha3-384
121
+ 22 sha3-256
122
+ 23 sha3-224
123
+ 25 shake-256
124
+ 26 keccak-224
125
+ 27 keccak-256
126
+ 28 keccak-384
127
+ 29 keccak-512
128
+ 86 dbl-sha2-256
129
+45588 blake2b-160
130
+45589 blake2b-168
131
+45590 blake2b-176
132
+45591 blake2b-184
133
+45592 blake2b-192
134
+45593 blake2b-200
135
+45594 blake2b-208
136
+45595 blake2b-216
137
+45596 blake2b-224
138
+45597 blake2b-232
139
+45598 blake2b-240
140
+45599 blake2b-248
141
+45600 blake2b-256
142
+45601 blake2b-264
143
+45602 blake2b-272
144
+45603 blake2b-280
145
+45604 blake2b-288
146
+45605 blake2b-296
147
+45606 blake2b-304
148
+45607 blake2b-312
149
+45608 blake2b-320
150
+45609 blake2b-328
151
+45610 blake2b-336
152
+45611 blake2b-344
153
+45612 blake2b-352
154
+45613 blake2b-360
155
+45614 blake2b-368
156
+45615 blake2b-376
157
+45616 blake2b-384
158
+45617 blake2b-392
159
+45618 blake2b-400
160
+45619 blake2b-408
161
+45620 blake2b-416
162
+45621 blake2b-424
163
+45622 blake2b-432
164
+45623 blake2b-440
165
+45624 blake2b-448
166
+45625 blake2b-456
167
+45626 blake2b-464
168
+45627 blake2b-472
169
+45628 blake2b-480
170
+45629 blake2b-488
171
+45630 blake2b-496
172
+45631 blake2b-504
173
+45632 blake2b-512
174
+45652 blake2s-160
175
+45653 blake2s-168
176
+45654 blake2s-176
177
+45655 blake2s-184
178
+45656 blake2s-192
179
+45657 blake2s-200
180
+45658 blake2s-208
181
+45659 blake2s-216
182
+45660 blake2s-224
183
+45661 blake2s-232
184
+45662 blake2s-240
185
+45663 blake2s-248
186
+45664 blake2s-256
187
+EOF
188
+
189
+test_expect_success "cid bases" '
190
+ cut -c 10- bases_expect > expect &&
191
+ ipfs cid bases > actual &&
192
+ test_cmp expect actual
193
+'
194
+
195
+test_expect_success "cid bases --prefix" '
196
+ cut -c 1-3,10- bases_expect > expect &&
197
+ ipfs cid bases --prefix > actual &&
198
+ test_cmp expect actual
199
+'
200
+
201
+test_expect_success "cid bases --prefix --numeric" '
202
+ ipfs cid bases --prefix --numeric > actual &&
203
+ test_cmp bases_expect actual
204
+'
205
+
206
+test_expect_success "cid codecs" '
207
+ cut -c 8- codecs_expect > expect &&
208
+ ipfs cid codecs > actual
209
+ test_cmp expect actual
210
+'
211
+
212
+test_expect_success "cid codecs --numeric" '
213
+ ipfs cid codecs --numeric > actual &&
214
+ test_cmp codecs_expect actual
215
+'
216
+
217
+test_expect_success "cid hashes" '
218
+ cut -c 8- hashes_expect > expect &&
219
+ ipfs cid hashes > actual
220
+ test_cmp expect actual
221
+'
222
+
223
+test_expect_success "cid hashes --numeric" '
224
+ ipfs cid hashes --numeric > actual &&
225
+ test_cmp hashes_expect actual
226
+'
227
+
228
+test_done