[JAVAMONEY-104] Make coverage visible on all key artifacts Created: 13/May/15  Updated: 04/Jun/16

Status: Open
Project: javamoney
Component/s: API, General: Build and quality management, Impl: RI, Test: TCK
Affects Version/s: 1.0
Fix Version/s: 1.0.1, 1.2

Type: Task Priority: Minor
Reporter: keilw Assignee: atsticks
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
is related to JAVAMONEY-125 Add missing tests Resolved
Relates
relates to JAVAMONEY-135 Ensure Unit Test coverage and results... Reopened
Tags: coverage, test

 Description   

Considerable effort was spent on increasing code coverage recently. Similar to the public API: https://github.com/JavaMoney/jsr354-api (showing 76% that's not bad, unless you're into safety critical software even corporate projects often don't insist on more than 60 or 70%) its BP and all other major artifacts (RI+RI-BP as well as TCK where applicable) should present theirs, too. API-BP has a badge, but no Coveralls profile seems to exist. Where missing, those should be created.






[JAVAMONEY-143] JavaMoney TCK Usage Example results differ from TCKRunner Created: 29/Jul/15  Updated: 04/Jun/16

Status: Open
Project: javamoney
Component/s: Test: TCK
Affects Version/s: 1.0
Fix Version/s: 1.2

Type: Bug Priority: Major
Reporter: keilw Assignee: keilw
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Blocks
blocks JAVAMONEY-141 Pass TCK Resolved
Tags: tck-red, test, testing

 Description   

