-
Notifications
You must be signed in to change notification settings - Fork 15
test: Pin API interop #19
Conversation
Everything is ✔️ with the current pin work on I am working on testing with the current master of go-ipfs but am working through build issues :). @dryajov jenkins CI is failing on some pubsub ascii tests on linux/windows and also on the exchange-files tests on windows. Are any of those new? Can I do something to help there? |
Confirming that these tests pass with the current master of go-ipfs and the pin-api branch of js-ipfs. |
This is a rough draft of a suite of tests to verify that the go and js ipfs implementations behave the same when adding/removing pins to the datastore. I've found that they produce essentially the same pinsets. There are a few secondary differences I've noticed such as: fresh go repos include the readme files as pinned while the js impl does not. Draft #2 coming up! Lots of code to dedupe
Only failing tests are related to: #23 Note: This currently uses |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM and the tests pass against js-ipfs master!
// tests that js' pin.flush and go's pin.load are compatible | ||
it.skip('js -> go', function () { | ||
// skipped because go can not be spawned on a js repo due to changes in | ||
// the DataStore config [link] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd like to understand this better...can [link]
be a real boy?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LOL?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
go-ipfs now has all sorts of DataStore mumbo jumbo because of their badger datastore and because we don't create it nor use it go-ipfs complains saying that our repo config is not good.
We can add the datastore mumbo jumbo, I just got tired of playing catch with go-ipfs changing repo config all the time (5x ++) and not updating the spec nor telling anyone. That said, yes, interop + specs are awesome and we should strive to have them.
package.json
Outdated
"hat": "0.0.3", | ||
"ipfs": "~0.29.0", | ||
"ipfs": "github:ipfs/js-ipfs", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
N.B. Needs to be updated after 0.30 release
js-ipfs is close to finishing work on the pin command: ipfs/js-ipfs#1045.
This suite of tests should give us some confidence that the go and js implementations are compatible and that, to the extent that go's pins are, js-ipfs' are correct.
Open for review 😃