RFR: 8244531: Tests: add support to identify recurring issues with controls et al

Ajit Ghaisas aghaisas at openjdk.java.net
Thu May 21 10:14:05 UTC 2020


On Mon, 18 May 2020 12:07:30 GMT, Jeanette Winzenburg <fastegal at openjdk.org> wrote:

> It's a task to support cross-control/skin testing for recurring issues (like memory leaks on switching skins)
> 
> Basically, there's a utility class
> - to access lists of all control/classes,
> - to access/create all behaviors
> - has alternative skins classes for all controls and utility to install/replace skins
> 
> POC:
> - has test examples (not run in normal testing due to not following naming conventions) for using
> - changed SkinDisposeContractTest to use

I am ok with separating ControlsSkinTest from this fix.

modules/javafx.controls/src/shims/java/javafx/scene/control/skin/ControlSkinShim.java line 35:

> 34: /**
> 35:  *
> 36:  */

Don't leave the class description blank. If not needed, remove the comment.

modules/javafx.controls/src/shims/java/javafx/scene/control/skin/ControlSkinShim.java line 44:

> 43:      * @return the value of the skin's behavior field
> 44:      * @throws RuntimeException with the exception thrown by the reflective access
> 45:      */

Remove word 'with'

modules/javafx.controls/src/test/java/test/com/sun/javafx/scene/control/infrastructure/ControlSkinFactory.java line 212:

> 211:      * @return the default behavior for the control
> 212:      * @throws RuntimeException with the exception thrown when instantiating the behavior
> 213:      *

Remove word 'with'

modules/javafx.controls/src/test/java/test/com/sun/javafx/scene/control/infrastructure/ControlSkinFactoryTest.java line
91:

> 90:             Control control = createControl(controlClass);
> 91:             Skin<?> old = replaceSkin(control);
> 92:         }

An assertion can be added about old skin and new skin objects being different.

modules/javafx.controls/src/test/java/test/com/sun/javafx/scene/control/infrastructure/ControlBehaviorTestExample.java
line 52:

> 51: @RunWith(Parameterized.class)
> 52: public class ControlBehaviorTestExample {
> 53:

This test does not execute when run as part of :controls:test. We need to rename this class (and file) name to end with
'Test'. I tried doing it and lot of failures are seen.

-------------

PR: https://git.openjdk.java.net/jfx/pull/223


More information about the openjfx-dev mailing list