Seeded random order of the vars in a namespace, for Kaocha's randomize
plugin. Kaocha shuffles the whole test plan from one seed in one process
(kaocha.plugin.randomize/rng-sort). volley's workers each run their own
namespaces, so each namespace's order comes from the run seed and the
namespace name alone, and one seed reproduces every namespace's order
whichever worker runs it.
Portable: the workers load it on babashka and on the JVM, so the mixing
uses only hash of strings and unchecked long arithmetic, which both
compute the same way.
Seeded random order of the vars in a namespace, for Kaocha's randomize plugin. Kaocha shuffles the whole test plan from one seed in one process (`kaocha.plugin.randomize/rng-sort`). volley's workers each run their own namespaces, so each namespace's order comes from the run seed and the namespace name alone, and one seed reproduces every namespace's order whichever worker runs it. Portable: the workers load it on babashka and on the JVM, so the mixing uses only `hash` of strings and unchecked long arithmetic, which both compute the same way.
(shuffle-names seed ns-sym var-syms)var-syms of namespace ns-sym in the random order run seed seed
picks. The same seed, namespace and names give the same order whatever
order the names come in.
`var-syms` of namespace `ns-sym` in the random order run seed `seed` picks. The same seed, namespace and names give the same order whatever order the names come in.
(sort-key seed ns-sym var-sym)The position key of var var-sym of namespace ns-sym under run seed
seed. It depends on nothing else, so adding or filtering out a var
leaves the order of the others alone.
The position key of var `var-sym` of namespace `ns-sym` under run seed `seed`. It depends on nothing else, so adding or filtering out a var leaves the order of the others alone.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |