Marco Munizaga c35de22070
Add fast multidimensional interop tests (#97)
* Add fast multidimensional interop tests

* Remove generated files

* Remove debug code around itnerfaces

* Revert changes to setup testground

* multidim-interop: update rust v050 test

for multidim-interop with redis

* Add depends on and enable rust version for testing

* Cleanup Rust test

* Have listener print multiaddr in go v024 test

* Remove EXPOSE in dockerfile

* Update multidim-interop/go/v0.24/main.go

Co-authored-by: João Oliveira <hello@jxs.pt>

* Update multidim-interop/go/v0.22/main.go

Co-authored-by: João Oliveira <hello@jxs.pt>

* Update multidim-interop/go/v0.23/main.go

Co-authored-by: João Oliveira <hello@jxs.pt>

* Go nits

* Cleanup Rust makefile

* add working ping test (js) or multidim-interop (#98)

* add working ping test (js) or multidim-interop

* Add JS-libp2p to interop tests

* ping libp2p-js (wo): resolve PR comments

* Add yamux js-libp2p test

Co-authored-by: Marco Munizaga <git@marcopolo.io>

* Fix Go err

* Ignore errors when shutting down

* Fix err

* Rename workflow

* Remove rust v0.49

* Bump up timeouts

Co-authored-by: João Oliveira <hello@jxs.pt>
Co-authored-by: Glen De Cauwsemaecker <contact@glendc.com>
2023-01-10 14:26:27 -08:00

42 lines
1.2 KiB
TypeScript

import { generateTable, load, markdownTable } from './src/lib'
// Read results.csv
export async function render() {
const runs = load("results.csv")
const regex = /(?<implA>.+) x (?<implB>.+) \((?<options>.*)\)/
const parsedRuns = runs.map(run => {
const match = run.name.match(regex)
if (!match || match.groups === undefined) {
throw new Error(`Run ID ${run.name} does not match the expected format`);
}
return {
...run,
implA: match.groups.implA,
implB: match.groups.implB,
options: match.groups.options.split(",").map(option => option.replace("_", " ").trim()),
}
})
// Group by options
const runsByOptions = parsedRuns.reduce((acc: { [key: string]: any }, run) => {
acc[JSON.stringify(run.options)] = [...acc[JSON.stringify(run.options)] || [], run]
return acc
}, {})
let outMd = ""
for (const runGroup of Object.values(runsByOptions)) {
outMd += `## Using: ${runGroup[0].options.join(", ")}\n`
const table = generateTable(runGroup)
outMd += markdownTable(table)
outMd += "\n\n"
}
console.log(outMd)
}
render()