locked
Why does a test timeout when run in a list but not by it self? RRS feed

  • Question

  • Several of our tests timeout when run among others, but not when run by itself. If I attach the debugger on a test about to timeout, I'm always at the last curly brace of the tested function. A test that takes 1-3 minutes to execute on it's own times out.
    Petter Fryklund
    Wednesday, March 23, 2011 3:11 PM

Answers

  • Hi Anuj,

    Sorry for the delay. I could not find a VSEQT folder on my machine. (Well, I was not searching all the time ;-)

    One of my collegues found that we where using a smaller than recommended pageing file. We have increased the size to the recommended and just started to use the new size. It seems like it works.


    Petter Fryklund
    Friday, April 1, 2011 7:44 AM

All replies

  • Hi Petter,

    Can you look into the 'Tist Timeouts' section of your runconfig/testsettings

    Try unchecking the relevant checkboxes. Please refer http://msdn.microsoft.com/en-us/library/ms243175.aspx for more information.

    Thanks,

    Anuj

    Thursday, March 24, 2011 6:06 AM
  • Hi Anuj,

    I will have a look, but I don't think it will matter. It is a big difference between 1-3 minutes and 30, which is the default timeout. Maybe I wasn't very clear, but what I meant to say was that it appears that the testing has already been done when the test hangs. Maybe something is wrong with threading or reporting. We also notice that this is more likely to happen if more people are running tests.

    I just rerun five tests that timeout yesterday, they all finished in 15-30 seconds. Soon more of my collegues will arrive and test timeouts start again.

    Is there anything common between tests run on different machines? Maybe the only thing is the database? No TFS activity?

    Regards,
    Petter


    Petter Fryklund

    Thursday, March 24, 2011 6:51 AM
  • Hi All,

    I have no tried running the tests with my own database. I can still get the problem, even when running a single test. We have huge machines, so memory or processor should not be the problem.

    Regards,
    Petter


    Petter Fryklund
    Thursday, March 24, 2011 9:36 AM
  • Hi Petter,

    I would be worth to look for the intellitrace logs in %localappsettings%\VSEQT folder on the test controller.

    Thanks,

    Anuj

    Thursday, March 24, 2011 3:55 PM
  • Hi Anuj,

    Sorry for the delay. I could not find a VSEQT folder on my machine. (Well, I was not searching all the time ;-)

    One of my collegues found that we where using a smaller than recommended pageing file. We have increased the size to the recommended and just started to use the new size. It seems like it works.


    Petter Fryklund
    Friday, April 1, 2011 7:44 AM
  • I have run into this kind of thing a number of times - not timeouts specifically, but situatoins where the test succeeds alone but fails when run in conjunction with others.

    In my experience this has always been symptomatic of the fact that the test(s) that execute before the test that fails are putting the test environment into a state that breaks the problem test.  For example, if the TestCleanup method fails silently for one test, you may see a later test fail instead of the one whose cleanup failed.

    My approach to fixing this when it isn't obvious is to look at the order in which the tests execute and then incrementally add preceding tests - e.g., if my test list was A,B,C,D,E and D is the method that fails wen run together, I'd run a sequence of C,D and see if that fails - if not, I then run B,C,D, and so on.

    Evan

    Wednesday, April 6, 2011 3:17 AM
  • I'm having the same general problem, but in my case, there are over 300 tests before the one that is timing-out, so doing a binary search to locate the one that's at fault is somewhat time-consuming.

    However, is there a way to "order" the tests in a list? That way, I could at least move the one that's timing-out to the beginning of the list.

    DadCat

    Friday, December 30, 2011 3:05 PM