Merge pull request #1103 from travisperson/bug/init-with-daemon

Check to see if the daemon is currently running
This commit is contained in:
Juan Batiz-Benet 2015-04-21 00:58:35 -07:00
commit 1bac12f922
2 changed files with 23 additions and 0 deletions

View File

@ -35,6 +35,17 @@ var initCmd = &cmds.Command{
// name of the file?
// TODO cmds.StringOption("event-logs", "l", "Location for machine-readable event logs"),
},
PreRun: func(req cmds.Request) error {
daemonLocked := fsrepo.LockedByOtherProcess(req.Context().ConfigRoot)
log.Info("checking if daemon is running...")
if daemonLocked {
e := "ipfs daemon is running. please stop it to run this command"
return cmds.ClientError(e)
}
return nil
},
Run: func(req cmds.Request, res cmds.Response) {
force, _, err := req.Option("f").Bool() // if !found, it's okay force == false

View File

@ -44,4 +44,16 @@ test_expect_success "ipfs init output looks good" '
test_cmp expected actual_init
'
test_init_ipfs
test_launch_ipfs_daemon
test_expect_success "ipfs init should not run while daemon is running" '
test_must_fail ipfs init 2> daemon_running_err &&
EXPECT="Error: ipfs daemon is running. please stop it to run this command" &&
grep "$EXPECT" daemon_running_err
'
test_kill_ipfs_daemon
test_done