Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix the tests #844

Merged
merged 9 commits into from
Mar 4, 2015
Merged

fix the tests #844

merged 9 commits into from
Mar 4, 2015

Conversation

jbenet
Copy link
Member

@jbenet jbenet commented Mar 2, 2015

this PR will get our tests back to green

@jbenet jbenet added the status/in-progress In progress label Mar 2, 2015
@jbenet
Copy link
Member Author

jbenet commented Mar 2, 2015

Looks like fuse broke sometime in the last week.

./t0040-add-and-cat.sh
ok 1 - ipfs init succeeds
ok 2 - prepare config -- mounting and bootstrap rm
ok 3 - 'ipfs daemon' succeeds
ok 4 - 'ipfs daemon' is ready
ok 5 - 'ipfs mount' succeeds
ok 6 - 'ipfs mount' output looks good
ok 7 - 'ipfs add --help' succeeds
ok 8 - 'ipfs add --help' output looks good
ok 9 - 'ipfs cat --help' succeeds
ok 10 - 'ipfs cat --help' output looks good
ok 11 - ipfs add succeeds
ok 12 - ipfs add output looks good
ok 13 - ipfs cat succeeds
ok 14 - ipfs cat output looks good
ok 15 - cat ipfs/stuff succeeds
not ok 16 - cat ipfs/stuff looks good
#
#       test_cmp expected actual
#
ok 17 - 'ipfs add -q' succeeds
ok 18 - 'ipfs add -q' output looks good
ok 19 - 'ipfs add -r' succeeds
ok 20 - 'ipfs add -r' output looks good
ok 21 - go-random is installed
ok 22 - generate 5MB file using go-random
ok 23 - sha1 of the file looks ok
ok 24 - 'ipfs add bigfile' succeeds
ok 25 - 'ipfs add bigfile' output looks good
ok 26 - 'ipfs cat' succeeds
ok 27 - 'ipfs cat' output looks good
ok 28 - cat ipfs/bigfile succeeds
ok 29 - cat ipfs/bigfile looks good
ok 30 # skip generate 100MB file using go-random (missing EXPENSIVE)
ok 31 # skip sha1 of the file looks ok (missing EXPENSIVE)
ok 32 # skip ipfs add bigfile succeeds (missing EXPENSIVE)
ok 33 # skip ipfs add bigfile output looks good (missing EXPENSIVE)
ok 34 # skip ipfs cat succeeds (missing EXPENSIVE)
ok 35 # skip ipfs cat output looks good (missing EXPENSIVE)
ok 36 # skip ipfs cat output hashed looks good (missing EXPENSIVE)
ok 37 # skip cat ipfs/bigfile succeeds (missing EXPENSIVE of FUSE,EXPENSIVE)
ok 38 # skip cat ipfs/bigfile looks good (missing EXPENSIVE of FUSE,EXPENSIVE)
ok 39 - ipfs add -w succeeds
ok 40 - ipfs add -w output looks good
ok 41 - 'ipfs daemon' is still running
ok 42 - 'ipfs daemon' can be killed
# failed 1 among 42 test(s)
1..42

Bisecting, it looks like it was introduced in: c88340b

cc @whyrusleeping @cryptix

@jbenet
Copy link
Member Author

jbenet commented Mar 2, 2015

  • TestBitswapWithoutRouting sometimes fails
--- FAIL: TestBitswapWithoutRouting (0.00 seconds)
    bitswap_wo_routing_test.go:29: test initialization error
�[0;37m14:46:58.193 �[35mCRITI �[0;34m  boguskey: �[0mTestBogusPrivateKey.Sign -- this better be a test! �[0;37m<autogenerated>:21�[0m
FAIL
FAIL    github.com/jbenet/go-ipfs/test/integration  21.656s

@whyrusleeping
Copy link
Member

@jbenet you should look at pull #838 into this.

@jbenet
Copy link
Member Author

jbenet commented Mar 2, 2015

@whyrusleeping thanks for ptr. merged #838

@jbenet
Copy link
Member Author

jbenet commented Mar 2, 2015

The recent failures in:

perhaps indicate that the dreadful 'ipfs daemon' is ready failures are not port related, as previously thought. (not certain, but likely -- the recent changes use a different port for each sharness run, and these ran in their own travis vm, which is unlikely to cause a port clash)

@jbenet
Copy link
Member Author

jbenet commented Mar 3, 2015

If anyone can get that problem (the dreadful 'ipfs daemon' is ready failures) solved, it would be awesome. I'm not having much luck figuring out why it's hanging.

Possible that changing the daemon to load the http servers before bootstrapping will make the problem go away. (though the weird thing is this hang happens after bootrstrap, after at least either the http gateway or API line has printed...)

@whyrusleeping's fix in c88340b broke reading fuse in osx.
i'm not sure why... anyway, i chose to revert back to
io.ReadFull, but use the min of req.Size and r.Size(), which
should not encounter the reading problem in linux that a77ea2f
fixed in the first place.

This commit also changes ipns, which had not been changed.
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.
ideally this port would be a randomly picked unused port.
for now we just pick a different port than t0110-gateway.
this is ugly. ideally would seed using date, but unclear
what a portable datetime is. date '+%s' doesnt work on osx.
jbenet added a commit that referenced this pull request Mar 4, 2015
@jbenet jbenet merged commit 32dd4db into master Mar 4, 2015
@jbenet jbenet deleted the tests-fix branch March 4, 2015 16:39
@jbenet
Copy link
Member Author

jbenet commented Mar 4, 2015

thanks @cryptix -- for fixing the worst

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants