The change looks good, thanks for the FYI. --Sean
On 01/14/2014 11:59 AM, Joe Darcy wrote:
Hello, FYI, over on core-libs http://mail.openjdk.java.net/pipermail/core-libs-dev/2014-January/024375.html there is a review discussion of removing old -source and -target settings from regression tests ahead of dropping javac support for source/target 1.5 and earlier later in JDK 9. The changes include the following modifications to two cert tests: --- old/test/java/security/cert/PKIXBuilderParameters/InvalidParameters.java 2014-01-13 16:54:10.000000000 -0800 +++ new/test/java/security/cert/PKIXBuilderParameters/InvalidParameters.java 2014-01-13 16:54:10.000000000 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2004, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -21,16 +21,17 @@ * questions. */ -/** +/* * @test * @test 4422738 - * @compile -source 1.4 InvalidParameters.java + * @compile InvalidParameters.java * @run main InvalidParameters * @summary Make sure PKIXBuilderParameters(Set) detects invalid * parameters and throws correct exceptions */ import java.security.InvalidAlgorithmParameterException; import java.security.cert.PKIXBuilderParameters; +import java.security.cert.TrustAnchor; import java.util.Collections; import java.util.Set; @@ -53,8 +54,10 @@ // make sure Set of invalid objects throws ClassCastException try { + @SuppressWarnings("unchecked") // Knowingly do something bad + Set<TrustAnchor> badSet = (Set<TrustAnchor>) (Set) Collections.singleton(new String()); PKIXBuilderParameters p = - new PKIXBuilderParameters(Collections.singleton(new String()), null); + new PKIXBuilderParameters(badSet, null); throw new Exception("should have thrown ClassCastException"); } catch (ClassCastException cce) { } } --- old/test/java/security/cert/PKIXParameters/InvalidParameters.java 2014-01-13 16:54:11.000000000 -0800 +++ new/test/java/security/cert/PKIXParameters/InvalidParameters.java 2014-01-13 16:54:10.000000000 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2004, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -24,7 +24,7 @@ /** * @test * @test 4422738 - * @compile -source 1.4 InvalidParameters.java + * @compile InvalidParameters.java * @run main InvalidParameters * @summary Make sure PKIXParameters(Set) and setTrustAnchors() detects invalid * parameters and throws correct exceptions @@ -64,12 +64,14 @@ } catch (NullPointerException npe) { } // make sure Set of invalid objects throws ClassCastException + @SuppressWarnings("unchecked") // Knowingly do something bad + Set<TrustAnchor> badSet = (Set<TrustAnchor>) (Set) Collections.singleton(new String()); try { - PKIXParameters p = new PKIXParameters(Collections.singleton(new String())); + PKIXParameters p = new PKIXParameters(badSet); throw new Exception("should have thrown ClassCastException"); } catch (ClassCastException cce) { } try { - params.setTrustAnchors(Collections.singleton(new String())); + params.setTrustAnchors(badSet); throw new Exception("should have thrown ClassCastException"); } catch (ClassCastException cce) { } } In brief, raw types and unsafe casts are used to construct the corrupted sets without needing source 1.4. Thanks, -Joe