Add sharness test for read blockstore rehashing
License: MIT Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
Jakub Sztandera committed
Jun 26, 2016 at 21:32 UTC
dead77727227673ad00a9f27736201e82f666bbe
1 file changed
+37
test/sharness/t0084-repo-read-rehash.sh
new
+37
@@ -0,0 +1,37 @@
1
+#!/bin/sh
2
+#
3
+# Copyright (c) Jakub Sztandera
4
+# MIT Licensed; see the LICENSE file in this repository.
5
+#
6
+
7
+test_description="Test ipfs blockstore repo read check."
8
+
9
+. lib/test-lib.sh
10
+
11
+rm -rf "$IPF_PATH/*"
12
+
13
+test_init_ipfs
14
+
15
+
16
+H_BLOCK1=$(echo "Block 1" | ipfs add -q)
17
+H_BLOCK2=$(echo "Block 2" | ipfs add -q)
18
+
19
+BS_BLOCK1="1220f18e/1220f18e07ebc69997909358f28b9d2c327eb032b0afab6bbc7fd7f399a7b7590be4.data"
20
+BS_BLOCK2="1220dc58/1220dc582e51f1f98b1f2d1c1baaa9f7b11602239ed42fbdf8f52d67e63cc03df12a.data"
21
+
22
+
23
+test_expect_success 'blocks are swapped' '
24
+ ipfs cat $H_BLOCK2 > noswap &&
25
+ cp -f "$IPFS_PATH/blocks/$BS_BLOCK1" "$IPFS_PATH/blocks/$BS_BLOCK2" &&
26
+ ipfs cat $H_BLOCK2 > swap &&
27
+ test_must_fail test_cmp noswap swap
28
+'
29
+
30
+ipfs config --bool Datastore.HashOnRead true
31
+
32
+test_expect_success 'getting modified block fails' '
33
+ (test_must_fail ipfs cat $H_BLOCK2 2> err_msg) &&
34
+ grep "block in storage has different hash than requested" err_msg
35
+'
36
+
37
+test_done