elm-test-rs
pubgrub
elm-test-rs | pubgrub | |
---|---|---|
5 | 6 | |
74 | 316 | |
- | 5.4% | |
1.4 | 8.2 | |
7 months ago | 7 days ago | |
Rust | Rust | |
BSD 3-clause "New" or "Revised" License | Mozilla Public License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
elm-test-rs
-
elm-test and elm-test-rs
So I'm super interested in knowing more about your setup that makes it so much faster for elm-test than elm-test-rs. Would you mind open an issue in https://github.com/mpizenberg/elm-test-rs ?
-
Setting up an Elm project in 2022
To actually run the tests, however, there are currently two options. The first, as noted above, is node-test-runner, which is available from npm at elm-test. This utility will run the tests as defined in your Elm code, and return the results. There is a second option, elm-test-rs, which is written in Rust instead of Node. It has a handful of features that node-test-runner does not have, as well as some downsides (see the Github README for details), but in general both tools work very well for testing Elm code.
- Version 1.2 of elm-test-rs released (alternative to elm-test) with native ARM and Deno support
- Announcing elm-test-rs 1.0.0, a new tests runner for the Elm language, built in Rust
-
Announcing elm-test-rs 1.0.0, a fast and portable executable to run your Elm tests!
More info in the readme at https://github.com/mpizenberg/elm-test-rs
pubgrub
-
The magic of dependency resolution
I initially spend quite some time investigating PubGrub for conda (using the awesome rust implementation) but gave up after some time. The biggest issue was that the primitive used in the pubgrub algorithm is the concept of a range and the mathematical operations you can apply to it. This makes the algorithm very good at reasoning about whether or not a particular spec is worth considering. However, it requires that you can express a set of versions as a continuous range. This is often the case when you talk about things like semver, but in conda there are many more factors to consider, for instance, a spec (matchspec in condas case) might, besides referring to a version also refer to a build string in the form of globs ("*cuda") or build numbers, different platforms, features, hashes and you can even use regular expressions in there. I have not been able to figure out a way to map conda matchspecs into a range primitive that works for pubgrub.
-
Compiling Rust is NP-hard
Note that the type system is turing complete, so NP-Hard is not so bad. :-) Also if you are interested in working on a useful NP-Hard problem in rust, we would love help with the PubGrub project!
-
Announcing version 0.2.1 of pubgrub, a dependency solver.
Thanks! it's still a bit fuzzy for me but I've added an issue for this: https://github.com/pubgrub-rs/pubgrub/issues/101 and when we have the time we'll try to implement it!
-
Announcing elm-test-rs 1.0.0, a new tests runner for the Elm language, built in Rust
I am pleased to announce elm-test-rs 1.0.0, a tests runner for the Elm language, like elm-test, mostly built in Rust. This has been a long road and it also included the implementation of the pubgrub dependency solver in Rust to re-conciliate normal and tests dependencies.
-
Criterion.rs v0.3.4 And Iai 0.1.0
If a major pro of Iai is that it can be run in CI, then a guide to setting that up would be great! I would love to use pubgrubs as a guinea pig, if that helps.
What are some alternatives?
node-test-runner - Runs elm-test suites from Node.js. Get it with npm install -g elm-test
stabilizer - Stabilizer: Rigorous Performance Evaluation
vite-elm-template - A default template for building Elm applications using Vite.
elm-solve-deps - A dependency solver for the elm ecosystem
elm-review - Analyzes Elm projects, to help find mistakes before your users find them.
rattler - Rust crates to work with the Conda ecosystem.
vite-plugin-elm - A plugin for Vite enables you to compile an Elm application/document/element
test - Measuring Massive Multitask Language Understanding | ICLR 2021
editor-plugins - List of editor plugins for Elm.
test - A library for writing unit tests in Dart.
test-elm-test-runners
test - Write unit and fuzz tests for Elm code.