Interoperability Tests for libp2p
This repository holds interop tests for testing compatibility between different libp2p implementations.
Create a js file that configures the different types of daemon:
import { interopTests } from '@libp2p/interop'
import type { Daemon, DaemonFactory } from '@libp2p/interop'
async function createGoPeer (options: SpawnOptions): Promise<Daemon> {
// your implementation here
}
async function createJsPeer (options: SpawnOptions): Promise<Daemon> {
// your implementation here
}
async function main () {
const factory: DaemonFactory = {
async spawn (options: SpawnOptions) {
if (options.type === 'go') {
return createGoPeer(options)
}
return createJsPeer(options)
}
}
interopTests(factory)
}
main().catch(err => {
console.error(err)
process.exit(1)
})
For an example, see the js-libp2p interop test runner.
$ npm i @libp2p/interop
Licensed under either of
- Apache 2.0, (LICENSE-APACHE / http://www.apache.org/licenses/LICENSE-2.0)
- MIT (LICENSE-MIT / http://opensource.org/licenses/MIT)
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.