Skip to content

Commit 3f88595

Browse files
committed
Add some sharness tests and sharness support for MFS.
1 parent 6424872 commit 3f88595

File tree

5 files changed

+46
-9
lines changed

5 files changed

+46
-9
lines changed

.github/workflows/sharness.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ jobs:
4646
env:
4747
TEST_DOCKER: 1
4848
TEST_PLUGIN: 0
49-
TEST_FUSE: 0
49+
TEST_FUSE: 1
5050
TEST_VERBOSE: 1
5151
TEST_JUNIT: 1
5252
TEST_EXPENSIVE: 1

test/sharness/lib/test-lib.sh

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -206,9 +206,10 @@ test_init_ipfs() {
206206
'
207207

208208
test_expect_success "prepare config -- mounting" '
209-
mkdir mountdir ipfs ipns &&
209+
mkdir mountdir ipfs ipns mfs &&
210210
test_config_set Mounts.IPFS "$(pwd)/ipfs" &&
211-
test_config_set Mounts.IPNS "$(pwd)/ipns" ||
211+
test_config_set Mounts.IPNS "$(pwd)/ipns" &&
212+
test_config_set Mounts.MFS "$(pwd)/mfs" ||
212213
test_fsh cat "\"$IPFS_PATH/config\""
213214
'
214215

@@ -300,12 +301,14 @@ test_mount_ipfs() {
300301
test_expect_success FUSE "'ipfs mount' succeeds" '
301302
do_umount "$(pwd)/ipfs" || true &&
302303
do_umount "$(pwd)/ipns" || true &&
304+
do_umount "$(pwd)/mfs" || true &&
303305
ipfs mount >actual
304306
'
305307

306308
test_expect_success FUSE "'ipfs mount' output looks good" '
307309
echo "IPFS mounted at: $(pwd)/ipfs" >expected &&
308310
echo "IPNS mounted at: $(pwd)/ipns" >>expected &&
311+
echo "MFS mounted at: $(pwd)/mfs" >>expected &&
309312
test_cmp expected actual
310313
'
311314

test/sharness/t0030-mount.sh

Lines changed: 38 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ test_expect_success "'ipfs mount' output looks good" '
3737
'
3838

3939
test_expect_success "setup and publish default IPNS value" '
40-
mkdir "$(pwd)/ipfs" "$(pwd)/ipns" &&
40+
mkdir "$(pwd)/ipfs" "$(pwd)/ipns" "$(pwd)/mfs" &&
4141
ipfsi 0 name publish QmUNLLsPACCz1vLxQVkXqqLX5R1X345qqfHbsf67hvA3Nn
4242
'
4343

@@ -46,12 +46,14 @@ test_expect_success "setup and publish default IPNS value" '
4646
test_expect_success FUSE "'ipfs mount' succeeds" '
4747
do_umount "$(pwd)/ipfs" || true &&
4848
do_umount "$(pwd)/ipns" || true &&
49-
ipfsi 0 mount -f "$(pwd)/ipfs" -n "$(pwd)/ipns" >actual
49+
do_umount "$(pwd)/mfs" || true &&
50+
ipfsi 0 mount -f "$(pwd)/ipfs" -n "$(pwd)/ipns" -m "$(pwd)/mfs" >actual
5051
'
5152

5253
test_expect_success FUSE "'ipfs mount' output looks good" '
5354
echo "IPFS mounted at: $(pwd)/ipfs" >expected &&
5455
echo "IPNS mounted at: $(pwd)/ipns" >>expected &&
56+
echo "MFS mounted at: $(pwd)/mfs" >>expected &&
5557
test_cmp expected actual
5658
'
5759

@@ -67,13 +69,45 @@ test_expect_success FUSE "can resolve ipns names" '
6769
test_cmp expected actual
6870
'
6971

72+
test_expect_success FUSE "create mfs file" '
73+
touch mfs/testfile &&
74+
ipfs files ls | grep testfile
75+
'
76+
77+
test_expect_success FUSE "create mfs dir" '
78+
mkdir mfs/testdir &&
79+
ipfs files ls | grep testdir
80+
'
81+
82+
test_expect_success FUSE "read mfs file from fuse" '
83+
echo content | ipfs files write -e /testfile &&
84+
cat mfs/testfile | grep content
85+
'
86+
87+
test_expect_success FUSE "test file xattr" '
88+
echo content > mfs/testfile &&
89+
getfattr -n ipfs_cid mfs/testfile
90+
'
91+
92+
test_expect_success FUSE "test file removal" '
93+
touch mfs/testfile &&
94+
rm mfs/testfile
95+
'
96+
97+
test_expect_success FUSE "test nested dirs" '
98+
mkdir -p mfs/foo/bar/baz/qux &&
99+
echo content > mfs/foo/bar/baz/qux/quux &&
100+
ipfs files stat /foo/bar/baz/qux/quux
101+
'
102+
70103
test_expect_success "mount directories cannot be removed while active" '
71-
test_must_fail rmdir ipfs ipns 2>/dev/null
104+
test_must_fail rmdir ipfs ipns mfs 2>/dev/null
72105
'
73106

74107
test_expect_success "unmount directories" '
75108
do_umount "$(pwd)/ipfs" &&
76-
do_umount "$(pwd)/ipns"
109+
do_umount "$(pwd)/ipns" &&
110+
do_umount "$(pwd)/mfs"
77111
'
78112

79113
test_expect_success "mount directories can be removed after shutdown" '

test/sharness/t0270-filestore.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ test_filestore_adds() {
6363

6464
init_ipfs_filestore() {
6565
test_expect_success "clean up old node" '
66-
rm -rf "$IPFS_PATH" mountdir ipfs ipns
66+
rm -rf "$IPFS_PATH" mountdir ipfs ipns mfs
6767
'
6868

6969
test_init_ipfs

test/sharness/t0271-filestore-utils.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ test_description="Test out the filestore nocopy functionality"
1010

1111
test_init_filestore() {
1212
test_expect_success "clean up old node" '
13-
rm -rf "$IPFS_PATH" mountdir ipfs ipns
13+
rm -rf "$IPFS_PATH" mountdir ipfs ipns mfs
1414
'
1515

1616
test_init_ipfs

0 commit comments

Comments
 (0)