You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by jt...@apache.org on 2019/04/24 03:18:19 UTC
[incubator-netbeans-html4j] branch master updated: Logging to
indentify root cause of the random failures
This is an automated email from the ASF dual-hosted git repository.
jtulach pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-netbeans-html4j.git
The following commit(s) were added to refs/heads/master by this push:
new 39d23f1 Logging to indentify root cause of the random failures
39d23f1 is described below
commit 39d23f1e9590826d8a240c525dce339a35928b79
Author: Jaroslav Tulach <ja...@apidesign.org>
AuthorDate: Wed Apr 24 05:17:52 2019 +0200
Logging to indentify root cause of the random failures
---
.../org/netbeans/html/ko4j/DoubleViewTest.java | 102 +++++++++++----------
1 file changed, 54 insertions(+), 48 deletions(-)
diff --git a/ko4j/src/test/java/org/netbeans/html/ko4j/DoubleViewTest.java b/ko4j/src/test/java/org/netbeans/html/ko4j/DoubleViewTest.java
index 83a48ed..d2ed578 100644
--- a/ko4j/src/test/java/org/netbeans/html/ko4j/DoubleViewTest.java
+++ b/ko4j/src/test/java/org/netbeans/html/ko4j/DoubleViewTest.java
@@ -45,8 +45,10 @@ public class DoubleViewTest {
@Function
static void change(DoubleView model) {
+ log("changing ").append(model).append(" to ").append(set);
assertNotNull(set);
model.setMessage(set);
+ log("changing done");
set = null;
}
@@ -54,18 +56,19 @@ public class DoubleViewTest {
private WebView view1;
private WebView view2;
+ private static final StringBuffer LOG = new StringBuffer();
+
@BeforeMethod
public void initializeViews() throws Exception {
+ LOG.setLength(0);
+
final JFXPanel panel = new JFXPanel();
final JFXPanel p2 = new JFXPanel();
final CountDownLatch initViews = new CountDownLatch(1);
- Platform.runLater(new Runnable() {
- @Override
- public void run() {
- displayFrame(panel, p2);
- initViews.countDown();
- }
+ Platform.runLater(() -> {
+ displayFrame(panel, p2);
+ initViews.countDown();
});
initViews.await();
@@ -79,28 +82,22 @@ public class DoubleViewTest {
final CountDownLatch view1Init = new CountDownLatch(1);
final CountDownLatch view2Init = new CountDownLatch(1);
- Platform.runLater(new Runnable() {
- @Override
- public void run() {
- FXBrowsers.load(view1, page, new Runnable() {
- @Override
- public void run() {
- doubleView.applyBindings();
- view1Init.countDown();
- }
- });
-
- FXBrowsers.load(view2, page, new Runnable() {
- @Override
- public void run() {
- doubleView.applyBindings();
- view2Init.countDown();
- }
- });
- }
+ Platform.runLater(() -> {
+ FXBrowsers.load(view1, page, () -> {
+ doubleView.applyBindings();
+ log("applyBindings view One");
+ view1Init.countDown();
+ });
+
+ FXBrowsers.load(view2, page, () -> {
+ doubleView.applyBindings();
+ log("applyBindings view Two");
+ view2Init.countDown();
+ });
});
view1Init.await();
view2Init.await();
+ log("initializeViews - done");
}
private void displayFrame(JFXPanel panel, JFXPanel p2) {
@@ -128,30 +125,28 @@ public class DoubleViewTest {
public void synchronizationOfViews() throws Throwable {
final CountDownLatch cdl = new CountDownLatch(1);
final Throwable[] arr = new Throwable[1];
- Platform.runLater(new Runnable() {
- @Override
- public void run() {
- try {
- assertMessages("In view one", view1, "Initialized");
- assertMessages("In view two", view2, "Initialized");
- set = "Change1";
- clickButton(view1);
- assertMessages("In view one", view1, "Change1");
- assertMessages("In view two", view2, "Change1");
- set = "Change2";
- clickButton(view2);
- assertMessages("In view one", view1, "Change2");
- assertMessages("In view two", view2, "Change2");
- } catch (Throwable t) {
- arr[0] = t;
- } finally {
- cdl.countDown();
- }
+ Platform.runLater(() -> {
+ try {
+ assertMessages("In view one", view1, "Initialized");
+ assertMessages("In view two", view2, "Initialized");
+ set = "Change1";
+ clickButton("View one", view1);
+ assertMessages("In view one", view1, "Change1");
+ assertMessages("In view two", view2, "Change1");
+ set = "Change2";
+ clickButton("View two", view2);
+ assertMessages("In view one", view1, "Change2");
+ assertMessages("In view two", view2, "Change2");
+ } catch (Throwable t) {
+ arr[0] = t;
+ } finally {
+ cdl.countDown();
}
});
cdl.await();
if (arr[0] != null) {
- throw arr[0];
+ LOG.insert(0, arr[0].getMessage() + "\n\n");
+ throw new AssertionError(LOG.toString(), arr[0]);
}
}
@@ -161,13 +156,24 @@ public class DoubleViewTest {
private void assertMessages(String msg, WebView v, String expected) {
Object func = v.getEngine().executeScript("document.getElementById('function').innerHTML");
- assertEquals(func, expected, msg + " 'function' check");
+ final String functionMsg = msg + " 'function' check";
+ log(functionMsg).append(" got: ").append(func);
+ assertEquals(func, expected, functionMsg);
Object prop = v.getEngine().executeScript("document.getElementById('property').innerHTML");
- assertEquals(prop, expected, msg + " 'property' check");
+ final String propertyMsg = msg + " 'property' check";
+ log(propertyMsg).append(" got: ").append(prop);
+ assertEquals(prop, expected, propertyMsg);
}
- private void clickButton(WebView v) {
+ private void clickButton(String id, WebView v) {
+ log("clickButton in ").append(id);
v.getEngine().executeScript("document.getElementById('change').click()");
+ log("clickButton finished in ").append(id);
+ }
+
+ private static StringBuffer log(String msg) {
+ LOG.append("\n[").append(Thread.currentThread().getName()).append("] ").append(msg);
+ return LOG;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@netbeans.apache.org
For additional commands, e-mail: commits-help@netbeans.apache.org
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists