On Jan 26, 2009, at 3:29 PM, Matthew Leotta wrote:


On Jan 26, 2009, at 3:04 PM, Brad King wrote:

Matthew Leotta wrote:
Brad,

Thanks, but I'm not sure if I completely understand your suggestion.
Let me clarify.  If I run the test executable

./bvxm_test_all

I get no errors and no segfault. I know how to debug this, but there is
nothing to debug.  If in the same directory I run

ctest

then the test will segfault. Even stranger, on some platforms the test passes, but when I run in ctest it fails (produces the wrong values) but
does not segfault.  On some other platforms everything seems to work
both with and without ctest.

I'm actually running only the specific test that fails (the 5th one) with

./bvxm_test_all test_amp_processors

or

ctest -V -I 5,5

but the results are the same.  When I try to debug ctest I never hit
breakpoints in bvxm_test_all because ctest spawns off a separate process
for bvxm_test_all, and gdb is attached to ctest.  I'm not much of an
expert on using gdb from the command line, I usually debug with an IDE
front end (XCode or KDevelop).

add_test(run_xterm xterm)

$ ctest -R run_xterm

Then run gdb and the test inside the xterm to see if it fails. It could
be an environment difference.

-Brad


It runs fine from within xterm when xterm is launched as a test by ctest. I suppose this means that the environment setup by ctest is not the culprit. Any other suggestions?

Matt



Does the test that fails take a long while to run? I asked because I have had to attach to a process using gdb on the command line (some IDE's allow you to do it also) while the test was running.

Basically open a terminal and have 'top' running.
Open another terminal and start up gdb
in the gdb session type "attach" but NOTHING else, not even the return key.

Now open a third xterm and start the testing with Ctest.
Watch in the first xterm for the pid to appear.
Quickly type the pid into the gdb xterm and hit return. If you did it fast enough then you are now attached to the actual test.

Dig out your favorite gdb tutorial about stepping, stack traces and all that and have fun debugging.

http://www.cs.princeton.edu/~benjasik/gdb/gdbtut.html is a short tutorial.

---
Mike Jackson                 www.bluequartz.net



_______________________________________________
CMake mailing list
[email protected]
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to