On Mon, 29 Jun 2020 14:35:00 GMT, Frederic Thevenet 
<github.com+7450507+ftheve...@openjdk.org> wrote:

>> I observed that the added tests are failing on mac machine(Mojave 10.14.6), 
>> but they do pass on windows10. Can you
>> please verify ? Timeout and Unrecognized Image loader errors from the log,
>> test.javafx.scene.Snapshot2Test > testSnapshot2x2TilesSameWidthImm[0] FAILED
>>     java.lang.IllegalArgumentException: Unrecognized image loader: null
>>         at 
>> javafx.graphics/javafx.scene.image.WritableImage.loadTkImage(WritableImage.java:278)
>>         at 
>> javafx.graphics/javafx.scene.image.WritableImage$1.loadTkImage(WritableImage.java:53)
>>         at javafx.graphics/javafx.scene.Scene.doSnapshot(Scene.java:1342)
>>         at javafx.graphics/javafx.scene.Node.doSnapshot(Node.java:2136)
>>         at javafx.graphics/javafx.scene.Node.snapshot(Node.java:2214)
>>         at 
>> test.javafx.scene.Snapshot2Test.lambda$doTestTiledSnapshotImm$12(Snapshot2Test.java:364)
>> 
>> test.javafx.scene.Snapshot2Test > testSnapshot2x1TilesSameSizeDefer[0] FAILED
>>     junit.framework.AssertionFailedError: Timeout waiting for snapshot 
>> callback
>>         at 
>> test.javafx.scene.SnapshotCommon.runDeferredSnapshotWait(SnapshotCommon.java:157)
>>         at 
>> test.javafx.scene.SnapshotCommon.runDeferredSnapshotWait(SnapshotCommon.java:183)
>>         at 
>> test.javafx.scene.Snapshot2Test.doTestTiledSnapshotDefer(Snapshot2Test.java:378)
>>         at 
>> test.javafx.scene.Snapshot2Test.testSnapshot2x1TilesSameSizeDefer(Snapshot2Test.java:459)
>> 
>> I would suggest to fill the image with a single or preferably some pattern 
>> of multiple recognizable colors instead of
>> noise. The noise gives a broken feel. It might confuse the verifications of 
>> any future fixes in this area. A well
>> defined color would be nice.
>
> Thanks for your review.
> 
> I don't have access to a Mac so I can't check that directly.
> The tests pass on both my Windows 10 and Ubuntu 20.04 environments and the 
> stack isn't very helpful (it simply
> indicates the renderImage method returned null).
> Running the test with the unpatched version of the 
> `QuantumToolkit::renderToImage` method would typically result in
> such a stack, but there are many other possible reasons.
> With regard to the choice of random noise for the test image, my idea was to 
> be able to catch any misalignment caused
> by tiling in the final snapshot: using a single color or a simple pattern 
> would not necessarily help catching such
> errors. Using a complex image could do the trick, and avoid the broken aspect 
> you mentioned, but it would need to be
> very large (>4096x4096), and I was not sure it would be wise to add such a 
> large binary resource to the repo. So I
> settled for random noise, since it was the simplest way to generate an image 
> which guaranties any misalignment would be
> caught by comparing pixels 1 to 1.

I have changed the test setup to fill up the scene with a gradient instead of 
random noise; it should be as able to
catch misalignment, while not looking like something's gone horribly wrong.

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

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

Reply via email to