mirror of
https://github.com/status-im/libp2p-test-plans.git
synced 2025-01-11 23:34:21 +00:00
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.
Testground test plans for libp2p
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.
- 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
- copy the
- In the
ping/go
folder,- Add a new compatibility shim in
compat/
if needed, or add your new selector to the latest shim (seecompat/libp2p.v0.17.go
for example). - Create the new mod and sum files (
go.v0.21.mod
for example). Assuming you're updating fromv$A
tov$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
- Add a new compatibility shim in
- 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
- Do once, from the test-plans root: import the test-plans with
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.
- In the
ping/_compositions/rust.toml
file,- Copy the latest
[[groups]]
section and update it'sId
andBinaryName
accordingly.
- Copy the latest
- In the
ping/rust
folder,Cargo.toml
: Add the newly released version as a crates.io dependency.Cargo.toml
: Update theNext release
dependency to the latestmaster
SHA.src/bin
: Add a new binary with the next released version.
- 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
- Do once, from the test-plans root: import the test-plans with
License
Dual-licensed: MIT, Apache Software License v2, by way of the Permissive License Stack.
Description
Languages
TypeScript
60.2%
Go
14.7%
Makefile
10.9%
HCL
4.1%
Shell
2.5%
Other
7.6%