1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-08-31 20:23:26 +02:00
Commit graph

311 commits

Author SHA1 Message Date
Simon Marchi
539660d4f7 [dsf-gdb] gdb download script: add examples and print help if unsupported version is given
I got a feedback that the error message when passing an unsupported
version should be more helpful.

Change-Id: I3c925c500d6de787ca9bfce421eda6109e9f6415
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
2015-02-26 18:26:42 -05:00
Simon Marchi
0ba2118dc9 [dsf-gdb] debug tests: Adjust buffer sizes in MIMemoryTest to take word size into account
Change-Id: I1ffa59165c713609b25b9331c3d245094df4544e
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
2015-02-24 22:26:43 -05:00
Marc Khouzam
9c05b3506a Add test suite for GDB 7.9 and move Automated Suite to use GDB 7.9
Signed-off-by: Marc Khouzam <marc.khouzam@ericsson.com>
2015-02-20 16:01:33 -05:00
Marc Khouzam
74bd3e0c66 Update script to support GDB 7.9
Signed-off-by: Marc Khouzam <marc.khouzam@ericsson.com>
2015-02-20 15:58:34 -05:00
Simon Marchi
7402cd3123 [dsf-gdb] Put back event assert in
MIMemoryTest.writeCharVarying{Address,Offset}

When we switched SyncUtil.readMemory to use queries, it exposed a race
condition with the asserts that check for the number of event received.
Basically, nothing guarantees that when the assert is evaluated the
event had the time to arrive.

We now use a ServiceEventWaitor to wait until the event arrives (with a
timeout, of course).

At the same time, rename word_size to wordSize.

Change-Id: I6f4b51e22f46625e20bbbdbac91cf70cfd864e5e
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
2015-02-20 14:27:39 -05:00
Simon Marchi
7328220fe6 [dsf-gdb] Add expected message in MIMemoryTest.writeWithInvalidAddress
Change-Id: Id1f46c879669e3a428bbc8039ff6363be35a9cb6
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
2015-02-20 14:14:00 -05:00
Simon Marchi
18a8a45323 debug tests: add missing massageTimeout
Change-Id: I6be611a345de90f36996151fb910449292938f15
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
2015-02-20 14:09:12 -05:00
Marc Khouzam
61ee8133f2 Small cleanup in the tests.
Change-Id: I3236c0efc3de5dbc9b21ed33afbbaeb1439f4864
Signed-off-by: Marc Khouzam <marc.khouzam@ericsson.com>
2015-02-20 14:07:17 -05:00
Simon Marchi
6f0f5d1cc4 debug tests: Move some tests from AsyncCompletionWaitor to Query
Change-Id: Ic9860c369c8cc0cf4bf9d72d83c09e60a119e9b6
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
2015-02-20 14:05:51 -05:00
Simon Marchi
315a204251 debug tests: Convert MIDisassemblyTest to queries
Change-Id: I15a3f49e50c55d42c66b901bf302ed01f974ae98
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
2015-02-20 14:04:10 -05:00
Alvaro Sanchez-Leon
33f85536b5 Bug 460241 - [Memory] Make tests run with different values of addressable size
Change-Id: I594071e3cee9a99d24dfcae3c080995610ffb533
2015-02-19 12:44:07 -05:00
Simon Marchi
059db21d52 debug tests: Fix error in SyncUtil.fillMemory doc
Change-Id: I7b1ab19b52a9c080c569a95e9ea11cbd45d987cb
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
2015-02-18 11:35:37 -05:00
Simon Marchi
5ad1f5c4c3 debug tests: MIMemoryTest: Use runToLocation when possible
Change-Id: I66f76039cecf5333826be1b75556437a059c71b9
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
2015-02-18 11:35:36 -05:00
Simon Marchi
544dbb5af8 [debug tests] Remove superfluous breakpoint tag
There is a superfluous LINE_MAIN_BEFORE_THREAD_START that is causing
problems, remove it.

Change-Id: I57c4637ada0b5efda2848029e5216a13cf638067
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
2015-02-18 11:34:54 -05:00
Simon Marchi
9ed8f75f74 Change word_size to wordSize
... to respect the coding style.

