Issues with unsupported toolkit functionality

fra.orolo at mailfish.de fra.orolo at mailfish.de
Thu May 31 04:53:14 PDT 2012


Hi,

I'm currently porting our FEST test suite from using Xvnc to Cacio.
In general it seems to work quite well but there are a couple of
API-Methods of CTCToolkit which are not (really)
 implemented yet, although I think it should be quite simple to do so:

* currently the getScreenResolution() method returns 0, (which is
pretty much the worst number in this position)
  a constant 72 or 96 would help a lot.
  A possibility for dynamic configuration in tests would be great.
  We have a lot of Screenshot/Save Image actions which use this number
for a division and currently crash.

* getSystemClipboard() currently returns null. Although I understand
that a fully-fledged implementation would require
  some intelligence but I believe in tests it would be sufficient to
create a singleton instance of Clipboard in the toolkit, that can
  be filled and read by java test and client code.

* We are supporting only Oracle JDK. This works in general quite well
with Cacio, but there is an Issue in the following method:

sun.awt.DefaultMouseInfoPeer.fillPointWithCoords(Ljava/awt/Point;)Ijava.lang.UnsatisfiedLinkError:
sun.awt.DefaultMouseInfoPeer.fillPointWithCoords(Ljava/awt/Point;)I
	at sun.awt.DefaultMouseInfoPeer.fillPointWithCoords(Native Method)
	at java.awt.MouseInfo.getPointerInfo(MouseInfo.java:83)
	at java.awt.Component$2.run(Component.java:1371)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.Component.getMousePosition(Component.java:1368)
	at genedata.awt.RolloverButton$1.mouseReleased(RolloverButton.java:88)
	at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:290)
	at java.awt.Component.processMouseEvent(Component.java:6505)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
	at java.awt.Component.processEvent(Component.java:6270)
	at java.awt.Container.processEvent(Container.java:2229)
	at java.awt.Component.dispatchEventImpl(Component.java:4861)
	at java.awt.Container.dispatchEventImpl(Container.java:2287)
	at java.awt.Component.dispatchEvent(Component.java:4687)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
	at java.awt.Container.dispatchEventImpl(Container.java:2273)
	at java.awt.Window.dispatchEventImpl(Window.java:2713)
	at java.awt.Component.dispatchEvent(Component.java:4687)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707)
	at java.awt.EventQueue.access$000(EventQueue.java:101)
	at java.awt.EventQueue$3.run(EventQueue.java:666)
	at java.awt.EventQueue$3.run(EventQueue.java:664)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.awt.EventQueue$4.run(EventQueue.java:680)
	at java.awt.EventQueue$4.run(EventQueue.java:678)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:677)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:121)
	at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:182)
	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:221)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:219)
	at java.awt.Dialog.show(Dialog.java:1072)
	at java.awt.Component.show(Component.java:1651)
	at java.awt.Component.setVisible(Component.java:1603)
	at java.awt.Window.setVisible(Window.java:1013)
	at java.awt.Dialog.setVisible(Dialog.java:1003)
....

These are my observations so far, anyway: Great Work, will save us a
lot of trouble in the future.

               Best regards,
                Martin



More information about the caciocavallo-dev mailing list