提交 9a95fe17 编写于 作者: I igerasim

8157896: TestDSAGenParameterSpec.java test fails with timeout

Reviewed-by: xuelei
上级 8dcf7e33
...@@ -31,19 +31,20 @@ import java.security.NoSuchProviderException; ...@@ -31,19 +31,20 @@ import java.security.NoSuchProviderException;
import java.security.spec.DSAGenParameterSpec; import java.security.spec.DSAGenParameterSpec;
import java.security.spec.DSAParameterSpec; import java.security.spec.DSAParameterSpec;
import java.security.spec.InvalidParameterSpecException; import java.security.spec.InvalidParameterSpecException;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/* /*
* @test * @test
* @bug 8075286 * @bug 8075286
* @summary Verify that DSAGenParameterSpec can and can only be used to generate * @summary Verify that DSAGenParameterSpec can and can only be used to generate
* DSA within some certain range of key sizes as described in the class * DSA within some certain range of key sizes as described in the class
* specification (L, N) as (1024, 160), (2048, 224), (2048, 256) and * specification (L, N) as (1024, 160), (2048, 224) and (2048, 256)
* (3072, 256) should be OK for DSAGenParameterSpec. * should be OK for DSAGenParameterSpec.
* @run main TestDSAGenParameterSpec 2048,256,true 2048,224,true 1024,160,true 4096,256 3072,224 2048,160 1024,224 512,160 * @run main TestDSAGenParameterSpec 512 160
* @run main TestDSAGenParameterSpec 3072,256,true * @run main TestDSAGenParameterSpec 1024 160 true
* @run main TestDSAGenParameterSpec 1024 224
* @run main TestDSAGenParameterSpec 2048 160
* @run main/timeout=300 TestDSAGenParameterSpec 2048 224 true
* @run main/timeout=300 TestDSAGenParameterSpec 2048 256 true
*/ */
public class TestDSAGenParameterSpec { public class TestDSAGenParameterSpec {
...@@ -56,8 +57,8 @@ public class TestDSAGenParameterSpec { ...@@ -56,8 +57,8 @@ public class TestDSAGenParameterSpec {
System.out.printf("Test case: primePLen=%d, " + "subprimeQLen=%d%n", System.out.printf("Test case: primePLen=%d, " + "subprimeQLen=%d%n",
dataTuple.primePLen, dataTuple.subprimeQLen); dataTuple.primePLen, dataTuple.subprimeQLen);
AlgorithmParameterGenerator apg = AlgorithmParameterGenerator apg
AlgorithmParameterGenerator.getInstance(ALGORITHM_NAME, = AlgorithmParameterGenerator.getInstance(ALGORITHM_NAME,
PROVIDER_NAME); PROVIDER_NAME);
DSAGenParameterSpec genParamSpec = createGenParameterSpec(dataTuple); DSAGenParameterSpec genParamSpec = createGenParameterSpec(dataTuple);
...@@ -79,8 +80,8 @@ public class TestDSAGenParameterSpec { ...@@ -79,8 +80,8 @@ public class TestDSAGenParameterSpec {
private static void checkParam(AlgorithmParameters param, private static void checkParam(AlgorithmParameters param,
DSAGenParameterSpec genParam) throws InvalidParameterSpecException, DSAGenParameterSpec genParam) throws InvalidParameterSpecException,
NoSuchAlgorithmException, NoSuchProviderException, NoSuchAlgorithmException, NoSuchProviderException,
InvalidAlgorithmParameterException { InvalidAlgorithmParameterException {
String algorithm = param.getAlgorithm(); String algorithm = param.getAlgorithm();
if (!algorithm.equalsIgnoreCase(ALGORITHM_NAME)) { if (!algorithm.equalsIgnoreCase(ALGORITHM_NAME)) {
throw new RuntimeException( throw new RuntimeException(
...@@ -138,21 +139,25 @@ public class TestDSAGenParameterSpec { ...@@ -138,21 +139,25 @@ public class TestDSAGenParameterSpec {
} }
public static void main(String[] args) throws Exception { public static void main(String[] args) throws Exception {
List<DataTuple> dataTuples = Arrays.stream(args) if (args == null || args.length < 2) {
.map(arg -> arg.split(",")).map(params -> { throw new RuntimeException("Invalid number of arguments to generate"
int primePLen = Integer.valueOf(params[0]); + " DSA parameter.");
int subprimeQLen = Integer.valueOf(params[1]);
boolean isDSASpecSupported = false;
if (params.length == 3) {
isDSASpecSupported = Boolean.valueOf(params[2]);
}
return new DataTuple(primePLen, subprimeQLen,
isDSASpecSupported);
}).collect(Collectors.toList());
for (DataTuple dataTuple : dataTuples) {
testDSAGenParameterSpec(dataTuple);
} }
DataTuple dataTuple = null;
switch (args.length) {
case 3:
dataTuple = new DataTuple(Integer.valueOf(args[0]),
Integer.valueOf(args[1]), Boolean.valueOf(args[2]));
break;
case 2:
dataTuple = new DataTuple(Integer.valueOf(args[0]),
Integer.valueOf(args[1]), false);
break;
default:
throw new RuntimeException("Unsupported arguments found.");
}
testDSAGenParameterSpec(dataTuple);
} }
private static class DataTuple { private static class DataTuple {
...@@ -169,4 +174,3 @@ public class TestDSAGenParameterSpec { ...@@ -169,4 +174,3 @@ public class TestDSAGenParameterSpec {
} }
} }
} }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册