java-ipfs-http-client icon indicating copy to clipboard operation
java-ipfs-http-client copied to clipboard

Tests run: 66, Failures: 0, Errors: 5, Skipped: 10 with Kubo 0.33.2 (but 4 of the 5 work with old 0.18.1)

Open vorburger opened this issue 9 months ago • 3 comments

With current Kubo ipfs version 0.33.2 running with https://github.com/ipfs-shipyard/java-ipfs-http-client/pull/236 options:

$ mvn test

(...)

Running io.ipfs.api.APITest





Tests run: 53, Failures: 0, Errors: 5, Skipped: 10, Time elapsed: 20.701 sec <<< FAILURE! - in io.ipfs.api.APITest
indirectPinTest(io.ipfs.api.APITest)  Time elapsed: 0.015 sec  <<< ERROR!
java.lang.RuntimeException:
IOException contacting IPFS daemon.
{"Message":"removed, use 'ipfs dag' or 'ipfs files' instead","Code":0,"Type":"error"}

Trailer: [X-Stream-Error]
        at io.ipfs.api.APITest.indirectPinTest(APITest.java:399)
Caused by: java.io.IOException: Server returned HTTP response code: 500 for URL: http://127.0.0.1:5001/api/v0/object/new?stream-channels=true
        at io.ipfs.api.APITest.indirectPinTest(APITest.java:399)

objectPatch(io.ipfs.api.APITest)  Time elapsed: 0.006 sec  <<< ERROR!
java.lang.RuntimeException:
IOException contacting IPFS daemon.
{"Message":"removed, use 'ipfs dag' or 'ipfs files' instead","Code":0,"Type":"error"}

Trailer: [X-Stream-Error]
        at io.ipfs.api.APITest.objectPatch(APITest.java:426)
Caused by: java.io.IOException: Server returned HTTP response code: 500 for URL: http://127.0.0.1:5001/api/v0/object/new?stream-channels=true
        at io.ipfs.api.APITest.objectPatch(APITest.java:426)

objectTest(io.ipfs.api.APITest)  Time elapsed: 0.004 sec  <<< ERROR!
java.lang.RuntimeException:
IOException contacting IPFS daemon.
{"Message":"removed, use 'ipfs dag' or 'ipfs files' instead","Code":0,"Type":"error"}

Trailer: [X-Stream-Error]
        at io.ipfs.api.APITest.objectTest(APITest.java:467)
Caused by: java.io.IOException: Server returned HTTP response code: 500 for URL: http://127.0.0.1:5001/api/v0/object/new?stream-channels=true
        at io.ipfs.api.APITest.objectTest(APITest.java:467)

bitswapTest(io.ipfs.api.APITest)  Time elapsed: 0.014 sec  <<< ERROR!
java.lang.IndexOutOfBoundsException: Index 0 out of bounds for length 0
        at io.ipfs.api.APITest.bitswapTest(APITest.java:859)

dnsTest(io.ipfs.api.APITest)  Time elapsed: 0.002 sec  <<< ERROR!
java.lang.RuntimeException:
IOException contacting IPFS daemon.
404 page not found

Trailer: null
        at io.ipfs.api.APITest.dnsTest(APITest.java:741)
Caused by: java.io.FileNotFoundException: http://127.0.0.1:5001/api/v0/dns?arg=ipfs.io&r=true
        at io.ipfs.api.APITest.dnsTest(APITest.java:741)

Running io.ipfs.api.AddTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 sec - in io.ipfs.api.AddTest
Running io.ipfs.api.RecursiveAddTest
ipfs version: 0.33.2
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.166 sec - in io.ipfs.api.RecursiveAddTest
Running io.ipfs.api.SimpleAddTest
Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.166 sec - in io.ipfs.api.SimpleAddTest
Running io.ipfs.api.VersionsTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in io.ipfs.api.VersionsTest

Results :

Tests in error:
  APITest.bitswapTest:859 » IndexOutOfBounds Index 0 out of bounds for length 0
  APITest.dnsTest:741 » Runtime IOException contacting IPFS daemon.
404 page not...
  APITest.indirectPinTest:399 » Runtime IOException contacting IPFS daemon.
{"Me...
  APITest.objectPatch:426 » Runtime IOException contacting IPFS daemon.
{"Messag...
  APITest.objectTest:467 » Runtime IOException contacting IPFS daemon.
{"Message...

Tests run: 66, Failures: 0, Errors: 5, Skipped: 10

@ianopolous does this ring any bell? (I have not looked into those failing tests, yet; will see if I can figure anything.)

vorburger avatar Feb 28 '25 18:02 vorburger

I'm curious if it works on CI. But https://github.com/ipfs-shipyard/java-ipfs-http-client/actions/workflows/ant.yml does not have any recent runs, only my (pending) #236. Maybe it would make sense to run it something like weekly? I've proposed #238 for that.

vorburger avatar Feb 28 '25 18:02 vorburger

At least 4 of the 5 are related to the ancient Kubo version v0.18.1 that the tests run against.

If I use docker-compose, then all except this work:

publish(io.ipfs.api.APITest)  Time elapsed: 60.094 sec  <<< ERROR!
java.lang.RuntimeException:
IOException contacting IPFS daemon.
Read timed out
Trailer: null
        at io.ipfs.api.APITest.publish(APITest.java:510)
Caused by: java.net.SocketTimeoutException: Read timed out
        at io.ipfs.api.APITest.publish(APITest.java:510)

Would a PR to update the Kubo version and fix tests that are failing against the latest version be welcome? #239 is the first.

vorburger avatar Feb 28 '25 18:02 vorburger

FTR: Re. #236: Adding --routing=dhtclient (with Kubo 0.33.2), like install-run-ipfs.sh, does not "fix" (make any pass) these tests.

vorburger avatar Feb 28 '25 18:02 vorburger