using gdb to do embedded unit/regression testing
Michael Snyder
msnyder@vmware.com
Mon Nov 3 19:26:00 GMT 2008
EBo wrote:
> Hello,
>
> I have a simple proof of concept which does simple live inplace
> unit/regression testing on embedded hardware via a JTAG interface. To really
> make gdb work for this context I will either have to use "More complex GDB
> scripting" and/or modify gdb's command line interface and print command.
You should check out src/gcc/testsuite. The gcc testsuites on
embedded targets are all set up to use gdb as an execution engine.
And you get to use dejagnu as your scripting language (lucky you).
> The current issue at hand is that `print "STRING"` only works if the program
> is running AND gdb can interface with malloc. On the embedded project which I
> am currently testing this idea out, malloc is not available and the print
> command returns an error. What I was trying to do is simply write some
> diagnostic comments to help orient myself when reading the output from gdb
> which was piped to a file. If there is some other way to write diagnostic
> strings to stdout other than `print "STRING"` which does not require some call
> to malloc? If so please let me know. I have not seen anything like this in
> the documentation yet.
Yeah, we've all run into that.
Use gdb "echo", rather than print.
Doesn't help if you have variables, but for simple diagnostics it's ok.
> The second issue will be cleaning up and formatting the output from the
> automated unit/regression test suites. For this I will want/need to suppress
> almost all output from gdb, and use the print command above to deal with the
> formatting. If I end up using gdb to help do this type of eXtreme/Agile
> program testing I would like to work with the gdb maintainers to have it
> integrated upstream...
I think you want dejagnu.
More information about the Gdb
mailing list