Skip to content

Commit

Permalink
filestore util: refactor and clean up tests
Browse files Browse the repository at this point in the history
License: MIT
Signed-off-by: Kevin Atkinson <k@kevina.org>
  • Loading branch information
kevina committed Mar 23, 2017
1 parent 96269e0 commit 620b52b
Showing 1 changed file with 39 additions and 28 deletions.
67 changes: 39 additions & 28 deletions test/sharness/t0271-filestore-utils.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,17 @@ test_description="Test out the filestore nocopy functionality"

. lib/test-lib.sh

test_init_filestore() {
test_expect_success "clean up old node" '
rm -rf "$IPFS_PATH" mountdir ipfs ipns
'

test_init_ipfs

test_expect_success "enable filestore config setting" '
ipfs config --json Experimental.FilestoreEnabled true
'
}

test_init_dataset() {
test_expect_success "create a dataset" '
Expand All @@ -19,6 +30,11 @@ test_init_dataset() {
'
}

test_init() {
test_init_filestore
test_init_dataset
}

EXPHASH="QmRueCuPMYYvdxWz1vWncF7wzCScEx4qasZXo5aVBb1R4V"

cat <<EOF > ls_expect
Expand Down Expand Up @@ -68,11 +84,16 @@ test_filestore_adds() {
'
}

test_filestore_verify() {
# check that the filestore is in a clean state
test_filestore_state() {
test_expect_success "ipfs filestore verify' output looks good'" '
ipfs filestore verify | LC_ALL=C sort > verify_actual
test_cmp verify_expect verify_actual
'
}

test_filestore_verify() {
test_filestore_state

test_expect_success "'ipfs filestore verify HASH' works" '
ipfs filestore verify $FILE1_HASH > verify_actual &&
Expand Down Expand Up @@ -113,53 +134,43 @@ test_filestore_verify() {
ipfs filestore verify > verify_actual &&
grep changed verify_actual | grep -q somedir/file3
'
}

cat <<EOF > dups_expect
$FILE1_HASH
EOF
# reset the state for the next test
test_init_dataset
}

test_filestore_dups() {
# make sure the filestore is in a clean state
test_filestore_state

test_expect_success "'ipfs filestore dups'" '
ipfs add --raw-leaves somedir/file1 &&
ipfs filestore dups > dups_actual &&
echo "$FILE1_HASH" > dups_expect
test_cmp dups_expect dups_actual
'
}

init_ipfs_filestore() {
test_expect_success "clean up old node" '
rm -rf "$IPFS_PATH" mountdir ipfs ipns
'

test_init_ipfs

test_expect_success "enable filestore config setting" '
ipfs config --json Experimental.FilestoreEnabled true
'
}

test_init_dataset
#
# No daemon
#

init_ipfs_filestore
test_init

test_filestore_adds

test_filestore_verify

test_filestore_dups

echo "WORKING DIR"
echo "IPFS PATH = " $IPFS_PATH
pwd


test_init_dataset
#
# With daemon
#

init_ipfs_filestore
test_init

# must be in offline mode so tests of retrieving non-exist blocks
# don't hang
# must be in offline mode so tests that retrieve non-existent blocks
# doesn't hang
test_launch_ipfs_daemon --offline

test_filestore_adds
Expand Down

0 comments on commit 620b52b

Please sign in to comment.