[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| 
Re: [jakarta.ee-community] Help wanted: improved signature test tool
 | 
- From: Mark Thomas <markt@xxxxxxxxxx>
 
- Date: Fri, 14 Feb 2020 14:43:30 +0000
 
- Autocrypt: addr=markt@xxxxxxxxxx; prefer-encrypt=mutual; keydata=	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
 
- Delivered-to: jakarta.ee-community@xxxxxxxxxxx
 
- List-archive: <https://www.eclipse.org/mailman/private/jakarta.ee-community>
 
- List-help: <mailto:jakarta.ee-community-request@eclipse.org?subject=help>
 
- List-subscribe: <https://www.eclipse.org/mailman/listinfo/jakarta.ee-community>,	<mailto:jakarta.ee-community-request@eclipse.org?subject=subscribe>
 
- List-unsubscribe: <https://www.eclipse.org/mailman/options/jakarta.ee-community>, 	<mailto:jakarta.ee-community-request@eclipse.org?subject=unsubscribe>
 
- User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101	Thunderbird/68.4.1
 
On 14/02/2020 14:19, Andy Guibert wrote:
> Hi Bill,
> 
> When I was porting JSON-B TCK tests out of the JT harness I came across
> this topic. IIRC SigTest is part of the TCK because in the old days of
> JavaEE we didn't actually ship an API jar that implementations could
> include -- all of the implementations had to write up the API
> classes/interfaces themselves.
> 
> Nowadays all of the implementations just pull in the API jars from Maven
> Central and expose them in the runtime,
Not true. Apache Tomcat ships its own ALv2 licensed API JARs and I don't
see that changing any time soon.
> so SigTest doesn't really
> provide any testing value for implementations.
Because of the above, I disagree.
Mark
> However, SigTest can be useful for detecting API changes as specs
> evolve, particularly to make sure we follow semantic versioning rules in
> the API. For this, I suggest we use a maven plugin called
> "bnd-baseline-maven-plugin" [1]. This plugin essentially scans the
> produced API jar at build time and compares it to the previous version
> to ensure that semantic versioning rules are followed.
> 
> [1] https://github.com/bndtools/bnd/tree/master/maven/bnd-baseline-maven-plugin
> 
> --
> Andy
> 
> On Thu, Feb 13, 2020 at 7:38 PM Bill Shannon <bill.shannon@xxxxxxxxxx
> <mailto:bill.shannon@xxxxxxxxxx>> wrote:
> 
>     -- Background
> 
>     Part of our TCK test suites is a signature test that verifies that
>     the API
>     signatures of an implementation match what's expected from the
>     specification.
>     The signature test is based on a file that records the API
>     signatures.  The
>     sigtest tool [1] (part of the OpenJDK project) is used to generate
>     the signature
>     file base on a "reference implementation" - an implementation that
>     is believed
>     to exhibit the correct signatures.
> 
>     The recorded signatures include every field and method in every
>     class and
>     interface in the API, as well as the information for every superclass or
>     interface.  A consequence of this is that it records the signatures of
>     every JDK class used by the API.
> 
>     That means that a different signature file is needed to test an API on
>     JDK 12 vs JDK 11 (for example), even though the API works identically on
>     both.  There's no way to say "this API requires JDK 11 or newer".
> 
>     There are some features in the sigtest tool that seem like they should
>     work to limit the recorded signatures to only the API being tested, or
>     to exclude the signatures for JDK classes, but these features have never
>     worked the way I wanted them to work.  I've tried for years to convince
>     the sigtest team of what I wanted, but their perspective is that of
>     testing
>     the JDK itself, which obviously never has this problem.
> 
> 
>     -- Help Wanted
> 
>     I'd love it if someone in the Jakarta EE community could work with the
>     sigtest team, explain to them what's needed, and help them make the
>     existing
>     features work as needed, or create new features to do what we need.
> 
>     Worst case, someone could fork the sigtest tool and add the feature that
>     we need.  The obvious disadvantage of this approach is that the tool
>     would need to be kept up to date with every new JDK release.  We need
>     a long term solution, not a one-off solution.
> 
>     If you're interested, you should start by familiarizing yourself
>     with the
>     existing sigtest tool, try it out with a few APIs, then contact me
>     for more
>     background.
> 
>     Thanks for any help!
> 
> 
>     P.S.  I've filed a bug [2] against the platform TCK that can be used
>     to track
>     any work in this area.
> 
> 
>     [1] https://wiki.openjdk.java.net/display/CodeTools/sigtest
>     [2] https://github.com/eclipse-ee4j/jakartaee-tck/issues/156
>     _______________________________________________
>     jakarta.ee-community mailing list
>     jakarta.ee-community@xxxxxxxxxxx
>     <mailto:jakarta.ee-community@xxxxxxxxxxx>
>     To change your delivery options, retrieve your password, or
>     unsubscribe from this list, visit
>     https://www.eclipse.org/mailman/listinfo/jakarta.ee-community
> 
> 
> _______________________________________________
> jakarta.ee-community mailing list
> jakarta.ee-community@xxxxxxxxxxx
> To change your delivery options, retrieve your password, or unsubscribe from this list, visit
> https://www.eclipse.org/mailman/listinfo/jakarta.ee-community
>