Change-Id: Ie68422182afad2532ce9238665bb06576fc3cc18
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
2015-02-17 20:37:37 -05:00
Marc Khouzam
2c1113c590 Bug 456959 - Disable test for versions of GDB that don't support it
Signed-off-by: Marc Khouzam <marc.khouzam@ericsson.com>
2015-02-07 19:33:34 -05:00
Simon Marchi
3cf7241ccb debug tests: Remove fWait field from GDBProcessesTest
Re-using the waitor between tests possibly a dependency between tests
(e.g. on the order they are ran). It would be easy to forget to add an
fWait.waitReset() to a test and break another test.

It is safer to create a new one every time, while the performance hit is
negligible.

Change-Id: I404d240b29dddffb07899e7e529e7205282bd1d2
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
2015-02-04 11:26:29 -05:00
Simon Marchi
a96fcd5a37 debug tests: MIMemoryTest: Use assertEquals instead of assertTrue when
possible

Change-Id: If9fc8f3f0f1f2070b7bc4ea6dc23778001dc0092
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
2015-02-04 11:22:18 -05:00
Simon Marchi
59854a48cd debug tests: Factor out duplicated code in MIMemoryTest.memoryCachedRead
Change-Id: I8ee7883e96e99d2daebe7a3748d4e5e6b3a165fe
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
2015-02-01 20:47:19 -05:00
Simon Marchi
9ae9ed49f6 debug tests: Use SyncUtil's memory functions in MIMemoryTest
Change-Id: I47b9e4e65d418743da97bfddb78bfdce29f3c688
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
2015-02-01 20:46:06 -05:00
Simon Marchi
e11bdc4502 debug tests: Use SyncUtil.readMemory in PostMortemCoreTest
Change-Id: I2572e7f9bef8512bd32df7c040f3f12506dc5453
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
2015-02-01 20:44:45 -05:00
Simon Marchi
5500e418c9 debug tests: Use SyncUtil.readMemory in GDBConsoleSynchronizingTest
Change-Id: Ied75ccb790842a746f09e3d7b51bb9225891af96
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
2015-02-01 20:41:45 -05:00
Simon Marchi
b662f3b063 debug tests: Add memory access functions to SyncUtil
Unlike those in AsyncCompletionWaitor, these functions are based on
queries. The patch also changes occurences in MIMemoryTest where it
makes sense to use synchronous functions.

Change-Id: Id5e47b7634153d916bf896e47f6cc48f1a4727bd
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
2015-01-30 15:17:55 -05:00
Simon Marchi
80ff1f872f debug tests: Factor out test in GDBConsoleSynchronizingTest
Factor out the code for testSettingVariableWithSet and
testSettingVariableWithPrint.

testSettingVariableWithSetWithMemory is not exactly the same, so I
didn't factor it out.

Change-Id: Ib4e79eda4851ec2291fcf32054694b76e40c65ca
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
2015-01-25 10:18:36 -05:00
Marc Khouzam
8855a845a3 Bug 456959 - Unit tests for bp after restart bug
Change-Id: Id25d6a6c7c2e094b5308ca42e2f1fa24c260f6af
Signed-off-by: Marc Khouzam <marc.khouzam@ericsson.com>
2015-01-21 08:13:07 -05:00
Simon Marchi
41065c06e1 Debug BaseTestCase: don't swallow exception
Catching the exception and asserting false just hides the real reason,
making failures harder to debug.

Change-Id: I1a73fb5893da2762d0b9a9a496749643471f75b4
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
Reviewed-on: https://git.eclipse.org/r/39787
Reviewed-by: Marc Khouzam <marc.khouzam@ericsson.com>
Tested-by: Marc Khouzam <marc.khouzam@ericsson.com>
2015-01-16 14:43:20 -05:00
Simon Marchi
ac6e5420d9 debug tests: Remove runToLine
runToLine uses gdb's -exec-until, which has a very strange and
unpredictable behaviour. It is safer to use runToLocation, which uses a
temporary breakpoint + continue.

