tsenart / trunks

Vegeta's almighty scion in the making, Trunks brings a decade of load testing power to an entirely new tool written in Rust 🦀. It's over 90,000!
Apache License 2.0
19 stars 0 forks source link

Tests as code #2

Open kazimir-malevich opened 1 year ago

kazimir-malevich commented 1 year ago

We want tests as code. There are too many URL bashers and load test tools using XML or YAML to write scripts. We want tests that are clean and execute a sequence of actions. Lua is making a comeback and there will be a Rust binding. There are also a number of dynamic languages that bind to Rust. TODO: Find the list link.

kazimir-malevich commented 1 year ago

I pulled these two links from Reddit which are languages that bind to Rust:

https://github.com/rust-unofficial/awesome-rust#scripting

https://github.com/alilleybrinker/langs-in-rust#list-of-languages

We need an embedded language that is easy for developers and testers . Fighting with the borrow checker when writing load tests is a no go and I know you like your system languages, but others don't.

kazimir-malevich commented 1 year ago

This looks like a widely used dynamic language that can be used in Rust. A mix between Rust and JavaScript. Actively used and maintained. https://github.com/rhaiscript/rhai

Or how about this functional beauty? https://github.com/gluon-lang/gluon

tsenart commented 1 year ago

If the aim is to meet people where they are, then the least common denominator is likely TypeScript / JavaScript. Seems like it would be doable with Deno: https://deno.land/manual@v1.26.2/embedding_deno

tsenart commented 1 year ago

Have you used https://k6.io/? What are your thoughts?

kazimir-malevich commented 1 year ago

I was involved in the early stages of k6. It is badly designed. IMHO JavaScript has hit saturation point. Elixir is beautiful and I'd be looking for something like that embedded in Rust.