ipld-eth-server/vendor/github.com/ipfs/go-ipfs/test/sharness/t0210-tar.sh
2019-12-02 13:24:46 -06:00

59 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env bash
#
# Copyright (c) 2015 Jeromy Johnson
# MIT Licensed; see the LICENSE file in this repository.
#
test_description="Test tar commands"
. lib/test-lib.sh
test_init_ipfs
test_expect_success "create some random files" '
mkdir foo &&
random 10000 > foo/a &&
random 12345 > foo/b &&
mkdir foo/bar &&
random 5432 > foo/bar/baz &&
ln -s ../a foo/bar/link &&
echo "exit" > foo/script &&
chmod +x foo/script
'
test_expect_success "tar those random files up" '
tar cf files.tar foo/
'
test_expect_success "'ipfs tar add' succeeds" '
TAR_HASH=$(ipfs tar add files.tar)
'
test_expect_success "'ipfs tar cat' succeeds" '
mkdir output &&
ipfs tar cat $TAR_HASH > output/out.tar
'
test_expect_success "can extract tar" '
tar xf output/out.tar -C output/
'
test_expect_success "files look right" '
diff foo/a output/foo/a &&
diff foo/b output/foo/b &&
diff foo/bar/baz output/foo/bar/baz &&
[ -L output/foo/bar/link ] &&
[ -x foo/script ]
'
test_expect_success "'ipfs tar add --cid-base=base32' succeeds" '
ipfs tar add --cid-base=base32 files.tar > actual
'
test_expect_success "'ipfs tar add --cid-base=base32' has correct hash" '
ipfs cid base32 $TAR_HASH > expected &&
test_cmp expected actual
'
test_done