This repository was archived by the owner on Feb 12, 2024. It is now read-only.
This repository was archived by the owner on Feb 12, 2024. It is now read-only.
Improve overall state of js-ipfs tests #2276
Closed
Description
Goals:
- Improve developer productivity
- Reduce the complexity of adding new tests for core and community devs
- Increase overall coverage and quality of the tests
Tasks:
- P0
ipfsd-ctl
needs to be cleaned up Fix non disposable daemon init/start and attach to running daemons js-ipfsd-ctl#308 - P0
ipfsd-ctl
Complete Rewrite more info here feat: new ctl js-ipfsd-ctl#395 (comment)- feat: add ability to use existing config during init kubo#6489
- feat: allow daemon to init and start in a single cmd #2428
-
fix: pass config to init js-ipfsd-ctl#303 -
feat: init start with one cmd js-ipfsd-ctl#369 - feat: new ctl js-ipfsd-ctl#395 (complete rewrite)
-
ipfsd-ctl 1.0.0
released- Highlights:
- All issues and prs closed
- Much cleaner codebase to work on
- Highlights:
- P0 simpler, faster and async/await for setup for tests using the new ctl
- feat: add support new ctl ipfs-inactive/interface-js-ipfs-core#541
- fix: use new ipfsd-ctl setup ipfs-inactive/js-ipfs-http-client#1127
- feat: support new ctl api #2529
- Many tests were skipped in the browser and now almost all are running and passing
-
interop -
ipfs-desktop
- P0 All interface-core tests in js-ipfs run and pass in the browser
- P0 improve errors handling [WIP] feat: add errors with codes and utils #1746
- 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
- improve CLI reliability to avoid zombie processes fix: move mfs cmds and safer exit #1981
- CLI tests needs to test cli logic and not core logic
- P1 Deduplication of tests from core tests and interface-core tests
- Core API tests are all in the
interface-core
repo dedupe tests ipfs-inactive/interface-js-ipfs-core#573 -
js-ipfs
repo only has tests for non Core API logic dedupe tests #2669 -
js-ipfs-http-client
repo only has tests for non Core API logic dedupe tests ipfs-inactive/js-ipfs-http-client#1200
- Core API tests are all in the
- More generic PRs
- Reduce bundle size in bitswap fix: reduce size js-ipfs-bitswap#203
- 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 interface-core pubsub subscribe fails in firefox #2662
- 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 Support relay and hop as "config" options like Go #2667
future work
- P1 Dependencies between tests needs to be removed
- js-ipfs cli
- P1 Environmental skip of tests need to be self applied by each tests (relates to ipfs-utils)
- ipfsd-ctl
- 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)
-
P4 https://github.com/ipfs/interop -
P4 Travis CI and Windows is still a problem at least for js-ipfs repo