Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
G
go-ipfs
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
jihao
go-ipfs
Commits
798afedf
提交
798afedf
authored
10月 19, 2017
作者:
Kevin Atkinson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Make --hash and related option local to sub-commands that use them.
License: MIT Signed-off-by:
Kevin Atkinson
<
k@kevina.org
>
上级
00a3b1df
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
105 行增加
和
93 行删除
+105
-93
files.go
core/commands/files/files.go
+23
-12
t0250-files-api.sh
test/sharness/t0250-files-api.sh
+82
-81
没有找到文件。
core/commands/files/files.go
浏览文件 @
798afedf
...
...
@@ -41,21 +41,10 @@ of consistency guarantees. If the daemon is unexpectedly killed before running
'ipfs files flush' on the files in question, then data may be lost. This also
applies to running 'ipfs repo gc' concurrently with '--flush=false'
operations.
The --cid-version and --hash-fun option only apply to newly created files
and directories. If not specified these proprieties are inhertied
from the parent directory.
`
,
},
Options
:
[]
cmds
.
Option
{
cmds
.
BoolOption
(
"f"
,
"flush"
,
"Flush target and ancestors after write."
)
.
Default
(
true
),
cmds
.
BoolOption
(
"raw-leaves"
,
"Use raw blocks for newly created leaf nodes. (experimental)"
),
cmds
.
IntOption
(
"cid-version"
,
"cid-ver"
,
"Cid version. Non-zero value will change default of 'raw-leaves' to true. (experimental)"
),
cmds
.
StringOption
(
"hash-fun"
,
"Hash function to use. Will set Cid version to 1 if used. (experimental)"
),
// ^^fixme: can't use just "hash" as the option name as the
// conflicts with "--hash" usage by the stat command, this is
// unfortunate as it creates an inconsistency with the "add"
// that uses "hash"
},
Subcommands
:
map
[
string
]
*
cmds
.
Command
{
"read"
:
FilesReadCmd
,
...
...
@@ -71,6 +60,9 @@ from the parent directory.
},
}
var
cidVersionOption
=
cmds
.
IntOption
(
"cid-version"
,
"cid-ver"
,
"Cid version to use. (experimental)"
)
var
hashOption
=
cmds
.
StringOption
(
"hash"
,
"Hash function to use. Will set Cid version to 1 if used. (experimental)"
)
var
formatError
=
errors
.
New
(
"Format was set by multiple options. Only one format option is allowed"
)
var
FilesStatCmd
=
&
cmds
.
Command
{
...
...
@@ -576,6 +568,13 @@ a beginning offset to write to. The entire length of the input will be written.
If the '--create' option is specified, the file will be created if it does not
exist. Nonexistant intermediate directories will not be created.
Newly created files will have the same CID version and hash function of the
parent directory unless the --cid-version and --hash options are used.
Newly created leaves will be in the legacy format (Protobuf) if the
CID version is 0, or raw is the CID version is non-zero. Use of the
--raw-leaves option will override this behavior.
If the '--flush' option is set to false, changes will not be propogated to the
merkledag root. This can make operations much faster when doing a large number
of writes to a deeper directory structure.
...
...
@@ -601,6 +600,9 @@ stat' on the file or any of its ancestors.
cmds
.
BoolOption
(
"create"
,
"e"
,
"Create the file if it does not exist."
),
cmds
.
BoolOption
(
"truncate"
,
"t"
,
"Truncate the file to size zero before writing."
),
cmds
.
IntOption
(
"count"
,
"n"
,
"Maximum number of bytes to read."
),
cmds
.
BoolOption
(
"raw-leaves"
,
"Use raw blocks for newly created leaf nodes. (experimental)"
),
cidVersionOption
,
hashOption
,
},
Run
:
func
(
req
cmds
.
Request
,
res
cmds
.
Response
)
{
path
,
err
:=
checkPath
(
req
.
Arguments
()[
0
])
...
...
@@ -709,6 +711,9 @@ var FilesMkdirCmd = &cmds.Command{
ShortDescription
:
`
Create the directory if it does not already exist.
The directory will have the same CID version and hash function of the
parent directory unless the --cid-version and --hash options are used.
NOTE: All paths must be absolute.
Examples:
...
...
@@ -723,6 +728,8 @@ Examples:
},
Options
:
[]
cmds
.
Option
{
cmds
.
BoolOption
(
"parents"
,
"p"
,
"No error if existing, make parent directories as needed."
),
cidVersionOption
,
hashOption
,
},
Run
:
func
(
req
cmds
.
Request
,
res
cmds
.
Response
)
{
n
,
err
:=
req
.
InvocContext
()
.
GetNode
()
...
...
@@ -801,6 +808,10 @@ Change the cid version or hash function of the root node of a given path.
Arguments
:
[]
cmds
.
Argument
{
cmds
.
StringArg
(
"path"
,
false
,
false
,
"Path to change. Default: '/'."
),
},
Options
:
[]
cmds
.
Option
{
cidVersionOption
,
hashOption
,
},
Run
:
func
(
req
cmds
.
Request
,
res
cmds
.
Response
)
{
nd
,
err
:=
req
.
InvocContext
()
.
GetNode
()
if
err
!=
nil
{
...
...
@@ -959,7 +970,7 @@ Remove files or directories.
func
getPrefix
(
req
cmds
.
Request
)
(
*
cid
.
Prefix
,
error
)
{
cidVer
,
cidVerSet
,
_
:=
req
.
Option
(
"cid-version"
)
.
Int
()
hashFunStr
,
hashFunSet
,
_
:=
req
.
Option
(
"hash
-fun
"
)
.
String
()
hashFunStr
,
hashFunSet
,
_
:=
req
.
Option
(
"hash"
)
.
String
()
if
!
cidVerSet
&&
!
hashFunSet
{
return
nil
,
nil
...
...
test/sharness/t0250-files-api.sh
浏览文件 @
798afedf
...
...
@@ -51,7 +51,7 @@ test_sharding() {
ARGS
=
$2
# only applied to the initial directory
test_expect_success
"make a directory
$EXTRA
"
'
ipfs files
$ARGS mkdir
/foo
ipfs files
mkdir $ARGS
/foo
'
test_expect_success
"can make 100 files in a directory
$EXTRA
"
'
...
...
@@ -97,16 +97,17 @@ test_sharding() {
}
test_files_api
()
{
local
EXTRA ARGS
local
EXTRA ARGS
RAW_LEAVES
EXTRA
=
$1
ARGS
=
$2
RAW_LEAVES
=
$3
test_expect_success
"can mkdir in root
$EXTRA
"
'
ipfs files
$ARGS mkdir
/cats
ipfs files
mkdir $ARGS
/cats
'
test_expect_success
"'files ls' lists root by default
$EXTRA
"
'
ipfs files
$ARGS
ls >actual &&
ipfs files ls >actual &&
echo "cats" >expected &&
test_cmp expected actual
'
...
...
@@ -121,7 +122,7 @@ test_files_api() {
# we do verification of stat formatting now as we depend on it
test_expect_success
"stat works
$EXTRA
"
'
ipfs files
$ARGS
stat / >stat
ipfs files stat / >stat
'
test_expect_success
"hash is first line of stat
$EXTRA
"
'
...
...
@@ -129,41 +130,41 @@ test_files_api() {
'
test_expect_success
"stat --hash gives only hash
$EXTRA
"
'
ipfs files
$ARGS
stat --hash / >actual &&
ipfs files stat --hash / >actual &&
head -n1 stat >expected &&
test_cmp expected actual
'
test_expect_success
"stat with multiple format options should fail
$EXTRA
"
'
test_must_fail ipfs files
$ARGS
stat --hash --size /
test_must_fail ipfs files stat --hash --size /
'
test_expect_success
"compare hash option with format
$EXTRA
"
'
ipfs files
$ARGS
stat --hash / >expected &&
ipfs files
$ARGS
stat --format='
"'"
'<hash>'
"'"
' / >actual &&
ipfs files stat --hash / >expected &&
ipfs files stat --format='
"'"
'<hash>'
"'"
' / >actual &&
test_cmp expected actual
'
test_expect_success
"compare size option with format
$EXTRA
"
'
ipfs files
$ARGS
stat --size / >expected &&
ipfs files
$ARGS
stat --format='
"'"
'<cumulsize>'
"'"
' / >actual &&
ipfs files stat --size / >expected &&
ipfs files stat --format='
"'"
'<cumulsize>'
"'"
' / >actual &&
test_cmp expected actual
'
test_expect_success
"check root hash
$EXTRA
"
'
ipfs files
$ARGS
stat --hash / > roothash
ipfs files stat --hash / > roothash
'
test_expect_success
"cannot mkdir /
$EXTRA
"
'
test_expect_code 1 ipfs files
$ARGS mkdir
/
test_expect_code 1 ipfs files
mkdir $ARGS
/
'
test_expect_success
"check root hash was not changed
$EXTRA
"
'
ipfs files
$ARGS
stat --hash / > roothashafter &&
ipfs files stat --hash / > roothashafter &&
test_cmp roothash roothashafter
'
test_expect_success
"can put files into directory
$EXTRA
"
'
ipfs files
$ARGS
cp /ipfs/$FILE1 /cats/file1
ipfs files cp /ipfs/$FILE1 /cats/file1
'
test_expect_success
"file shows up in directory
$EXTRA
"
'
...
...
@@ -172,12 +173,12 @@ test_files_api() {
test_expect_success
"file has correct hash and size in directory
$EXTRA
"
'
echo "file1 $FILE1 4" > ls_l_expected &&
ipfs files
$ARGS
ls -l /cats > ls_l_actual &&
ipfs files ls -l /cats > ls_l_actual &&
test_cmp ls_l_expected ls_l_actual
'
test_expect_success
"can read file
$EXTRA
"
'
ipfs files
$ARGS
read /cats/file1 > file1out
ipfs files read /cats/file1 > file1out
'
test_expect_success
"output looks good
$EXTRA
"
'
...
...
@@ -186,7 +187,7 @@ test_files_api() {
'
test_expect_success
"can put another file into root
$EXTRA
"
'
ipfs files
$ARGS
cp /ipfs/$FILE2 /file2
ipfs files cp /ipfs/$FILE2 /file2
'
test_expect_success
"file shows up in root
$EXTRA
"
'
...
...
@@ -194,7 +195,7 @@ test_files_api() {
'
test_expect_success
"can read file
$EXTRA
"
'
ipfs files
$ARGS
read /file2 > file2out
ipfs files read /file2 > file2out
'
test_expect_success
"output looks good
$EXTRA
"
'
...
...
@@ -203,7 +204,7 @@ test_files_api() {
'
test_expect_success
"can make deep directory
$EXTRA
"
'
ipfs files
$ARGS mkdir
-p /cats/this/is/a/dir
ipfs files
mkdir $ARGS
-p /cats/this/is/a/dir
'
test_expect_success
"directory was created correctly
$EXTRA
"
'
...
...
@@ -216,11 +217,11 @@ test_files_api() {
'
test_expect_success
"can copy file into new dir
$EXTRA
"
'
ipfs files
$ARGS
cp /ipfs/$FILE3 /cats/this/is/a/dir/file3
ipfs files cp /ipfs/$FILE3 /cats/this/is/a/dir/file3
'
test_expect_success
"can read file
$EXTRA
"
'
ipfs files
$ARGS
read /cats/this/is/a/dir/file3 > output
ipfs files read /cats/this/is/a/dir/file3 > output
'
test_expect_success
"output looks good
$EXTRA
"
'
...
...
@@ -233,7 +234,7 @@ test_files_api() {
'
test_expect_success
"can remove file
$EXTRA
"
'
ipfs files
$ARGS
rm /cats/this/is/a/dir/file3
ipfs files rm /cats/this/is/a/dir/file3
'
test_expect_success
"file no longer appears
$EXTRA
"
'
...
...
@@ -241,7 +242,7 @@ test_files_api() {
'
test_expect_success
"can remove dir
$EXTRA
"
'
ipfs files
$ARGS
rm -r /cats/this/is/a/dir
ipfs files rm -r /cats/this/is/a/dir
'
test_expect_success
"dir no longer appears
$EXTRA
"
'
...
...
@@ -249,7 +250,7 @@ test_files_api() {
'
test_expect_success
"can remove file from root
$EXTRA
"
'
ipfs files
$ARGS
rm /file2
ipfs files rm /file2
'
test_expect_success
"file no longer appears
$EXTRA
"
'
...
...
@@ -257,22 +258,22 @@ test_files_api() {
'
test_expect_success
"check root hash
$EXTRA
"
'
ipfs files
$ARGS
stat --hash / > roothash
ipfs files stat --hash / > roothash
'
test_expect_success
"cannot remove root
$EXTRA
"
'
test_expect_code 1 ipfs files
$ARGS
rm -r /
test_expect_code 1 ipfs files rm -r /
'
test_expect_success
"check root hash was not changed
$EXTRA
"
'
ipfs files
$ARGS
stat --hash / > roothashafter &&
ipfs files stat --hash / > roothashafter &&
test_cmp roothash roothashafter
'
# test read options
test_expect_success
"read from offset works
$EXTRA
"
'
ipfs files
$ARGS
read -o 1 /cats/file1 > output
ipfs files read -o 1 /cats/file1 > output
'
test_expect_success
"output looks good
$EXTRA
"
'
...
...
@@ -281,7 +282,7 @@ test_files_api() {
'
test_expect_success
"read with size works
$EXTRA
"
'
ipfs files
$ARGS
read -n 2 /cats/file1 > output
ipfs files read -n 2 /cats/file1 > output
'
test_expect_success
"output looks good
$EXTRA
"
'
...
...
@@ -290,11 +291,11 @@ test_files_api() {
'
test_expect_success
"cannot read from negative offset
$EXTRA
"
'
test_expect_code 1 ipfs files
$ARGS
read --offset -3 /cats/file1
test_expect_code 1 ipfs files read --offset -3 /cats/file1
'
test_expect_success
"read from offset 0 works
$EXTRA
"
'
ipfs files
$ARGS
read --offset 0 /cats/file1 > output
ipfs files read --offset 0 /cats/file1 > output
'
test_expect_success
"output looks good
$EXTRA
"
'
...
...
@@ -303,7 +304,7 @@ test_files_api() {
'
test_expect_success
"read last byte works
$EXTRA
"
'
ipfs files
$ARGS
read --offset 2 /cats/file1 > output
ipfs files read --offset 2 /cats/file1 > output
'
test_expect_success
"output looks good
$EXTRA
"
'
...
...
@@ -312,7 +313,7 @@ test_files_api() {
'
test_expect_success
"offset past end of file fails
$EXTRA
"
'
test_expect_code 1 ipfs files
$ARGS
read --offset 5 /cats/file1
test_expect_code 1 ipfs files read --offset 5 /cats/file1
'
test_expect_success
"cannot read negative count bytes
$EXTRA
"
'
...
...
@@ -320,7 +321,7 @@ test_files_api() {
'
test_expect_success
"reading zero bytes prints nothing
$EXTRA
"
'
ipfs files
$ARGS
read --count 0 /cats/file1 > output
ipfs files read --count 0 /cats/file1 > output
'
test_expect_success
"output looks good
$EXTRA
"
'
...
...
@@ -329,7 +330,7 @@ test_files_api() {
'
test_expect_success
"count > len(file) prints entire file
$EXTRA
"
'
ipfs files
$ARGS
read --count 200 /cats/file1 > output
ipfs files read --count 200 /cats/file1 > output
'
test_expect_success
"output looks good
$EXTRA
"
'
...
...
@@ -341,7 +342,7 @@ test_files_api() {
test_expect_success
"can write file
$EXTRA
"
'
echo "ipfs rocks" > tmpfile &&
cat tmpfile | ipfs files
$ARGS write
--create /cats/ipfs
cat tmpfile | ipfs files
write $ARGS $RAW_LEAVES
--create /cats/ipfs
'
test_expect_success
"file was created
$EXTRA
"
'
...
...
@@ -349,44 +350,44 @@ test_files_api() {
'
test_expect_success
"can read file we just wrote
$EXTRA
"
'
ipfs files
$ARGS
read /cats/ipfs > output
ipfs files read /cats/ipfs > output
'
test_expect_success
"can write to offset
$EXTRA
"
'
echo "is super cool" | ipfs files
$ARGS write
-o 5 /cats/ipfs
echo "is super cool" | ipfs files
write $ARGS $RAW_LEAVES
-o 5 /cats/ipfs
'
test_expect_success
"file looks correct
$EXTRA
"
'
echo "ipfs is super cool" > expected &&
ipfs files
$ARGS
read /cats/ipfs > output &&
ipfs files read /cats/ipfs > output &&
test_cmp expected output
'
test_expect_success
"file hash correct
$EXTRA
"
'
echo $FILE_HASH > filehash_expected &&
ipfs files
$ARGS
stat --hash /cats/ipfs > filehash &&
ipfs files stat --hash /cats/ipfs > filehash &&
test_cmp filehash_expected filehash
'
test_expect_success
"cant write to negative offset
$EXTRA
"
'
test_expect_code 1 ipfs files
$ARGS write
--offset -1 /cats/ipfs < output
test_expect_code 1 ipfs files
write $ARGS $RAW_LEAVES
--offset -1 /cats/ipfs < output
'
test_expect_success
"verify file was not changed
$EXTRA
"
'
ipfs files
$ARGS
stat --hash /cats/ipfs > afterhash &&
ipfs files stat --hash /cats/ipfs > afterhash &&
test_cmp filehash afterhash
'
test_expect_success
"write new file for testing
$EXTRA
"
'
echo foobar | ipfs files
$ARGS write
--create /fun
echo foobar | ipfs files
write $ARGS $RAW_LEAVES
--create /fun
'
test_expect_success
"write to offset past end works
$EXTRA
"
'
echo blah | ipfs files
$ARGS write
--offset 50 /fun
echo blah | ipfs files
write $ARGS $RAW_LEAVES
--offset 50 /fun
'
test_expect_success
"can read file
$EXTRA
"
'
ipfs files
$ARGS
read /fun > sparse_output
ipfs files read /fun > sparse_output
'
test_expect_success
"output looks good
$EXTRA
"
'
...
...
@@ -396,21 +397,21 @@ test_files_api() {
'
test_expect_success
"cleanup
$EXTRA
"
'
ipfs files
$ARGS
rm /fun
ipfs files rm /fun
'
test_expect_success
"cannot write to directory
$EXTRA
"
'
ipfs files
$ARGS
stat --hash /cats > dirhash &&
test_expect_code 1 ipfs files
$ARGS write
/cats < output
ipfs files stat --hash /cats > dirhash &&
test_expect_code 1 ipfs files
write $ARGS $RAW_LEAVES
/cats < output
'
test_expect_success
"verify dir was not changed
$EXTRA
"
'
ipfs files
$ARGS
stat --hash /cats > afterdirhash &&
ipfs files stat --hash /cats > afterdirhash &&
test_cmp dirhash afterdirhash
'
test_expect_success
"cannot write to nonexistant path
$EXTRA
"
'
test_expect_code 1 ipfs files
$ARGS write
/cats/bar/ < output
test_expect_code 1 ipfs files
write $ARGS $RAW_LEAVES
/cats/bar/ < output
'
test_expect_success
"no new paths were created
$EXTRA
"
'
...
...
@@ -418,7 +419,7 @@ test_files_api() {
'
test_expect_success
"write 'no-flush' succeeds
$EXTRA
"
'
echo "testing" | ipfs files
$ARGS write
-f=false -e /cats/walrus
echo "testing" | ipfs files
write $ARGS $RAW_LEAVES
-f=false -e /cats/walrus
'
test_expect_success
"root hash not bubbled up yet
$EXTRA
"
'
...
...
@@ -428,7 +429,7 @@ test_files_api() {
'
test_expect_success
"changes bubbled up to root on inspection
$EXTRA
"
'
ipfs files
$ARGS
stat --hash / > root_hash
ipfs files stat --hash / > root_hash
'
test_expect_success
"root hash looks good
$EXTRA
"
'
...
...
@@ -445,12 +446,12 @@ test_files_api() {
'
test_expect_success
"flush root succeeds
$EXTRA
"
'
ipfs files
$ARGS
flush /
ipfs files flush /
'
# test mv
test_expect_success
"can mv dir
$EXTRA
"
'
ipfs files
$ARGS
mv /cats/this/is /cats/
ipfs files mv /cats/this/is /cats/
'
test_expect_success
"mv worked
$EXTRA
"
'
...
...
@@ -459,7 +460,7 @@ test_files_api() {
'
test_expect_success
"cleanup, remove 'cats'
$EXTRA
"
'
ipfs files
$ARGS
rm -r /cats
ipfs files rm -r /cats
'
test_expect_success
"cleanup looks good
$EXTRA
"
'
...
...
@@ -468,36 +469,36 @@ test_files_api() {
# test truncating
test_expect_success
"create a new file
$EXTRA
"
'
echo "some content" | ipfs files
$ARGS write
--create /cats
echo "some content" | ipfs files
write $ARGS $RAW_LEAVES
--create /cats
'
test_expect_success
"truncate and write over that file
$EXTRA
"
'
echo "fish" | ipfs files
$ARGS write
--truncate /cats
echo "fish" | ipfs files
write $ARGS $RAW_LEAVES
--truncate /cats
'
test_expect_success
"output looks good
$EXTRA
"
'
ipfs files
$ARGS
read /cats > file_out &&
ipfs files read /cats > file_out &&
echo "fish" > file_exp &&
test_cmp file_out file_exp
'
test_expect_success
"file hash correct
$EXTRA
"
'
echo $TRUNC_HASH > filehash_expected &&
ipfs files
$ARGS
stat --hash /cats > filehash &&
ipfs files stat --hash /cats > filehash &&
test_cmp filehash_expected filehash
'
test_expect_success
"cleanup
$EXTRA
"
'
ipfs files
$ARGS
rm /cats
ipfs files rm /cats
'
# test flush flags
test_expect_success
"mkdir --flush works
$EXTRA
"
'
ipfs files
$ARGS mkdir
--flush --parents /flushed/deep
ipfs files
mkdir $ARGS
--flush --parents /flushed/deep
'
test_expect_success
"mkdir --flush works a second time
$EXTRA
"
'
ipfs files
$ARGS mkdir
--flush --parents /flushed/deep
ipfs files
mkdir $ARGS
--flush --parents /flushed/deep
'
test_expect_success
"dir looks right
$EXTRA
"
'
...
...
@@ -509,7 +510,7 @@ test_files_api() {
'
test_expect_success
"cleanup
$EXTRA
"
'
ipfs files
$ARGS
rm -r /flushed
ipfs files rm -r /flushed
'
test_expect_success
"child dir looks right
$EXTRA
"
'
...
...
@@ -518,43 +519,43 @@ test_files_api() {
# test for https://github.com/ipfs/go-ipfs/issues/2654
test_expect_success
"create and remove dir
$EXTRA
"
'
ipfs files
$ARGS mkdir
/test_dir &&
ipfs files
$ARGS
rm -r "/test_dir"
ipfs files
mkdir $ARGS
/test_dir &&
ipfs files rm -r "/test_dir"
'
test_expect_success
"create test file
$EXTRA
"
'
echo "content" | ipfs files
$ARGS write
-e "/test_file"
echo "content" | ipfs files
write $ARGS $RAW_LEAVES
-e "/test_file"
'
test_expect_success
"copy test file onto test dir
$EXTRA
"
'
ipfs files
$ARGS
cp "/test_file" "/test_dir"
ipfs files cp "/test_file" "/test_dir"
'
test_expect_success
"test /test_dir
$EXTRA
"
'
ipfs files
$ARGS
stat "/test_dir" | grep -q "^Type: file"
ipfs files stat "/test_dir" | grep -q "^Type: file"
'
test_expect_success
"clean up /test_dir and /test_file
$EXTRA
"
'
ipfs files
$ARGS
rm -r /test_dir &&
ipfs files
$ARGS
rm -r /test_file
ipfs files rm -r /test_dir &&
ipfs files rm -r /test_file
'
test_expect_success
"make a directory and a file
$EXTRA
"
'
ipfs files
$ARGS mkdir
/adir &&
echo "blah" | ipfs files
$ARGS write
--create /foobar
ipfs files
mkdir $ARGS
/adir &&
echo "blah" | ipfs files
write $ARGS $RAW_LEAVES
--create /foobar
'
test_expect_success
"copy a file into a directory
$EXTRA
"
'
ipfs files
$ARGS
cp /foobar /adir/
ipfs files cp /foobar /adir/
'
test_expect_success
"file made it into directory
$EXTRA
"
'
ipfs files
$ARGS
ls /adir | grep foobar
ipfs files ls /adir | grep foobar
'
test_expect_success
"clean up
$EXTRA
"
'
ipfs files
$ARGS
rm -r /foobar &&
ipfs files
$ARGS
rm -r /adir
ipfs files rm -r /foobar &&
ipfs files rm -r /adir
'
test_expect_success
"root mfs entry is empty
$EXTRA
"
'
...
...
@@ -595,7 +596,7 @@ tests_for_files_api() {
CATS_HASH
=
QmPqWDEg7NoWRX8Y4vvYjZtmdg5umbfsTQ9zwNr12JoLmt
FILE_HASH
=
QmRCgHeoKxCqK2Es6M6nPUDVWz19yNQPnsXGsXeuTkSKpN
TRUNC_HASH
=
QmRFJEKWF5A5FyFYZgNhusLw2UziW9zBKYr4huyHjzcB6o
test_files_api
"(
$EXTRA
, raw-leaves)"
--raw-leaves
test_files_api
"(
$EXTRA
, raw-leaves)"
''
--raw-leaves
ROOT_HASH
=
QmageRWxC7wWjPv5p36NeAgBAiFdBHaNfxAehBSwzNech2
CATS_HASH
=
zdj7WkEzPLNAr5TYJSQC8CFcBjLvWFfGdx6kaBrJXnBguwWeX
...
...
@@ -606,7 +607,7 @@ tests_for_files_api() {
fi
test_expect_success
"can update root hash to cidv1"
'
ipfs files
--cid-version=1 chcid
/ &&
ipfs files
chcid --cid-version=1
/ &&
echo zdj7WbTaiJT1fgatdet9Ei9iDB5hdCxkbVyhyh8YTUnXMiwYi > hash_expect &&
ipfs files stat --hash / > hash_actual &&
test_cmp hash_expect hash_actual
...
...
@@ -617,7 +618,7 @@ tests_for_files_api() {
if
[
"
$EXTRA
"
=
"offline"
]
;
then
test_expect_success
"can update root hash to blake2b-256"
'
ipfs files
--hash-fun=blake2b-256 chcid
/ &&
ipfs files
chcid --hash=blake2b-256
/ &&
echo zDMZof1kvswQMT8txrmnb3JGBuna6qXCTry6hSifrkZEd6VmHbBm > hash_expect &&
ipfs files stat --hash / > hash_actual &&
test_cmp hash_expect hash_actual
...
...
@@ -630,7 +631,7 @@ tests_for_files_api() {
fi
test_expect_success
"can update root hash back to cidv0"
'
ipfs files
--cid-version=0 chcid /
&&
ipfs files
chcid / --cid-version=0
&&
echo QmUNLLsPACCz1vLxQVkXqqLX5R1X345qqfHbsf67hvA3Nn > hash_expect &&
ipfs files stat --hash / > hash_actual &&
test_cmp hash_expect hash_actual
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论