diff --git a/test/sharness/t0130-multinode.sh b/test/sharness/t0130-multinode.sh index 6024d3b0e..bd3d59608 100755 --- a/test/sharness/t0130-multinode.sh +++ b/test/sharness/t0130-multinode.sh @@ -22,9 +22,16 @@ check_file_fetch() { ' } -run_basic_test() { - startup_cluster 5 +check_dir_fetch() { + node=$1 + ref=$2 + test_expect_success "node can fetch all refs for dir" ' + ipfsi $node refs -r $ref > /dev/null + ' +} + +run_single_file_test() { test_expect_success "add a file on node1" ' random 1000000 > filea && FILEA_HASH=$(ipfsi 1 add -q filea) @@ -35,6 +42,41 @@ run_basic_test() { check_file_fetch 2 $FILEA_HASH filea check_file_fetch 1 $FILEA_HASH filea check_file_fetch 0 $FILEA_HASH filea +} + +run_random_dir_test() { + test_expect_success "create a bunch of random files" ' + random-files -depth=4 -dirs=5 -files=8 foobar > /dev/null + ' + + test_expect_success "add those on node 2" ' + DIR_HASH=$(ipfsi 2 add -r -q foobar | tail -n1) + ' + + check_dir_fetch 0 $DIR_HASH + check_dir_fetch 1 $DIR_HASH + check_dir_fetch 2 $DIR_HASH + check_dir_fetch 3 $DIR_HASH + check_dir_fetch 4 $DIR_HASH +} + + +run_basic_test() { + startup_cluster 5 + + run_single_file_test + + test_expect_success "shut down nodes" ' + iptb stop + ' +} + +run_advanced_test() { + startup_cluster 5 + + run_single_file_test + + run_random_dir_test test_expect_success "shut down nodes" ' iptb stop @@ -45,12 +87,13 @@ test_expect_success "set up tcp testbed" ' iptb init -n 5 -p 0 -f --bootstrap=none ' -run_basic_test +run_advanced_test test_expect_success "set up utp testbed" ' iptb init -n 5 -p 0 -f --bootstrap=none --utp ' +# currently have issues with utp running the advanced tests run_basic_test test_done