João Oliveira b0f3a2d2ae
Add webrtc transport multidim interop (#100)
* update interop rust test lib to use tokio

to allow us add the WebRTC transport test (which is only available with
the tokio runtime)
Clean up the test and update Cargo.toml to 0.2.0 to avoid conflicting with the older tests, and allow us to import lib.rs
on the rust-libp2p repo and have the master tests there.

* simplify build_builder function

* replace deprecated ping keepalive

with KeepAlive Behaviour

* add WebRTC support for rust tests

* add webrtc support on interop generator.

* fix typo on generators.ts

webrtc instead of webtransport.

* update rust test plans to use enums instead.

* update rust tests enum to match the ones by generator.ts

* fix webrtc testcases to have proper security and muxer.

* review: address suggestions:

- undo generator changes, let's do that later on
- don't parse muxer and sec protocol where we don't need it

* ident generator.ts.
2023-01-18 11:56:09 +00:00
2020-11-09 10:22:16 +01:00
2020-04-22 16:25:28 +01:00
2020-04-22 16:25:28 +01:00

Testground test plans for libp2p

Interop Dashboard

Made by Protocol Labs Go version

This repository contains Testground test plans for libp2p components.

Roadmap

Our roadmap for test-plans can be found here: https://github.com/libp2p/test-plans/blob/master/ROADMAP.md

It represents current projects the test-plans maintainers are focused on and provides an estimation of completion targets. It is complementary to those of go-libp2p, rust-libp2p, js-libp2p, and the overarching libp2p project roadmap.

How to add a new version to ping/go

When a new version of libp2p is released, we want to make it permanent in the ping/go test folder.

  1. In the ping/_compositions/go.toml file,
    • copy the [master] section and turn it into a [[groups]] item
    • update the [master] section with the future version
  2. In the ping/go folder,
    • Add a new compatibility shim in compat/ if needed, or add your new selector to the latest shim (see compat/libp2p.v0.17.go for example).
    • Create the new mod and sum files (go.v0.21.mod for example). Assuming you're updating from v$A to v$B, a simple way to do this is to:
      • cp go.v$A.mod go.v$B.mod; cp go.v$A.sum go.v$B.sum
      • ln -s go.v$B.mod go.mod; ln -s go.v$B.sum go.sum (you may also use this for local development, these files are ignored by git)
      • update the go-libp2p version, go version, and update the code if needed.
      • then go get -tags v$B && go mod tidy
  3. Run the test on your machine
    • Do once, from the test-plans root: import the test-plans with testground plan import --from ./ --name libp2p
    • Run the test with testground run composition -f ping/_compositions/go-cross-versions.toml --wait

How to add a new version to ping/rust

When a new version of libp2p is released, we want to make it permanent in the ping/rust test folder.

  1. In the ping/_compositions/rust.toml file,
    • Copy the latest [[groups]] section and update it's Id and BinaryName accordingly.
  2. In the ping/rust folder,
    • Cargo.toml: Add the newly released version as a crates.io dependency.
    • Cargo.toml: Update the Next release dependency to the latest master SHA.
    • src/bin: Add a new binary with the next released version.
  3. Run the test on your machine
    • Do once, from the test-plans root: import the test-plans with testground plan import --from ./ --name libp2p
    • Run the test with testground run composition -f ping/_compositions/rust-cross-versions.toml --wait

License

Dual-licensed: MIT, Apache Software License v2, by way of the Permissive License Stack.

Description
Testground testplans for libp2p
Readme
Languages
TypeScript 60.2%
Go 14.7%
Makefile 10.9%
HCL 4.1%
Shell 2.5%
Other 7.6%