diff --git a/test/sharness/t0020-init.sh b/test/sharness/t0020-init.sh index 7b82845e52bf..2a42d51d9eee 100755 --- a/test/sharness/t0020-init.sh +++ b/test/sharness/t0020-init.sh @@ -163,6 +163,21 @@ test_expect_success "'ipfs config Addresses.API' looks good" ' test $(cat actual_config) = "/ip4/127.0.0.1/tcp/0" ' +test_expect_success "ipfs init from existing config succeeds" ' + export ORIG_PATH=$IPFS_PATH && + export CLONE_PATH=$(pwd)/.ipfs-clone + export IPFS_PATH=$CLONE_DIR && + echo "IPFS_PATH: \"$IPFS_PATH\"" && + ipfs init $ORIG_PATH/config && + ipfs config Addresses.API > actual_config && + test $(cat actual_config) = "/ip4/127.0.0.1/tcp/0" +' + +test_expect_success "clean up ipfs clone dir and reset IPFS_PATH" ' + rm -rf "$IPFS_PATH" || + export IPFS_PATH=$ORIG_PATH +' + test_expect_success "clean up ipfs dir" ' rm -rf "$IPFS_PATH" ' diff --git a/test/sharness/t0060-daemon.sh b/test/sharness/t0060-daemon.sh index 6f2445b3d9a2..cd811da206a4 100755 --- a/test/sharness/t0060-daemon.sh +++ b/test/sharness/t0060-daemon.sh @@ -8,6 +8,51 @@ test_description="Test daemon command" . lib/test-lib.sh +test_expect_success "daemon init with existing config works" ' + export ORIG_PATH=$(pwd)/.ipfs && + export CLONE_PATH=$(pwd)/.ipfs-clone && + ipfs init --profile=badgerds && + export IPFS_PATH=$CLONE_PATH + ipfs daemon --init --init-config-file=$ORIG_PATH/config & + DAEMON_PID=$! + test_wait_for_file 20 100ms "$IPFS_PATH/api" && + kill -0 $DAEMON_PID && + ipfs config "Datastore.Spec.child.path" >actual && + test $(cat actual) = "badgerds" +' + +test_expect_success "clean up daemon clone" ' + rm -rf $CLONE_PATH +' + +test_expect_fail "daemon init with existing config and profiles work" ' + ipfs daemon --init --init-config-file=$ORIG_PATH/config --profile=randomports & + DAEMON_PID=$! && + test_wait_for_file 20 100ms "$IPFS_PATH/api" && + kill -0 $DAEMON_PID && + ipfs config Addresses >clone_conf && + IPFS_PATH=$ORIG_PATH && + ipfs config Addresses >orig_conf && + test_cmp clone_conf orig_conf +' + +test_expect_success "clean up second daemon clone and source daemon" ' + rm -rf $CLONE_PATH + rm -rf $ORIG_PATH +' + +test_expect_success "daemon init with existing config works" ' + export ORIG_PATH=$IPFS_PATH && + export CLONE_PATH=$(pwd)/.ipfs-clone && + ipfs init --profile=badgerds && + export IPFS_PATH=$CLONE_PATH + ipfs daemon --init --init-config-file=$ORIG_PATH/config & + DAEMON_PID=$! + test_wait_for_file 20 100ms "$IPFS_PATH/api" && + echo "badgerds" >expected && + ipfs config "Datastore.Spec.child.path" >actual && + test_cmp expected actual +' test_init_ipfs test_launch_ipfs_daemon