Forum Discussion
tdrury
11 years agoContributor
Sometimes there are reasons for doing non-standard things. It would have been more helpful to try to address my question.
I connected a debugger to soapUI and walked through the code. For others' benefit (and possibly my future self), here is the answer.
First, the test case that was being run as a load test effectively was doing this:
1. start some work
2. complete some work
3. if work is not done, go to 1
What a call to fail() does is set all the other threads to CANCELLED status. This means when the thread finishes running the test case, it will stop. But in my poorly formed test above, the thread could never finish the test case because the "work" would never be done because the failed thread was terminated.
While I'll admit the test is poorly written, I think soapUI ought to have a better mechanism to kill a load test. It's just not acceptable to hang the application.
I connected a debugger to soapUI and walked through the code. For others' benefit (and possibly my future self), here is the answer.
First, the test case that was being run as a load test effectively was doing this:
1. start some work
2. complete some work
3. if work is not done, go to 1
What a call to fail() does is set all the other threads to CANCELLED status. This means when the thread finishes running the test case, it will stop. But in my poorly formed test above, the thread could never finish the test case because the "work" would never be done because the failed thread was terminated.
While I'll admit the test is poorly written, I think soapUI ought to have a better mechanism to kill a load test. It's just not acceptable to hang the application.
Related Content
- 5 years agovpetrou
- 10 years agoRyan_Moran
- 9 years agojstrauss64