DejaGnu

From Linux/Xtensa
Revision as of 23:12, 18 March 2013 by Chris (talk | contribs) (New page: 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 on a board running Linux. T...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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 on a board running Linux. 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.

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 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