jonhoo / left-right

A lock-free, read-optimized, concurrency primitive.
Apache License 2.0
1.95k stars 94 forks source link

Test with loom #17

Open jonhoo opened 5 years ago

jonhoo commented 5 years ago

@carllerche recently published loom which does correctness checking for concurrent algorithms. It'd be neat to try to get that working for evmap's tests!

jonhoo commented 5 years ago

cc @novacrazy

aDotInTheVoid commented 4 years ago

I've started work on this here

aDotInTheVoid commented 4 years ago

Currently, this is blocked on loom only supporting Aquire fences.

jonhoo commented 4 years ago

Hmm, my guess here is that you can just test with Acquire fences, and it should be fine. Or at least you should be able to make progress. You can see what I did to deal with this in crossbeam: https://github.com/crossbeam-rs/crossbeam/blob/03e04ba4426e47f6b76d9e9da551c81157f9cbb0/crossbeam-epoch/src/lib.rs#L81-L92

jonhoo commented 4 years ago

@aDotInTheVoid Did you have a change to try out using a stronger fence for testing?

jonhoo commented 3 years ago

Now that evmap is split up into left-right and evmap, it should be easier to at least get loom testing for left-right itself!