From 0cdedcb9e928e0a0e08820a09f4ebcb207e39dc0 Mon Sep 17 00:00:00 2001 From: Marc Khouzam Date: Thu, 17 Jul 2014 17:41:42 -0400 Subject: [PATCH] Bug 438934 - Make GDBConsoleBreakpointsTest provide more information upon failure. Change-Id: Ia3cfe4fb455f4ca5048e629c623bba6331264b09 Signed-off-by: Marc Khouzam Reviewed-on: https://git.eclipse.org/r/30096 Tested-by: Hudson CI --- .../gdb/tests/GDBConsoleBreakpointsTest.java | 27 ++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/GDBConsoleBreakpointsTest.java b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/GDBConsoleBreakpointsTest.java index c189091647e..cf6b3dbcbc5 100644 --- a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/GDBConsoleBreakpointsTest.java +++ b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/GDBConsoleBreakpointsTest.java @@ -320,10 +320,31 @@ public class GDBConsoleBreakpointsTest extends BaseTestCase { // Remove the platform breakpoint and verify that // the target breakpoint is deleted. deletePlatformBreakpoint(plBpt); - waitForBreakpointEvent(IBreakpointsRemovedEvent.class); - Assert.assertTrue(getPlatformBreakpointCount() == 0); + + // Don't fail right away if we don't get the breakpoint event + // as we can't tell the true cause. + // Let further checks happen to help figure things out. + + String failure = ""; + try { + waitForBreakpointEvent(IBreakpointsRemovedEvent.class); + } catch (Exception e) { + failure += e.getMessage(); + } + + int platformBp = getPlatformBreakpointCount(); + if (platformBp != 0) { + if (!failure.isEmpty()) failure += ", "; + failure += "Platform breakpoints remaining: " + platformBp; + } + miBpts = getTargetBreakpoints(); - Assert.assertTrue(miBpts.length == 0); + if (miBpts.length != 0) { + if (!failure.isEmpty()) failure += ", "; + failure += "Target breakpoints remaining: " + miBpts.length; + } + + Assert.assertTrue(failure, failure.isEmpty()); } private void setConsoleLineBreakpoint(String fileName, int lineNumber) throws Throwable {