Your browser was unable to load all of the resources. They may have been blocked by your firewall, proxy or browser configuration.
Press Ctrl+F5 or Ctrl+Shift+R to have your browser try again.

Skip step if previous had timeout #4275

MFalkner ·

I use Quickbuild to run some module tests on our software. This is done using a repeat loop within one step.
If one test fails, the test shall continue, however, if the test times out, I would like to skip all other tests.
I tried to set up the following condition:
Execute condition: If all specified criterial are satisfied:

  1. Execute as long as the build is not cancelled
  2. If specified script evaluates to true: !build.isTimeout()

However, this does not work as, I assume, 'isTimeout' is based on the build and not previous (loop) step.

Is there a way to check to do this?

  • replies 1
  • views 68
  • stars 0
robinshen ADMIN ·

The build.isTimeout() will only be set after build is finished. Please use below script for the second criteria:

groovy:
if (step.parent != null) {
	boolean isAnyChildTimedout = false;
	for (child in step.parent.children) {
		if (child.timeout && !child.getPath().equals(step.getPath())) {
			isAnyChildTimedout = true;
			break;
		}
	}
	return !isAnyChildTimedout;  
} else {
  return false;
}