Goals: 1. Improve developer productivity 2. Reduce the complexity of adding new tests for core and community devs 3. Increase overall coverage and quality of the tests Tasks: - [x] P0 `ipfsd-ctl` needs to be cleaned up https://github.com/ipfs/js-ipfsd-ctl/pull/308 - [x] P0 `ipfsd-ctl` **Complete Rewrite** more info here https://github.com/ipfs/js-ipfsd-ctl/pull/395#issue-327228792 - [x] https://github.com/ipfs/go-ipfs/pull/6489 - [x] https://github.com/ipfs/js-ipfs/pull/2428 - [x] ~~https://github.com/ipfs/js-ipfsd-ctl/pull/303~~ - [x] ~~https://github.com/ipfs/js-ipfsd-ctl/pull/369~~ - [x] https://github.com/ipfs/js-ipfsd-ctl/pull/395 (complete rewrite) - [x] `ipfsd-ctl 1.0.0` released - Highlights: - All issues and prs closed - Much cleaner codebase to work on - [x] P0 simpler, faster and async/await for setup for tests using the new ctl - [x] https://github.com/ipfs/interface-js-ipfs-core/pull/541 - [x] https://github.com/ipfs/js-ipfs-http-client/pull/1127 - [x] https://github.com/ipfs/js-ipfs/pull/2529 - Many tests were skipped in the browser and now **almost all** are running and passing - [ ] ~~interop~~ - [ ] ~~ipfs-desktop~~ - [x] P0 All interface-core tests in js-ipfs run and pass in the browser - [ ] P0 improve errors handling https://github.com/ipfs/js-ipfs/pull/1746 - [ ] https://github.com/ipfs/js-ipfs-repo/pull/203#issuecomment-520413184 - [ ] P0 js-ipfs tests need some love - [ ] CLI tests needs to test cli logic and not core logic - [ ] cli needs to allow dependency injection to reduce mocks and spy (plus weird hacks to the node js require system) - [ ] internal yargs handling of promises needs to be rewritten - [x] improve CLI reliability to avoid zombie processes https://github.com/ipfs/js-ipfs/pull/1981 - [ ] P1 Deduplication of tests from core tests and interface-core tests - [ ] Core API tests are all in the `interface-core` repo https://github.com/ipfs/interface-js-ipfs-core/pull/573 - [ ] `js-ipfs` repo only has tests for non Core API logic https://github.com/ipfs/js-ipfs/pull/2669 - [ ] `js-ipfs-http-client` repo only has tests for non Core API logic https://github.com/ipfs/js-ipfs-http-client/pull/1200 - More generic PRs - [x] Reduce bundle size in bitswap https://github.com/ipfs/js-ipfs-bitswap/pull/203 - [x] Release ipfs-utils 0.5.0 and backport unixfs 1.5 changes to 0.4.1 ### Issues discovered - interface-core pubsub subscribe fails in firefox https://github.com/ipfs/js-ipfs/issues/2662 - [ ] https://github.com/ipfs/interface-js-ipfs-core/pull/571 - Make sure we have interop with differents types of secondary nodes https://github.com/ipfs/interface-js-ipfs-core/issues/570 - Support relay and hop as "config" options like Go https://github.com/ipfs/js-ipfs/issues/2667 --- #### future work - [ ] P1 Dependencies between tests needs to be removed - [x] js-ipfs cli - [ ] P1 Environmental skip of tests need to be self applied by each tests (relates to ipfs-utils) - [x] ipfsd-ctl - [x] interface-core - [ ] js-ipfs - [ ] http-client - [ ] P2 `aegir test -t node` needs to be reworked - [ ] P3 HTTP API tests need to have coverage instrumentation (relates to ipfsd-ctl) - [ ] P4 Browser tests need to build coverage output - [ ] P4 Test isolation needs to be analysed (daemon spawns between tests) - [x] ~~P4 [https://github.com/ipfs/interop](https://github.com/ipfs/interop)~~ - [x] ~~P4 Travis CI and Windows is still a problem at least for js-ipfs repo~~
Goals:
Tasks:
ipfsd-ctlneeds to be cleaned up Fix non disposable daemon init/start and attach to running daemons js-ipfsd-ctl#308ipfsd-ctlComplete Rewrite more info here feat: new ctl js-ipfsd-ctl#395 (comment)fix: pass config to init js-ipfsd-ctl#303feat: init start with one cmd js-ipfsd-ctl#369ipfsd-ctl 1.0.0releasedinteropipfs-desktopinterface-corerepo dedupe tests ipfs-inactive/interface-js-ipfs-core#573js-ipfsrepo only has tests for non Core API logic dedupe tests #2669js-ipfs-http-clientrepo only has tests for non Core API logic dedupe tests ipfs-inactive/js-ipfs-http-client#1200Issues discovered
future work
aegir test -t nodeneeds to be reworkedP4 https://github.com/ipfs/interopP4 Travis CI and Windows is still a problem at least for js-ipfs repo