Change-Id: If7bbbdd12570b50f38eb92f1748d10dff96f1f45
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
Reviewed-on: https://git.eclipse.org/r/39769
Tested-by: Hudson CI
Reviewed-by: Marc Khouzam <marc.khouzam@ericsson.com>
Tested-by: Marc Khouzam <marc.khouzam@ericsson.com>
2015-01-16 14:42:04 -05:00
Simon Marchi
da85a41850 Force thread order in GDBProcessesTest.getThreadData
A change in gdb showed that we shouldn't rely on the order of threads
when they are all created at the same time.

The solution is to break after each thread is created, so that gdb takes
note of the new thread before we spawn another one. This way, they'll
always be in the same order.

Change-Id: Ia62dc0476163ad44bba52d51df95cf747d27da84
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
Reviewed-on: https://git.eclipse.org/r/39712
Reviewed-by: Marc Khouzam <marc.khouzam@ericsson.com>
Tested-by: Marc Khouzam <marc.khouzam@ericsson.com>
2015-01-16 13:13:44 -05:00
Simon Marchi
3d264fbae0 debug tests: Cleanup filename references
This patch attempts to standardize the naming and factor out the variables
that refer to source or executable files throughout the debug tests.

It removes definitions of paths that are already defined in BaseTestCase.

Also, it tries to name these consistently:

- filename of executable: EXEC_NAME
- filename of source: SOURCE_NAME

Finally, it replaces hardcoded paths at various places by constants at the top
of the test class.

Change-Id: Ib2ea3e46b41185fb9614ae6ad9d41c3b70154884
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
Reviewed-on: https://git.eclipse.org/r/38068
Reviewed-by: Marc Khouzam <marc.khouzam@ericsson.com>
Tested-by: Hudson CI
Tested-by: Marc Khouzam <marc.khouzam@ericsson.com>
2015-01-16 12:32:58 -05:00
Marc Khouzam
b26f160e3b Update location to use for GDBs on HIPP
This new location lends itself better to using our new GDB download
script
dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/scripts/download-build-gdb.sh

