Cannot wait to start playing with Typemock Racer. Is released version going to be free?
Very cool, and addressing an important problem. Kudos! I have a few questions, however:
"To reproduce this result..." - you mean that by just running the test again, it won't be reproduced?
It seems like ThreadTest simulates execution of different blocks (delimited by lock boundaries) from different threads in every possible order, until it detects a deadlock. If this assumption is correct, then:
1. Does the SpecificScenario attribute tell ThreadTest to try that particular order first?
2. Doesn't the number of permutations grow exponentially with the number of locks or threads? How does TypeMock Racer perform with real codebases?
1. you are correct. it will start with the failing scenario first, which is good for debugging purposes.
2.The number of permutations does grow almost exponentially at some cases. there are various heuristics that are taken but tests with many threads and many locks will almost always perform slower that simpler ones. since this is an integration testing framework, tests may take longer. I will show some more complex examples later on.