When trying to run the SE 8 variant of TCK Usage Example (https://github.com/JavaMoney/javamoney-tck-usage-example) against different approaches to modularizing the RI, it occured the example project always keeps running just one version of the TCK and (probably worse) also does not seem to switch the TCK from Moneta-BP to Moneta.

Running java org.javamoney.tck.TCKRunner as suggested directly from the TCK produces a different result than running the TCK Example.

It feels changing

<impl.version>1.0</impl.version>

or other aspects of the implementation details in the POM has no effect on which implementation is actually used. The TCK 1.0 deployed to MavenCentral/JCenter (or a copy in your local Maven repo) seems to be used regardless of implementation details. Even if another TCK version (like "1.0.1-SNAPSHOT" or similar) is available in the local Maven repo and "org.javamoney.tck.version" adjusted accordingly the TCK Usage example seems to ignore that and shows all tests pass, while running java org.javamoney.tck.TCKRunner against the same implementation produces different results.



 Comments   
Comment by keilw [ 29/Jul/15 ]

Adjusting dependencies to a version of Moneta with sub-modules, Maven dependencies look like the version is picked up correctly, and there all 233 TCK tests pass. Running TCKRunner from the TCK project directly causes 11 tests to fail when Moneta is not in a single JAR.
That discrepancy should be resolved, The test does in fact simply call

 TCKRunner.main(new String[0]);

so it looks like a difference in class-loading of relevant modules through Maven starting unit tests and a command line or batch calling TCKRunner. Even though at compile-time there is no error or missing dependency.

Another key difference to analyze is TCKTestSetup.getMonetaryOperators4Test() which only references 2 instead of 10 instances of MonetaryOperator. Tweaking that within the TCK should show, if this difference in test configuration affects the result or it's mainly the way TCKRunnner is called.

Comment by keilw [ 31/Jul/15 ]

Similar to https://github.com/unitsofmeasurement/uom-tools TCKRunner might implement javax.tools.Tool instead of the main method.

/* (non-Javadoc)
 * @see javax.tools.Tool#run(java.io.InputStream, java.io.OutputStream, java.io.OutputStream, java.lang.String[])
 */
@Override
public int run(InputStream in, OutputStream out, OutputStream err,
			String... arguments) {

Allowing it to be called like

Tool tckRunner = new TCKRunner();
int errorCode = tckRunner.run(System.in, System.out, System.err, args);
if (errorCode == 0) {
    System.out.println("Success.");
} else {
    System.err.println("Error.");
}




Ensure, RI-BP is in sync (JAVAMONEY-124)

[JAVAMONEY-134] Apply SigTest to ensure, Moneta and Moneta-BP match Created: 22/Jun/15  Updated: 18/Jan/16  Resolved: 18/Jan/16

Status: Resolved
Project: javamoney
Component/s: Impl: RI, Test: TCK
Affects Version/s: None
Fix Version/s: 1.1

Type: Sub-task Priority: Blocker
Reporter: keilw Assignee: keilw
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: test

 Description   

Similar to JSR 107 (https://github.com/jsr107/jsr107tck/tree/master/sigtest)
we must apply SigTest, even more important since we got 2 RIs, not just 1 like 107 or most other JSRs

See https://sigtest.java.net/sigtest_docs.html on how to use SigTest.



 Comments   
Comment by otaviojava [ 22/Jun/15 ]

Agree with you, but It could be on version 1.0.2, we need to close the version 1.0.1 on Moneta.

Comment by keilw [ 22/Jun/15 ]

They are totally inconsistent right now, and unless we are pushed onto an obvious mismatch like this recent bug (where are tests in both Moneta and BP to demonstrate it was fixed?) nobody really knows if they match or not.

Comment by otaviojava [ 22/Jun/15 ]

In this case of bug about the over configuration, as I told on the issue, was on line that was removed one test there, does not make sense to me.

Comment by keilw [ 22/Jun/15 ]

That does not spare us the need to ensure both RIs are in sync from an API/signature point of view.

Comment by otaviojava [ 22/Jun/15 ]

Could you read again my first comment?
I agreed with you, but we could use the iterative and incremental development software.

Comment by keilw [ 22/Jun/15 ]

This JSR is special, there is no JSR I recall with 2 functionally identical parallel RIs. Hence we need to take extra care to preserve their integrity and consistency.

Comment by keilw [ 18/Jan/16 ]

Seems a duplicate of the "broken compatibility" issue family.





[JAVAMONEY-85] Tag releases when something is published to repo Created: 06/Feb/15  Updated: 12/May/15  Resolved: 12/May/15

Status: Resolved
Project: javamoney
Component/s: API, Impl: RI, Test: TCK
Affects Version/s: 0.9
Fix Version/s: 1.0

Type: Task Priority: Major
Reporter: keilw Assignee: keilw
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: deployment, release

 Description   

At least the milestone build 1.0-RC1 was published to MavenCentral, but no corresponding release tags could be found in any of the GitHub repositories.
It would be cumbersome to roll everything back and re-create such tag for 1.0-RC1, but for the current build 1.0-RC2 all necessary tags shall be created ASAP and ideally in future let's try to do this BEFORE publishing



 Comments   
Comment by keilw [ 12/May/15 ]

Was done for 1.0 both as tag and (for possible fixes or maintenance) branch.





[JAVAMONEY-83] Change key type in Contexts/Queries to String Created: 02/Feb/15  Updated: 05/Feb/15  Resolved: 05/Feb/15

Status: Closed
Project: javamoney
Component/s: API, Impl: RI, Spec: Specification, Test: TCK
Affects Version/s: 0.9
Fix Version/s: 1.0

Type: Bug Priority: Major
Reporter: atsticks Assignee: atsticks
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: 1 day
Time Spent: Not Specified
Original Estimate: 1 day


 Description   

Change key type in Contexts/Queries to String (currently it is Object). This reduces the complexity of the context class and its builders drastically.



 Comments   
Comment by atsticks [ 05/Feb/15 ]

Fixed in 1.0-RC2.





[JAVAMONEY-56] Define TCK - reference implementation integration Created: 08/Aug/13  Updated: 02/Sep/14  Resolved: 02/Sep/14

Status: Closed
Project: javamoney
Component/s: Test: TCK
Affects Version/s: None
Fix Version/s: 0.9

Type: Task Priority: Major
Reporter: atsticks Assignee: atsticks
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Define how the TCK must be setup, so it is able to test an arbitrary reference implementation of the JSR. This may include:

  • locate the jars containing the implementation
  • configuring the environment type (SE,EE) to be tested
  • configuring the implementation classes for MonetaryAmount and CurrencyUnit.


 Comments   
Comment by atsticks [ 10/Mar/14 ]

Basically this is done. Nevertheless the current TCK test Suite must be decoupled from the execution module itself, as a TCK testing library. An according test Suite must be provided that then can be easily called from the effective TCK running Project. Integration of the implementation to test will mainly happenthrough maven properties defining the dep reqauired.

Comment by atsticks [ 02/Sep/14 ]

There is a TCK user guide describing, what must be done. Additionally there is a GitHub project, testing the integration.





[JAVAMONEY-55] Define the areas and topics to be tested by the TCK Created: 08/Aug/13  Updated: 02/Sep/14  Resolved: 02/Sep/14

Status: Closed
Project: javamoney
Component/s: Test: TCK
Affects Version/s: None
Fix Version/s: 0.9

Type: Task Priority: Major
Reporter: atsticks Assignee: atsticks
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: 3 days
Time Spent: Not Specified
Original Estimate: 3 days


 Description   

The TCK contains an XML structure that must reflect the areas and topics to be tested by the TCK. The test within the TCK reference these names, so in the overall TCK output it is clear and simple what areas of a reference implementation is compatible and which not.
This XML definition must be filled with the data relevant to this JSR.

Additionally the Tasks defined in test-Audit.xml should be prepared on JUni site also for easier Integration with possible external contributors.






[JAVAMONEY-57] Copy and adapt tests from RI/API that are suitable to the TCK Created: 08/Aug/13  Updated: 02/Sep/14  Resolved: 02/Sep/14

Status: Closed
Project: javamoney
Component/s: Test: TCK
Affects Version/s: None
Fix Version/s: 0.9

Type: Task Priority: Major
Reporter: atsticks Assignee: atsticks
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Copy and adapt tests from RI/API that are suitable to the TCK, e.g. for MonetaryAmount. Adapt the tests so the TCK configuration is considered, e.g. testing all MonetaryAmount classes configured.






Generated at Mon Feb 27 17:17:01 UTC 2017 using JIRA 6.2.3#6260-sha1:63ef1d6dac3f4f4d7db4c1effd405ba38ccdc558.