Signed-off-by: Marc Khouzam <marc.khouzam@ericsson.com>
2015-01-15 13:26:02 -05:00
Marc-Andre Laperle
5adce1b311 Add Mac support to script to download gdb
-Make sure getopt command is present (not included by default on Mac but
available through MacPorts
-Patch wrong include

Change-Id: I3ad1e19091896f8644ededa9d8200efe40bae82b
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/39438
Reviewed-by: Simon Marchi <simon.marchi@polymtl.ca>
2015-01-15 10:43:05 -05:00
Marc Khouzam
2af91607ea Update GDB download script for GDB 7.8.2
Signed-off-by: Marc Khouzam <marc.khouzam@ericsson.com>
2015-01-15 09:39:18 -05:00
Marc Khouzam
7bbaa4d7b3 Avoid duplicate code in script
Change-Id: Ia40f8fd676a7e2c302f06efa4ccf9fb77dc6dfc9
Signed-off-by: Marc Khouzam <marc.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/39421
Tested-by: Hudson CI
Reviewed-by: Simon Marchi <simon.marchi@polymtl.ca>
2015-01-15 09:33:53 -05:00
Simon Marchi
d0e93b665b debug tests: Introduce line "tags" to avoid hardcoding line numbers
Hardcoding line numbers in tests make it a pain to modify the test sources.
The approach adopted in the gdb testsuite is to look for a specific string
in the source file and return the line number where it is found. I made a
similar system for the CDT debug tests.

I dubbed this system breakpoint tags, a tag being the string we look for in
the source file.

I modified the MIRunControlTest as an example, as well as GDBProcessesTest
and MIRegistersTest because they are re-using the same breakpoints.

SOURCE_PATH and EXEC_PATH were duplicated in many test cases, so I factored
them in BaseTestCase.

Change-Id: Id1e64b2064914005ab1d87e16704866aa1c8b9ec
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
Reviewed-on: https://git.eclipse.org/r/36872
Tested-by: Hudson CI
Reviewed-by: Elena Laskavaia <elaskavaia.cdt@gmail.com>
2015-01-15 08:44:42 -05:00
Simon Marchi
6a7b37ca6a Add script to download and build multiple versions of gdb automatically
This script can be used to download and build automatically multiple
versions of gdb, which is necessary when working on the CDT debug tests.

Change-Id: Ibf9ddac4efe8f80f480ae2bc9702b722bdc97192
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
Reviewed-on: https://git.eclipse.org/r/38737
Tested-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-by: Marc Khouzam <marc.khouzam@ericsson.com>
Tested-by: Marc Khouzam <marc.khouzam@ericsson.com>
2015-01-12 15:25:09 -05:00
Simon Marchi
79c6c7d775 debug tests: Add test for thread name
This patch adds SyncUtil.getThreadData to make it easy to get the thread
data from the gdb thread number.

Change-Id: I948a8b87cc3afa64f3d73de23d4ace12ef4c0c1a
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
Reviewed-on: https://git.eclipse.org/r/36870
Reviewed-by: Alvaro Sanchez-Leon <alvsan09@gmail.com>
Tested-by: Alvaro Sanchez-Leon <alvsan09@gmail.com>
2015-01-12 09:36:04 -05:00
Marc Khouzam
6a765aed3b Bug 456807 - Update Tracepoint tests to handle both 32bit and 64bit
architectures

Change-Id: I4325fadfec95efc263b72db8dbe446de31154169
Signed-off-by: Marc Khouzam <marc.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/39006
2015-01-07 14:54:33 -05:00
Marc Khouzam
c0ea87636e Bug 456738 - TraceFile tests cause failures
Change-Id: Ida45dbe1ba4d37f3bc0e668c30c05f616d585c55
Signed-off-by: Marc Khouzam <marc.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/39013
Tested-by: Hudson CI
Reviewed-by: Mikhail Khodjaiants <mikhailkhod@googlemail.com>
2015-01-07 14:52:32 -05:00
Simon Marchi
0f94c4a067 debug tests: Add thread compatibility layer and use it
Having a compatibility layer for threading operations, like the one we
have for sleep, will allow removing a lot of platform dependent code in
the test sources, therefore simplifying the tests themselves.

I changed MultiThread.cc and MultiThreadRunControl.cc as examples, but
there are other tests files that could benefit from it.

I also changed MultiThread.cc to remove all the synchronization based on
sleeps. It now works using thread barriers, which should make the tests
less prone to random failure (although I don't think these ones were
particularly flaky) and run faster (since we don't wait for nothing).

The fallouts of that change on the Java part of the tests are taken care
of as well.

Change-Id: I7be86a5727877638c0ff0a489d263ee6bbe84764
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
Reviewed-on: https://git.eclipse.org/r/36814
Reviewed-by: Marc Khouzam <marc.khouzam@ericsson.com>
Tested-by: Hudson CI
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
2015-01-07 12:36:59 -05:00
Marc Khouzam
eb66a8a2ee Bug 456942 - [junit] GDB does not report thread names in remote mode
Change-Id: I9ad3eefa715326ce6cc15f384cb13bbfd410f8db
Signed-off-by: Marc Khouzam <marc.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/39142
2015-01-07 11:30:25 -05:00
Sergey Prigogin
252eaf4c0f Incremented CDT feature version to 8.6.0.
Change-Id: Ic90c8e6a68d21e5b90ec3fac997da6a95a29bedf
Signed-off-by: Sergey Prigogin <eclipse.sprigogin@gmail.com>
Reviewed-on: https://git.eclipse.org/r/39066
Tested-by: Hudson CI
2015-01-06 19:40:38 -05:00
Simon Marchi
4af00a316e MIRegistersTest: use more specific assert functions
Using more specific assert functions (e.g. assertEquals(a, b) rather than
assertTrue(a.equals(b)) helps a bit to make the test more readable. It can
also improve the display in the JUnit view, by showing expected and actual
values.

Also, there is no need to manually catch an exception and fail the test. If
an exception is thrown, the test will fail automatically.

Change-Id: I333cfd0d0ade41463dc773ab02e14df4b063a22f
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
Reviewed-on: https://git.eclipse.org/r/38617
Reviewed-by: Alvaro Sanchez-Leon <alvsan09@gmail.com>
Tested-by: Alvaro Sanchez-Leon <alvsan09@gmail.com>
2015-01-05 17:01:22 -05:00
Simon Marchi
9bbd8d4f3e debug tests: Don't catch exception in SyncUtil context getters
When catching the exception and failing the test manually, we loose the
information about the root cause of the problem. We let the exception
propagate so that JUnit will show a useful trace.

Change-Id: I1df26283f42b58b4dda68ab9e8c11cca27ae81c8
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
Reviewed-on: https://git.eclipse.org/r/38771
Reviewed-by: Marc Khouzam <marc.khouzam@ericsson.com>
Tested-by: Marc Khouzam <marc.khouzam@ericsson.com>
2014-12-25 13:51:00 -05:00
Simon Marchi
24301e7396 debug tests: Change -dwarf-2 to -g in tests Makefile
-gdwarf-2 was added specifically when the default debug format was
stabs, to force using the DWARF format. It is irrelevant nowadays, and
we want to let the compiler choose the DWARF version it prefers.

Change-Id: I300fab09b492704ca3d3a61446b8dd0ce36167c2
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
Reviewed-on: https://git.eclipse.org/r/38766
Tested-by: Hudson CI
Reviewed-by: Marc Khouzam <marc.khouzam@ericsson.com>
Tested-by: Marc Khouzam <marc.khouzam@ericsson.com>
2014-12-25 13:48:43 -05:00
Simon Marchi
806a0e65a4 Disable LaunchConfigurationAndRestartTest.testSourceGdbInit for gdb < 7.2
When executing the launch sequence in testSourceGdbInit, gdb 7.1 inserts
an extraneous \n in one of its replies, causing an assert to be hit.

Since we don't actively support that version, let's just disable the
test.

Change-Id: I9544835ead72e1701766d76fafa0e63f3b88911d
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
Reviewed-on: https://git.eclipse.org/r/38768
Reviewed-by: Marc Khouzam <marc.khouzam@ericsson.com>
Tested-by: Marc Khouzam <marc.khouzam@ericsson.com>
2014-12-25 13:44:51 -05:00
Marc Khouzam
2b935a5172 Only enable remote tests for gdb versions >= 7.1
Change-Id: Ia42a2dc330d739181167bf5511ff976a36ab180f
Signed-off-by: Marc Khouzam <marc.khouzam@ericsson.com>
2014-12-24 13:50:04 -05:00
Marc Khouzam
68453d4a1f Enable the GDB 7.1 test suite.
Change-Id: I3d21bfbc8f2f9e99c7b5bda9a68243218346f61b
Signed-off-by: Marc Khouzam <marc.khouzam@ericsson.com>
2014-12-24 13:46:26 -05:00
Simon Marchi
8741098869 debug tests: Don't catch exception in LaunchConfigurationAndRestartTest.doLaunch
When catching the exception and failing the test manually, the root cause
exception is hidden. If we let the exception propagate, JUnit will fail
the test automatically, and will provide a detailed stack trace.

Change-Id: Ife099d4598109dd0901b14d482b89545cfd01d68
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
Reviewed-on: https://git.eclipse.org/r/38765
Tested-by: Hudson CI
Reviewed-by: Marc Khouzam <marc.khouzam@ericsson.com>
Tested-by: Marc Khouzam <marc.khouzam@ericsson.com>
2014-12-24 13:41:10 -05:00
Marc Khouzam
f582de0a88 Resume threads individually in GDBMultiNonStopRunControlTest.
For older GDBs, we don't support resuming the entire process. The tests
in GDBMultiNonStopRunControlTest were trying to resume the entire
process as a shortcut and it was failing for GDB 7.1 and probably older
ones too.

This change loops over all suspended threads of the process and resumes
them individually.


Change-Id: Ie1056aa9775114c3a0d795a49d87d6efe431785d
Signed-off-by: Marc Khouzam <marc.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/38742
Tested-by: Hudson CI
2014-12-23 20:28:02 -05:00
Marc Khouzam
8353e5c321 Update GDBPatternMatching test for older GDBs.
Over the years GDB is showing more registers than before.  When the
GDBPatternMatching tests were first written, some random registers were
used.  This update uses registers that are available for both old and
new gdb versions, as well as 32bit and 64bit architectures.

Change-Id: Ibbbd50d240f295e1a745fae217013f21aeabff8a
Signed-off-by: Marc Khouzam <marc.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/38736
Tested-by: Hudson CI
2014-12-23 20:16:41 -05:00