Bug 464647 - [Synchronization] Generate JUnit tests for diagram view synchronization
Summary: [Synchronization] Generate JUnit tests for diagram view synchronization
Status: RESOLVED FIXED
Alias: None
Product: Papyrus
Classification: Modeling
Component: Diagram (show other bugs)
Version: 1.1.0   Edit
Hardware: PC Mac OS X
: P2 normal (vote)
Target Milestone: ---   Edit
Assignee: Christian Damus CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on: 473027 473481 473211
Blocks:
  Show dependency tree
 
Reported: 2015-04-14 17:11 EDT by Christian Damus CLA
Modified: 2015-09-02 12:03 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christian Damus CLA 2015-04-14 17:11:53 EDT
The Diagram View Synchronization (canonical edit-policy) feature implemented in bug 433206 needs JUnit test coverage.  The best way to do this in the long term is to add synchronization tests to the Papyrus Diagram Tests Generation Framework, currently prototyped and under review in Gerrit:

    https://git.eclipse.org/r/38587

That Gerrit change already has an initial generation of synchronization tests for top-level nodes, but it is not yet complete.  In addition, I am proposing to take that test generation framework in a slightly different direction, so a new separate work item is warranted.
Comment 1 Eclipse Genie CLA 2015-04-14 17:14:51 EDT
New Gerrit change created: https://git.eclipse.org/r/45831

WARNING: this patchset contains 131690 new lines of code and may require a Contribution Questionnaire (CQ) if the author is not a committer on the project. Please see:https://wiki.eclipse.org/Project_Management_Infrastructure/Creating_A_Contribution_Questionnaire
Comment 2 Christian Damus CLA 2015-04-16 16:55:19 EDT
The latest update on the Gerrit patch:

Patch set 6 completes the specification of generation of view synchronization tests, adding the following scenarios:

* synchronize child label nodes in label compartments of top shapes
* synchronize child shape nodes in shape compartments of top shapes
* synchronize connections between shapes
* synchronize connections between shapes where the source owns the semantic link

All synchronization tests for the Class Diagram are generated as a demonstration
because this diagram has the most fully specified tests (covers all cases).

Note that this test suite, like the creation-from-palette suite, has the problem of the cross-product of all conceivable creation of child nodes in top nodes doesn't make sense.  Likewise the cross-product of all conceivable creation of links between pairs of shapes.  We still need to solve that test-case filtering problem for all test suites.
Comment 3 Eclipse Genie CLA 2015-06-18 13:37:01 EDT
New Gerrit change created: https://git.eclipse.org/r/50462
Comment 4 Eclipse Genie CLA 2015-08-11 18:27:23 EDT
New Gerrit change created: https://git.eclipse.org/r/53600
Comment 6 Christian Damus CLA 2015-08-13 00:35:45 EDT
The generation of JUnit tests for the diagrams, including model-view synchronization tests, is now integrated in the master branch (for Neon release).  A new weekly build runs the generated tests for all diagrams:

https://hudson.eclipse.org/papyrus/job/Papyrus-Master-Generated-Tests/
Comment 7 Christian Damus CLA 2015-08-13 08:31:47 EDT
@Camille, @Rémi:

Do we want or need to implement this test generation on the Mars maintenance branch, too?  I'm not sure that we would want to run test jobs for both branches ...
Comment 8 Christian Damus CLA 2015-09-02 12:03:04 EDT
I'm not going to merge this to Mars maintenance.  It will have to be sufficient that these tests run (and mostly fail, currently) on master for Neon.