Skip to content
This repository has been archived by the owner on Aug 1, 2023. It is now read-only.

Adding more nodes to tests #106

Open
koivunej opened this issue Mar 3, 2020 · 0 comments
Open

Adding more nodes to tests #106

koivunej opened this issue Mar 3, 2020 · 0 comments

Comments

@koivunej
Copy link

koivunej commented Mar 3, 2020

Hello everyone! As we are now starting to work on rust implementation of a ipfs node/library per our grant and we want to begin by integrating some existing tests like js-interface-ipfs-core and interop (this repo). This will require some modifications so here I am asking for your existing ideas/discussions on how should the structure go, as I couldn't immediatedly find such discussions.

Having looked at the js-interface-ipfs-core it seems easier execute those tests, as they are mostly "spin up the tested ipfs and maybe accompanying go-ipfs to help", but in interop tests there are different kinds of tests. Some are structured like exchange-files.js where adding new node impls would require getting js-ipfsd-ctl to support spawn({ type: 'rust' }) but others such as cid-version-agnostic.js is built to support only the specific 4 nodes in question.

I prefer the look of exchange-files.js as a way of describing the tests between different nodes at a higher level, and it'd seem that for example cid-version-agnostic.js could be converted to similar structure testing all of the combinations:

  • "add v0, cat as v1" forall X
  • "add v1, cat as v0" forall X

Where X would be [[go0, go0], [js0, js0], [go0, go1], [js0, js1], [js0, go0], [go0, js0]]. This would need to be extended with [[rs0, rs0], [rs0, rs1], [go0, rs0], [rs0, go0]].

Would this approach sound reasonable, where applicable? I don't grasp yet all of the tests in this repo nor do we yet have a subset of interop tests we could theoretically pass in mind, but I'd assume once we have an idea of "extension path" we could start picking those out and issuing PR's against this repo for restructuring, and to then conditionally add rs to be tested.

EDIT: linked "we" and the grant.

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

No branches or pull requests

1 participant