Ensure a test runs without other tests in parallel

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Ensure a test runs without other tests in parallel

Zeller, Arno

Hello,

 

while I am investigating a problem with a jtreg test that fails because the test machine is running out of native memory I hoped to find a tag that ensures the test will run with no other test running in parallel – even when I start the jtreg harness with -conc:<x>  and  x > 1.

There are a few test that start the VM with a big heap (4 or 8GB) heap and if these might run concurrent it will always lead to problems. There might be other test that use special resources that might be limited.

 

I looked at the tag specification (http://openjdk.java.net/jtreg/tag-spec.html) but did not find a tag for this.

What I found is the following keyword for TEST.properties files:

 

exclusiveAccess.dirs <directories>

Directories containing tests which should not be run concurrently at the same time as other tests. A harness that supports concurrent test execution should ensure that all tests in the specified directories are run when no other tests in the same directory is being run.

 

But as far as I understand this only ensures that test in the same directory are not run concurrently - still other test from a different directory could run concurrently and might compete for limited resources. Did I get this right?

 

Is there another possibility to specify that test should run alone?

 

Best regards,

Arno

               

Reply | Threaded
Open this post in threaded view
|

Re: Ensure a test runs without other tests in parallel

Jonathan Gibbons

Arno,

exclusiveAccess.dirs is what you are looking for. The text in the description should be improved to indicate that the lock applies to all tests in all the nominated directories.

For example, this would be a reasonable update to the spec:

- should ensure that all tests in the specified directories are run when no other tests in the same directory is being run.
+ should ensure that all tests in the specified directories are run when no other tests in any of the given directories are being run.

-- Jon

On 2/8/19 8:03 AM, Zeller, Arno wrote:

Hello,

 

while I am investigating a problem with a jtreg test that fails because the test machine is running out of native memory I hoped to find a tag that ensures the test will run with no other test running in parallel – even when I start the jtreg harness with -conc:<x>  and  x > 1.

There are a few test that start the VM with a big heap (4 or 8GB) heap and if these might run concurrent it will always lead to problems. There might be other test that use special resources that might be limited.

 

I looked at the tag specification (http://openjdk.java.net/jtreg/tag-spec.html) but did not find a tag for this.

What I found is the following keyword for TEST.properties files:

 

exclusiveAccess.dirs <directories>

Directories containing tests which should not be run concurrently at the same time as other tests. A harness that supports concurrent test execution should ensure that all tests in the specified directories are run when no other tests in the same directory is being run.

 

But as far as I understand this only ensures that test in the same directory are not run concurrently - still other test from a different directory could run concurrently and might compete for limited resources. Did I get this right?

 

Is there another possibility to specify that test should run alone?

 

Best regards,

Arno