Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
dms3
go-dms3
Commits
cb7c8284
Commit
cb7c8284
authored
9 years ago
by
Juan Batiz-Benet
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1220 from ipfs/travis-test-all-commits
Get travis to test all commits
parents
66fad5f1
482a492a
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
44 additions
and
2 deletions
+44
-2
.travis.yml
.travis.yml
+2
-0
Makefile
Makefile
+8
-0
core/commands/config.go
core/commands/config.go
+13
-2
test/sharness/lib/test-lib.sh
test/sharness/lib/test-lib.sh
+7
-0
test/sharness/t0021-config.sh
test/sharness/t0021-config.sh
+14
-0
No files found.
.travis.yml
View file @
cb7c8284
dist
:
trusty
os
:
-
linux
-
osx
...
...
This diff is collapsed.
Click to expand it.
Makefile
View file @
cb7c8284
...
...
@@ -61,3 +61,11 @@ test_all_commits:
@
echo
"WARNING: this will 'git rebase --exec'."
@
test
/bin/continueyn
GIT_EDITOR
=
true
git rebase
-i
--exec
"make test"
origin/master
test_all_commits_travis
:
# these are needed because travis.
# we don't use this yet because it takes way too long.
git config
--global
user.email
"nemo@ipfs.io"
git config
--global
user.name
"IPFS BOT"
git fetch origin master:master
GIT_EDITOR
=
true
git rebase
-i
--exec
"make test"
master
This diff is collapsed.
Click to expand it.
core/commands/config.go
View file @
cb7c8284
...
...
@@ -59,6 +59,7 @@ Set the value of the 'datastore.path' key:
},
Options
:
[]
cmds
.
Option
{
cmds
.
BoolOption
(
"bool"
,
"Set a boolean value"
),
cmds
.
BoolOption
(
"json"
,
"Parse stringified JSON"
),
},
Run
:
func
(
req
cmds
.
Request
,
res
cmds
.
Response
)
{
args
:=
req
.
Arguments
()
...
...
@@ -74,7 +75,17 @@ Set the value of the 'datastore.path' key:
var
output
*
ConfigField
if
len
(
args
)
==
2
{
value
:=
args
[
1
]
if
isbool
,
_
,
_
:=
req
.
Option
(
"bool"
)
.
Bool
();
isbool
{
if
parseJson
,
_
,
_
:=
req
.
Option
(
"json"
)
.
Bool
();
parseJson
{
var
jsonVal
interface
{}
if
err
:=
json
.
Unmarshal
([]
byte
(
value
),
&
jsonVal
);
err
!=
nil
{
err
=
fmt
.
Errorf
(
"failed to unmarshal json. %s"
,
err
)
res
.
SetError
(
err
,
cmds
.
ErrNormal
)
return
}
output
,
err
=
setConfig
(
r
,
key
,
jsonVal
)
}
else
if
isbool
,
_
,
_
:=
req
.
Option
(
"bool"
)
.
Bool
();
isbool
{
output
,
err
=
setConfig
(
r
,
key
,
value
==
"true"
)
}
else
{
output
,
err
=
setConfig
(
r
,
key
,
value
)
...
...
@@ -217,7 +228,7 @@ func getConfig(r repo.Repo, key string) (*ConfigField, error) {
func
setConfig
(
r
repo
.
Repo
,
key
string
,
value
interface
{})
(
*
ConfigField
,
error
)
{
err
:=
r
.
SetConfigKey
(
key
,
value
)
if
err
!=
nil
{
return
nil
,
fmt
.
Errorf
(
"Failed to set config value: %s"
,
err
)
return
nil
,
fmt
.
Errorf
(
"Failed to set config value: %s
(maybe use --json?)
"
,
err
)
}
return
getConfig
(
r
,
key
)
}
...
...
This diff is collapsed.
Click to expand it.
test/sharness/lib/test-lib.sh
View file @
cb7c8284
...
...
@@ -143,6 +143,12 @@ test_init_ipfs() {
PORT_GWAY
=
$((
RANDOM
%
3000
+
8100
))
ADDR_GWAY
=
"/ip4/127.0.0.1/tcp/
$PORT_GWAY
"
PORT_SWARM
=
$((
RANDOM
%
3000
+
12000
))
ADDR_SWARM
=
"[
\"
/ip4/0.0.0.0/tcp/
$PORT_SWARM
\"
]"
# we set the Addresses.API config variable.
# the cli client knows to use it, so only need to set.
# todo: in the future, use env?
...
...
@@ -158,6 +164,7 @@ test_init_ipfs() {
test_config_set Mounts.IPNS "$(pwd)/ipns" &&
test_config_set Addresses.API "$ADDR_API" &&
test_config_set Addresses.Gateway "$ADDR_GWAY" &&
test_config_set --json Addresses.Swarm "$ADDR_SWARM" &&
ipfs bootstrap rm --all ||
test_fsh cat "\"$IPFS_PATH/config\""
'
...
...
This diff is collapsed.
Click to expand it.
test/sharness/t0021-config.sh
View file @
cb7c8284
...
...
@@ -36,6 +36,17 @@ test_config_cmd_set() {
'
}
# this is a bit brittle. the problem is we need to test
# with something that will be forced to unmarshal as a struct.
# (i.e. just setting 'ipfs config --json foo "[1, 2, 3]"') may
# set it as astring instead of proper json. We leverage the
# unmarshalling that has to happen.
CONFIG_SET_JSON_TEST
=
'{
"MDNS": {
"Enabled": true,
"Interval": 10
}
}'
test_config_cmd
()
{
test_config_cmd_set
"beep"
"boop"
...
...
@@ -43,6 +54,9 @@ test_config_cmd() {
test_config_cmd_set
"beep1"
"boop2"
test_config_cmd_set
"--bool"
"beep2"
"true"
test_config_cmd_set
"--bool"
"beep2"
"false"
test_config_cmd_set
"--json"
"beep3"
"true"
test_config_cmd_set
"--json"
"beep3"
"false"
test_config_cmd_set
"--json"
"Discovery"
"
$CONFIG_SET_JSON_TEST
"
}
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment