FYI, JDK 9 RFR of JDK-8031651: Remove unneeded -source and -target flags in jdk repo regression tests

Sean Mullan sean.mullan at oracle.com
Tue Jan 14 09:20:07 PST 2014


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



More information about the security-dev mailing list