DejaGnu
http://www.gnu.org/software/dejagnu/ is a framework for testing various other tools and programs.
The following instructions are intended to run the test suite in a simulator or on a board running Linux.
Remote board using ssh
Remote board using telnet/FTP
Although the preferred method to use dejagnu is over ssh, it might be necessary to use telnet and ftp, instead, if ssh is not supported or to slow on the particular target. Unfortunately, Dejagnu doesn't fully support telnet/ftp as a remote target out of the box, so it is necessary to patch the telnet.exp file. The distribution running on that board needs to be configured to include support for an ftp and telnet daemon, and these services should be running.
The telnet.exp file can usually be found under /usr/share/dejagnu/telnet.exp. http://linux-xtensa.org/pub/patches/dejagnu/dejagnu-telnet.patch.gz
cd /usr/share/dejagnu cp telnet.exp telnet.exp.orig gunzip -c <path-to>/dejagnu-telnet.patch.gz | patch -p0
The next step is to create a board interface file for the target. In this example, we use the name 'lx60', but it can be any name.
lx60.exp
load_generic_config "unix"; set_board_info hostname "lx60" set_board_info compiler "<path-to-compiler>/xtensa-linux-gcc" set_board_info connect "telnet" set_board_info file_transfer "ftp" set_board_info shell_prompt "\\$ " set_board_info protocol "telnet" set_board_info telnet_username "test" set_board_info telnet_password "test" set_board_info ftp_username "test" set_board_info ftp_password "test"
Before we can run teh testsuite, we need to tell it what board to use. Create the file site.exp under <path-to-libffi>/testsuite/site.exp with the following content:
lappend boards_dir "<directory-that-includes-lx60.exp>"
Finally, you can run the testsuite:
export RUNTESTFLAGS="--target_board=lx60" make check
Tensilica ISS Simulator
The Tensilica ISS simulator is already supported by DejaGnu. The target name is xtensa-sim.