As `ipfs version` and `ipfs help` are basic commands
it is ok to test them online in t0060.
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
It looks like some tests that were expected failures
are now always succeeding, so let's mark them as such.
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
To do that the current tests are move inside a
test_object_cmd() function. This function is then first
called before running the daemon for offline tests
and then after starting the daemon for online tests.
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
To do that the current tests are move inside a
test_ls_cmd() function. This function is then first
called before running the daemon for offline tests
and then after starting the daemon for online tests.
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
To do that the current tests are move inside a
test_get_cmd() function. This function is then first
called before running the daemon for offline tests
and then after starting the daemon for online tests.
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
It looks like there were two problems:
- "read" command probably needs the name of the variable
it reads into
- [[ didn't work
This might be because on Linux /bin/sh is sometimes not
bash. For example on Ubuntu it is a symlink to dash.
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Tests in this script had been deactivated because
there was no good way to wait until the daemon was
ready. Now that we can use pollEndpoint for that
it's time to reactivate the tests.
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Add information from the discussion of PR #891.
While at it, suggest using -v and -i options to debug one test.
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
This makes the following changes:
- remove some superfluous \ at the end of some lines
- use `cat <<-\EOF >expected` to ignore the starting tabs
in the here document
- add missing && after some `cat`
- use test_cmp to compare files
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
we have a problem where initializing daemons with the same api port
often fails-- it hangs indefinitely. The proper solution is to make
ipfs pick an unused port for the api on startup, and then use that.
Unfortunately, ipfs doesnt yet know how to do this-- the api port
must be specified. Until ipfs learns how to do this, we must use
specific port numbers, which may still fail but less frequently
if we at least use different ones.
There was basically:
curl ... "$URL 2>curl.out"
instead of:
curl ... "$URL" 2>curl.out
So "curl.out" was not properly overwritten by the curl command.
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
- updated go-ctxgroup and goprocess
ctxgroup: AddChildGroup was changed to AddChild. Used in two files:
- p2p/net/mock/mock_net.go
- routing/dht/dht.go
- updated context from hg repo to git
prev. commit in hg was ad01a6fcc8a19d3a4478c836895ffe883bd2ceab. (context: make parentCancelCtx iterative)
represents commit 84f8955a887232b6308d79c68b8db44f64df455c in git repo
- updated context to master (b6fdb7d8a4ccefede406f8fe0f017fb58265054c)
Aaron Jacobs (2):
net/context: Don't accept a context in the DoSomethingSlow example.
context: Be clear that users must cancel the result of WithCancel.
Andrew Gerrand (1):
go.net: use golang.org/x/... import paths
Bryan C. Mills (1):
net/context: Don't leak goroutines in Done example.
Damien Neil (1):
context: fix removal of cancelled timer contexts from parent
David Symonds (2):
context: Fix WithValue example code.
net: add import comments.
Sameer Ajmani (1):
context: fix TestAllocs to account for ints in interfaces
add automatic add and cat for debugging purposes
retry cats
cast string
argh! @whyrusleepgin
use mock repo to avoid clashing
larger files for more variety FIXUP into gc-client
fix: change in both places FIXUP gc-client
fix(gc-client) start with size 1 (unit)
fix(gc-client) start at 1 FIXUP prev
gc-client rm comment
gc-client larger files
fix(gc-client) cat the data out to dev null to ensure entire file is fetched
perf(gc-client) use io.Pipe to handle io transfer
fixup
As shasum is not installed on all machines and
we use multihash anyway in the code base, it
removes one dependency to use shasum instead of
shasum in the tests.
Now that there are sharness tests in multihash
it is also safe to use it.
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
The new ipfs-test-lib.sh file contains generic test
functions.
We also start replacing fsh with a shell function named
test_fsh() in ipfs-test-lib.sh.
And we move our custom test_cmp in ipfs-test-lib.sh.
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
The pattern "cat FILE | COMMAND" can be simplified
to just "COMMAND FILE" when COMMAND accepts files as
arguments.
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
The following changes are made to make t0080
cleaner, safer and more canonical:
- remove useless stuff,
- don't use a pipe after ipfs commands,
- use test_must_fail before ipfs commands instead of !
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
⚠️ this commit makes your current configs unusable, as the
default bootstrap peers. You may need to edit your config.
Go from:
```js
Bootstrap: [
{
"Address": "/ip4/104.131.131.82/tcp/4001",
"PeerID": "QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ"
}
]
```
To:
```js
Bootstrap: [
"/ip4/104.131.131.82/tcp/4001/ipfs/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ"
]
```
- core: daemon stdout print to cmd + daemon init checks
- core: fixed bug where the gateway was printed as "API"
- sharness/test-lib: daemon init checks
- sharness/test-lib: portable TCP port check
- sharness/init: fix test bits output
- sharness: use common hashes in one place.
- move t0100-http-gateway -> t0111-gateway-writable
- sharness: test-lib funcs for gateway config
- sharness/t0111-gateway-writable: use sh funcs
- sharness/t0111-gateway-writable: fixes
- escape all vars (always `cmd "$VAR"` never `cmd $VAR`)
- use $FILEPATH, not $path
- last test seems to fail
In OSX, the `echo -n` was _somehow_ printing "-n" out... not
really sure why, as the bsd `echo` program supports -n. I changed
this to printf -- which is safer.
improve efficiency of multilayered indirect blocks
clean up tests
panic cleanup
clean up logic, improve readability
add final root node to the dagservice upon creation
importer: simplified dag generation
test: updated hashes using latest code
@whyrusleeping this is why the sharness tests
were failing: the hashes are added manually to
make sure our generation doesn't change.
cleanup after CR
fix merkledag tests
fix small block generation (no subblocks!)
Make sharness tests' output helpful when verbose.
This means cating certain files, or running diagnostic
commands. I used a construction like:
test_expect_success ".go-ipfs/ has been created" '
test -d ".go-ipfs" &&
test -f ".go-ipfs/config" &&
test -d ".go-ipfs/datastore" ||
fsh ls -al .go-ipfs
'
The `|| ...` is a diagnostic run when the preceding command
fails. `fsh` is a trivial script that echoes the args, runs
the cmd, and then also fails, making sure the test case fails.
(wouldnt want the diagnostic accidentally returning true and
making it _seem_ like the test case succeeded).
These new tests are not marked EXPENSIVE as they
should be fast enough even on Travis CI.
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
this is a hack around travis key-gen being really slow.
One option would be to add the --key-bits option to daemon
as well. Another option would be to find a better way to
wait for the output, rather than waiting n seconds.
cc @chriscool thoughts?
The ouput from "ipfs help" changed in ipfs2.
With the change in this commit, this output change doesn't
prevent the test to pass.
Test t0010 now passes on my Linux machine.
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
The ouput from "ipfs block" changed in ipfs2.
With the change in this commit, this output change doesn't
prevent the test to pass.
Test t0050 now passes on my Linux machine.
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
The ouput from "ipfs add" changed in ipfs2.
With the changes in this commit, this output change doesn't
prevent the test to pass.
With TEST_NO_FUSE=1 test t0040 now passes on my Linux machine.
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
@jbenet @chriscool
(not to be merged into master) This is a hack to run sharness tests on
th ipfs2 binary. Instead of compiling cmd/ipfs, it compiles cmd/ipfs2
and copies this into test/bin/ipfs.
I thought this would be enough to pass the `basic-commands` test, but
it's not.
Although the output is fairly similar, the `ipfs version` test fails.
```
test (feat/test2) λ. diff version1 version2
1c1
< ipfs version 0.1.7
---
> ipfs version 0.1.5
```
I'm not very experienced with `sh` scripting, so perhaps I'm missing a
key ingredient or maybe misunderstanding the the tests are meant to
work.
Would like to get input on this.
Thanks, @maybebtc
This adds test_launch_ipfs_mount() and test_kill_ipfs_mount()
to avoid duplicating tests to launch "ipfs mount" and to
kill it.
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
You can use it like this to launch all the
test scripts in order:
$ cd test
$ make
rm -r test-results
*** t0010-basic-commands.sh ***
ok 1 - current dir is writable
ok 2 - ipfs version succeeds
ok 3 - ipfs version output looks good
ok 4 - ipfs help succeeds
ok 5 - ipfs help output looks good
# passed all 5 test(s)
1..5
./test-aggregate-results.sh
fixed 0
success 5
failed 0
broken 0
total 5
Or you can just run one test like this:
$ make t0010-basic-commands.sh
*** t0010-basic-commands.sh ***
ok 1 - current dir is writable
ok 2 - ipfs version succeeds
ok 3 - ipfs version output looks good
ok 4 - ipfs help succeeds
ok 5 - ipfs help output looks good
# passed all 5 test(s)
1..5
This checks a little bit the installation and some
basic commands.
You can run it like that:
$ cd test
$ ./t0010-basic-commands.sh
ok 1 - current dir is writable
ok 2 - ipfs version succeeds
ok 3 - ipfs version output looks good
ok 4 - ipfs help succeeds
ok 5 - ipfs help output looks good
# passed all 5 test(s)
1..5