revert to debug error
@jbenet License: MIT Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
Brian Tiger Chow committed
Nov 17, 2014 at 01:43 UTC
ef65bb1ce3431dc44e6273b2936c0b6f1d3cb62f
8 files changed
+35
-34
cmd/ipfs2/daemon.go
+3
-3
@@ -13,7 +13,7 @@ import (
13
commands "github.com/jbenet/go-ipfs/core/commands2"
14
daemon "github.com/jbenet/go-ipfs/daemon2"
15
util "github.com/jbenet/go-ipfs/util"
16
- errors "github.com/jbenet/go-ipfs/util/errors"
16
+ "github.com/jbenet/go-ipfs/util/debugerror"
17
)
18
19
const (
@@ -54,14 +54,14 @@ func daemonFunc(req cmds.Request) (interface{}, error) {
54
if !util.FileExists(req.Context().ConfigRoot) {
55
err := initWithDefaults(req.Context().ConfigRoot)
56
if err != nil {
57
- return nil, errors.Wrap(err)
57
+ return nil, debugerror.Wrap(err)
58
}
59
}
60
}
61
62
lock, err := daemon.Lock(req.Context().ConfigRoot)
63
if err != nil {
64
- return nil, errors.Errorf("Couldn't obtain lock. Is another daemon already running?")
64
+ return nil, debugerror.Errorf("Couldn't obtain lock. Is another daemon already running?")
65
}
66
defer lock.Close()
67
cmd/ipfs2/init.go
+9
-9
@@ -16,7 +16,7 @@ import (
16
chunk "github.com/jbenet/go-ipfs/importer/chunk"
17
peer "github.com/jbenet/go-ipfs/peer"
18
u "github.com/jbenet/go-ipfs/util"
19
- errors "github.com/jbenet/go-ipfs/util/errors"
19
+ "github.com/jbenet/go-ipfs/util/debugerror"
20
)
21
22
const nBitsForKeypairDefault = 4096
@@ -62,7 +62,7 @@ var initCmd = &cmds.Command{
62
},
63
}
64
65
-var errCannotInitConfigExists = errors.New(`ipfs configuration file already exists!
65
+var errCannotInitConfigExists = debugerror.New(`ipfs configuration file already exists!
66
Reinitializing would overwrite your keys.
67
(use -f to force overwrite)
68
`)
@@ -84,7 +84,7 @@ For a short demo of what you can do, enter 'ipfs tour'
84
85
func initWithDefaults(configRoot string) error {
86
_, err := doInit(configRoot, "", false, nBitsForKeypairDefault)
87
- return errors.Wrap(err)
87
+ return debugerror.Wrap(err)
88
}
89
90
func doInit(configRoot string, dspathOverride string, force bool, nBitsForKeypair int) (interface{}, error) {
@@ -93,7 +93,7 @@ func doInit(configRoot string, dspathOverride string, force bool, nBitsForKeypai
93
94
configFilename, err := config.Filename(configRoot)
95
if err != nil {
96
- return nil, errors.New("Couldn't get home directory path")
96
+ return nil, debugerror.New("Couldn't get home directory path")
97
}
98
99
if u.FileExists(configFilename) && !force {
@@ -155,7 +155,7 @@ func datastoreConfig(dspath string) (config.Datastore, error) {
155
156
err := initCheckDir(dspath)
157
if err != nil {
158
- return ds, errors.Errorf("datastore: %s", err)
158
+ return ds, debugerror.Errorf("datastore: %s", err)
159
}
160
161
return ds, nil
@@ -229,7 +229,7 @@ func identityConfig(nbits int, onBegin func(), onSuccess func(config.Identity))
229
// TODO guard higher up
230
ident := config.Identity{}
231
if nbits < 1024 {
232
- return ident, errors.New("Bitsize less than 1024 is considered unsafe.")
232
+ return ident, debugerror.New("Bitsize less than 1024 is considered unsafe.")
233
}
234
235
onBegin()
@@ -260,13 +260,13 @@ func initLogs(logpath string) (config.Logs, error) {
260
var err error
261
logpath, err = config.LogsPath("")
262
if err != nil {
263
- return config.Logs{}, errors.Wrap(err)
263
+ return config.Logs{}, debugerror.Wrap(err)
264
}
265
}
266
267
err := initCheckDir(logpath)
268
if err != nil {
269
- return config.Logs{}, errors.Errorf("logs: %s", err)
269
+ return config.Logs{}, debugerror.Errorf("logs: %s", err)
270
}
271
272
return config.Logs{
@@ -285,7 +285,7 @@ func initCheckDir(path string) error {
285
if f, err := os.Create(filepath.Join(path, "._check_writeable")); err == nil {
286
os.Remove(f.Name())
287
} else {
288
- return errors.New("'" + path + "' is not writeable")
288
+ return debugerror.New("'" + path + "' is not writeable")
289
}
290
return nil
291
}
cmd/ipfs2/main.go
+3
-2
@@ -1,6 +1,7 @@
1
package main
2
3
import (
4
+ "errors"
5
"fmt"
6
"io"
7
"os"
@@ -21,7 +22,7 @@ import (
22
daemon "github.com/jbenet/go-ipfs/daemon2"
23
updates "github.com/jbenet/go-ipfs/updates"
24
u "github.com/jbenet/go-ipfs/util"
24
- errors "github.com/jbenet/go-ipfs/util/errors"
25
+ "github.com/jbenet/go-ipfs/util/debugerror"
26
eventlog "github.com/jbenet/go-ipfs/util/eventlog"
27
)
28
@@ -331,7 +332,7 @@ func commandDetails(path []string, root *cmds.Command) (*cmdDetails, error) {
332
var found bool
333
cmd, found = cmd.Subcommands[cmp]
334
if !found {
334
- return nil, errors.Errorf("subcommand %s should be in root", cmp)
335
+ return nil, debugerror.Errorf("subcommand %s should be in root", cmp)
336
}
337
338
if cmdDetails, found := cmdDetailsMap[cmd]; found {
config/config.go
+2
-2
@@ -9,7 +9,7 @@ import (
9
"path/filepath"
10
11
u "github.com/jbenet/go-ipfs/util"
12
- errors "github.com/jbenet/go-ipfs/util/errors"
12
+ "github.com/jbenet/go-ipfs/util/debugerror"
13
)
14
15
var log = u.Logger("config")
@@ -147,7 +147,7 @@ func (i *Identity) DecodePrivateKey(passphrase string) (crypto.PrivateKey, error
147
func Load(filename string) (*Config, error) {
148
// if nothing is there, fail. User must run 'ipfs init'
149
if _, err := os.Stat(filename); os.IsNotExist(err) {
150
- return nil, errors.New("ipfs not initialized, please run 'ipfs init'")
150
+ return nil, debugerror.New("ipfs not initialized, please run 'ipfs init'")
151
}
152
153
var cfg Config
core/core.go
+9
-9
@@ -27,7 +27,7 @@ import (
27
dht "github.com/jbenet/go-ipfs/routing/dht"
28
u "github.com/jbenet/go-ipfs/util"
29
ctxc "github.com/jbenet/go-ipfs/util/ctxcloser"
30
- "github.com/jbenet/go-ipfs/util/errors"
30
+ "github.com/jbenet/go-ipfs/util/debugerror"
31
)
32
33
const IpnsValidatorTag = "ipns"
@@ -102,7 +102,7 @@ func NewIpfsNode(cfg *config.Config, online bool) (n *IpfsNode, err error) {
102
}()
103
104
if cfg == nil {
105
- return nil, errors.Errorf("configuration required")
105
+ return nil, debugerror.Errorf("configuration required")
106
}
107
108
// derive this from a higher context.
@@ -115,14 +115,14 @@ func NewIpfsNode(cfg *config.Config, online bool) (n *IpfsNode, err error) {
115
116
// setup datastore.
117
if n.Datastore, err = makeDatastore(cfg.Datastore); err != nil {
118
- return nil, errors.Wrap(err)
118
+ return nil, debugerror.Wrap(err)
119
}
120
121
// setup peerstore + local peer identity
122
n.Peerstore = peer.NewPeerstore()
123
n.Identity, err = initIdentity(&n.Config.Identity, n.Peerstore, online)
124
if err != nil {
125
- return nil, errors.Wrap(err)
125
+ return nil, debugerror.Wrap(err)
126
}
127
128
// setup online services
@@ -142,12 +142,12 @@ func NewIpfsNode(cfg *config.Config, online bool) (n *IpfsNode, err error) {
142
// setup the network
143
listenAddrs, err := listenAddresses(cfg)
144
if err != nil {
145
- return nil, errors.Wrap(err)
145
+ return nil, debugerror.Wrap(err)
146
}
147
148
n.Network, err = inet.NewIpfsNetwork(ctx, listenAddrs, n.Identity, n.Peerstore, muxMap)
149
if err != nil {
150
- return nil, errors.Wrap(err)
150
+ return nil, debugerror.Wrap(err)
151
}
152
n.AddCloserChild(n.Network)
153
@@ -176,7 +176,7 @@ func NewIpfsNode(cfg *config.Config, online bool) (n *IpfsNode, err error) {
176
// session that simply doesn't return blocks
177
n.Blocks, err = bserv.NewBlockService(n.Datastore, n.Exchange)
178
if err != nil {
179
- return nil, errors.Wrap(err)
179
+ return nil, debugerror.Wrap(err)
180
}
181
182
n.DAG = merkledag.NewDAGService(n.Blocks)
@@ -202,11 +202,11 @@ func (n *IpfsNode) OnlineMode() bool {
202
203
func initIdentity(cfg *config.Identity, peers peer.Peerstore, online bool) (peer.Peer, error) {
204
if cfg.PeerID == "" {
205
- return nil, errors.New("Identity was not set in config (was ipfs init run?)")
205
+ return nil, debugerror.New("Identity was not set in config (was ipfs init run?)")
206
}
207
208
if len(cfg.PeerID) == 0 {
209
- return nil, errors.New("No peer ID in config! (was ipfs init run?)")
209
+ return nil, debugerror.New("No peer ID in config! (was ipfs init run?)")
210
}
211
212
// get peer from peerstore (so it is constructed there)
core/datastore.go
+5
-5
@@ -10,12 +10,12 @@ import (
10
11
config "github.com/jbenet/go-ipfs/config"
12
u "github.com/jbenet/go-ipfs/util"
13
- "github.com/jbenet/go-ipfs/util/errors"
13
+ "github.com/jbenet/go-ipfs/util/debugerror"
14
)
15
16
func makeDatastore(cfg config.Datastore) (u.ThreadSafeDatastoreCloser, error) {
17
if len(cfg.Type) == 0 {
18
- return nil, errors.Errorf("config datastore.type required")
18
+ return nil, debugerror.Errorf("config datastore.type required")
19
}
20
21
switch cfg.Type {
@@ -35,17 +35,17 @@ func makeDatastore(cfg config.Datastore) (u.ThreadSafeDatastoreCloser, error) {
35
return u.CloserWrap(syncds.MutexWrap(ktd)), nil
36
}
37
38
- return nil, errors.Errorf("Unknown datastore type: %s", cfg.Type)
38
+ return nil, debugerror.Errorf("Unknown datastore type: %s", cfg.Type)
39
}
40
41
func makeLevelDBDatastore(cfg config.Datastore) (u.ThreadSafeDatastoreCloser, error) {
42
if len(cfg.Path) == 0 {
43
- return nil, errors.Errorf("config datastore.path required for leveldb")
43
+ return nil, debugerror.Errorf("config datastore.path required for leveldb")
44
}
45
46
ds, err := lds.NewDatastore(cfg.Path, &lds.Options{
47
// TODO don't import ldbopts. Get from go-datastore.leveldb
48
Compression: ldbopts.NoCompression,
49
})
50
- return ds, errors.Wrap(err)
50
+ return ds, debugerror.Wrap(err)
51
}
daemon2/daemon.go
+2
-2
@@ -6,7 +6,7 @@ import (
6
7
lock "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/camlistore/lock"
8
"github.com/jbenet/go-ipfs/util"
9
- "github.com/jbenet/go-ipfs/util/errors"
9
+ "github.com/jbenet/go-ipfs/util/debugerror"
10
)
11
12
// LockFile is the filename of the daemon lock, relative to config dir
@@ -14,7 +14,7 @@ const LockFile = "daemon.lock"
14
15
func Lock(confdir string) (io.Closer, error) {
16
c, err := lock.Lock(path.Join(confdir, LockFile))
17
- return c, errors.Wrap(err)
17
+ return c, debugerror.Wrap(err)
18
}
19
20
func Locked(confdir string) bool {
util/debugerror/debug.go
renamed
+2
-2
@@ -1,6 +1,6 @@
1
-// package errors provides ways to augment errors with additional
1
+// package debugerror provides ways to augment errors with additional
2
// information to allow for easier debugging.
3
-package errors
3
+package debugerror
4
5
import (
6
"errors"