You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi! How to use shuttle to test packages based on Rayon? My understanding is that shuttle has no direct support for Rayon primitives, so we need to change source code of Rayon. Is it true? Or is there any existing code base of Rayon adapted for shuttle?
Also, it will be great to add direct Rayon support.
The text was updated successfully, but these errors were encountered:
Hi, your understanding is correct, Shuttle has no direct support for Rayon primitives. There is as far as I am aware no existing code base which has a model of Rayon / no fork of Rayon adapted for Shuttle. If you want to exercise code using Rayon under Shuttle you would need to either extend Shuttle to offer the APIs you need, or have a fork / model of Rayon which uses Shuttle's primitives. This would mean swapping out imports of things like Mutexes, Atomics, Rand etc. to use the Shuttle equivalent version.
A few general tips if you want to do this:
See if there is some common primitive(s) you can add, make that "Shuttle-aware", and then model things as usages of that /those primitive(s)
Make a wrapper crate around Rayon which conditionally enables either the regular Rayon or the Shuttle-aware version, depending on some flag (ie #[cfg(feature = "shuttle")]).
Only model the subset of Rayon you are actually using.
Hi! How to use shuttle to test packages based on Rayon? My understanding is that shuttle has no direct support for Rayon primitives, so we need to change source code of Rayon. Is it true? Or is there any existing code base of Rayon adapted for shuttle?
Also, it will be great to add direct Rayon support.
The text was updated successfully, but these errors were encountered: