Unixfs.Add nocopy test
License: MIT Signed-off-by: Łukasz Magiera <magik6k@gmail.com> This commit was moved from ipfs/interface-go-ipfs-core@e49c3d2211a09a5bfa5c5eceeeaf08715b230313 This commit was moved from ipfs/boxo@f542e9c788b6601c072ec7408e73a9057921a0b2
Łukasz Magiera committed
Jan 14, 2019 at 21:01 UTC
a437ea3e4e7ccf705adb78a7203fb9856861b7a1
1 file changed
+42
core/coreiface/tests/unixfs.go
+42
@@ -101,6 +101,34 @@ func (tp *provider) TestAdd(t *testing.T) {
101
return coreiface.IpfsPath(c)
102
}
103
104
+ rf, err := ioutil.TempFile(os.TempDir(), "unixfs-add-real")
105
+ if err != nil {
106
+ t.Fatal(err)
107
+ }
108
+ rfp := rf.Name()
109
+
110
+ if _, err := rf.Write([]byte(helloStr)); err != nil {
111
+ t.Fatal(err)
112
+ }
113
+
114
+ stat, err := rf.Stat()
115
+ if err != nil {
116
+ t.Fatal(err)
117
+ }
118
+
119
+ if err := rf.Close(); err != nil {
120
+ t.Fatal(err)
121
+ }
122
+ defer os.Remove(rfp)
123
+
124
+ realFile := func() files.Node {
125
+ n, err := files.NewReaderPathFile(rfp, ioutil.NopCloser(strings.NewReader(helloStr)), stat)
126
+ if err != nil {
127
+ t.Fatal(err)
128
+ }
129
+ return n
130
+ }
131
+
132
cases := []struct {
133
name string
134
data func() files.Node
@@ -323,6 +351,20 @@ func (tp *provider) TestAdd(t *testing.T) {
351
path: "/ipfs/QmRKGpFfR32FVXdvJiHfo4WJ5TDYBsM1P9raAp1p6APWSp",
352
opts: []options.UnixfsAddOption{options.Unixfs.Hidden(false)},
353
},
354
+ // NoCopy
355
+ {
356
+ name: "simpleNoCopy",
357
+ data: realFile,
358
+ path: "/ipfs/zb2rhdhmJjJZs9qkhQCpCQ7VREFkqWw3h1r8utjVvQugwHPFd",
359
+ opts: []options.UnixfsAddOption{options.Unixfs.Nocopy(true)},
360
+ },
361
+ {
362
+ name: "noCopyNoRaw",
363
+ data: realFile,
364
+ path: "/ipfs/zb2rhdhmJjJZs9qkhQCpCQ7VREFkqWw3h1r8utjVvQugwHPFd",
365
+ opts: []options.UnixfsAddOption{options.Unixfs.Nocopy(true), options.Unixfs.RawLeaves(false)},
366
+ err: "nocopy option requires '--raw-leaves' to be enabled as well",
367
+ },
368
// Events / Progress
369
{
370
name: "simpleAddEvent",