Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[jakartaee-platform-dev] Notes on Signature Tests in standalone Batch TCK

For the standalone Batch TCK, we have a signature test component, (in addition to the batch runtime execution tests).. which has been a requirement of TCKs since JCP and now in Jakarta.

The platform TCK has its own signature tests, including Batch as one component. At a high level, you'd think there wouldn't be differences between testing these same APIs standalone vs. in the platform TCK, so let me explain our approach in case there are any comments.

(If this is too boring a detail for anyone to care, then at least I left a paper trail if anyone has to look into this later)
--------------------

Anyway, the platform TCK checks in sigtestdev.jar, as source, as: https://github.com/eclipse-ee4j/jakartaee-tck/blob/master/lib/sigtestdev.jar but I don't think it's now exposed as a Maven artifact., and
generates signature file: https://github.com/eclipse-ee4j/jakartaee-tck/blob/master/src/com/sun/ts/tests/signaturetest/signature-repository/jakarta.batch.sig_2.0_se8 . I have seen doc like: https://github.com/eclipse-ee4j/jakartaee-tck/wiki/Signature-Tests-in-JakartaEE-TCK but understand very little of how the platform TCK is dealing with signature files.

In the standalone batch TCK, where we use Maven, we have been using this unofficial release of sigtest since back in the JSR days: net.java.sigtest:sigtestdev:3.0-b12-v20140219

This appears to be use the "v4.1" internal signature format, whereas the sigtest in the platform TCK uses "v4.3".
One consequence: the platform TCK signature files can't be read and used in a standalone Batch TCK, since our sigtestdev JAR version is too old and doesn't recognize the newer format.

Here's a detailed diff:

$ diff -w standalone_se8 platform_se8
1c1
< #Signature file v4.1
---
> #Signature file v4.3
16c16
< meth public abstract !hasdefault java.lang.String name()
---
> meth public abstract !hasdefault java.lang.String name() value= ""
501c501,502
< hfds ZeroElementArray,ZeroStackTraceElementArray,cause,detailMessage,enableWritableStackTrace,serialVersionUID,stackTrace,suppressedExceptions,walkback
---
> hfds CAUSE_CAPTION,EMPTY_THROWABLE_ARRAY,NULL_CAUSE_MESSAGE,SELF_SUPPRESSION_MESSAGE,SUPPRESSED_CAPTION,SUPPRESSED_SENTINEL,UNASSIGNED_STACK,backtrace,cause,detailMessage,serialVersionUID,stackTrace,suppressedExceptions
> hcls PrintStreamOrWriter,SentinelHolder,WrappedPrintStream,WrappedPrintWriter

So my take is that the batch TCK's sigtest, using this older format and the unofficial sigtest is just fine.

Comments? Thanks,
------------------------------------------------------
Scott Kurz
WebSphere Batch and Developer Experience
skurz@xxxxxxxxxx
--------------------------------------------------------


Back to the top