On Mar 10, 2011, at 11:58 AM, Aldy Hernandez wrote: > The following is a test harness for testing atomicity problems and data races > in multi-threaded environments.
The idea of developing a methodology for testing corner cases I think is interesting and neat. volatile would be another area that one could use this sort of testing for, if they want. As time goes on, I suspect we'll have an ever increasing need to handle multicore issues, so, I think expanding in this area is worthwhile. There is a speed hit and the requirement to have a target (or simulator) for testing. If one just checks generated assembly, one avoids needing a target, and avoids the speed hit, but at the cost of having to come up with assembles to match for the target, which is annoying. I can imagine validating sequences with this sort of test suite and then for future testing, checking the cache for a sequence that is known to be ok, to speed testing. I'll just note that this sort of speed hack is orthogonal and could be used for a large number of execute test cases, not just this class of testing.