| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> |
| <HTML |
| ><HEAD |
| ><TITLE |
| >Global Config File</TITLE |
| ><META |
| NAME="GENERATOR" |
| CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+ |
| "><LINK |
| REL="HOME" |
| TITLE="DejaGnu" |
| HREF="book1.html"><LINK |
| REL="UP" |
| TITLE="Customizing DejaGnu" |
| HREF="c848.html"><LINK |
| REL="PREVIOUS" |
| TITLE="Customizing DejaGnu" |
| HREF="c848.html"><LINK |
| REL="NEXT" |
| TITLE="Board Config File" |
| HREF="x935.html"></HEAD |
| ><BODY |
| CLASS="SECT1" |
| BGCOLOR="#FFFFFF" |
| TEXT="#000000" |
| LINK="#0000FF" |
| VLINK="#840084" |
| ALINK="#0000FF" |
| ><DIV |
| CLASS="NAVHEADER" |
| ><TABLE |
| SUMMARY="Header navigation table" |
| WIDTH="100%" |
| BORDER="0" |
| CELLPADDING="0" |
| CELLSPACING="0" |
| ><TR |
| ><TH |
| COLSPAN="3" |
| ALIGN="center" |
| >DejaGnu: The GNU Testing Framework</TH |
| ></TR |
| ><TR |
| ><TD |
| WIDTH="10%" |
| ALIGN="left" |
| VALIGN="bottom" |
| ><A |
| HREF="c848.html" |
| ACCESSKEY="P" |
| ><<< Previous</A |
| ></TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="center" |
| VALIGN="bottom" |
| >Customizing DejaGnu</TD |
| ><TD |
| WIDTH="10%" |
| ALIGN="right" |
| VALIGN="bottom" |
| ><A |
| HREF="x935.html" |
| ACCESSKEY="N" |
| >Next >>></A |
| ></TD |
| ></TR |
| ></TABLE |
| ><HR |
| ALIGN="LEFT" |
| WIDTH="100%"></DIV |
| ><DIV |
| CLASS="SECT1" |
| ><H1 |
| CLASS="SECT1" |
| ><A |
| NAME="GLOBAL" |
| ></A |
| >Global Config File</H1 |
| ><P |
| >The master config file is where all the target specific |
| config variables for a whole site get set. The idea is |
| that for a centralized testing lab where people have to share a |
| target between multiple developers. There are settings for both |
| remote targets and remote hosts. Here's an example of a Master |
| Config File (also called the Global config file) for a |
| <I |
| CLASS="EMPHASIS" |
| >canadian cross</I |
| >. A canadian cross is when |
| you build and test a cross compiler on a machine other than the |
| one it's to be hosted on.</P |
| ><P |
| >Here we have the config settings for our California |
| office. Note that all config values are site dependant. Here we |
| have two sets of values that we use for testing m68k-aout cross |
| compilers. As both of these target boards has a different |
| debugging protocol, we test on both of them in sequence.</P |
| ><DIV |
| CLASS="EXAMPLE" |
| ><A |
| NAME="AEN921" |
| ></A |
| ><P |
| ><B |
| >Example 4. Global Config file</B |
| ></P |
| ><TABLE |
| BORDER="0" |
| BGCOLOR="#E0E0E0" |
| WIDTH="100%" |
| ><TR |
| ><TD |
| ><PRE |
| CLASS="PROGRAMLISTING" |
| > # Make sure we look in the right place for the board description files. |
| if ![info exists boards_dir] { |
| set boards_dir {} |
| } |
| lappend boards_dir "/nfs/cygint/s1/cygnus/dejagnu/boards" |
| |
| verbose "Global Config File: target_triplet is $target_triplet" 2 |
| global target_list |
| |
| case "$target_triplet" in { |
| { "native" } { |
| set target_list "unix" |
| } |
| { "sparc64-*elf" } { |
| set target_list "sparc64-sim" |
| } |
| { "mips-*elf" } { |
| set target_list "mips-sim wilma barney" |
| } |
| { "mips-lsi-elf" } { |
| set target_list "mips-lsi-sim{,soft-float,el}" |
| } |
| { "sh-*hms" } { |
| set target_list { "sh-hms-sim" "bloozy" } |
| } |
| } |
| </PRE |
| ></TD |
| ></TR |
| ></TABLE |
| ></DIV |
| ><P |
| >In this case, we have support for several cross compilers, |
| that all run on this host. For testing on operating systems that |
| don't support Expect, DejaGnu can be run on the local build |
| machine, and it can connect to the remote host and run all the |
| tests for this cross compiler on that host. All the remote OS |
| requires is a working telnetd.</P |
| ><P |
| >As you can see, all one does is set the variable |
| <SPAN |
| CLASS="SYMBOL" |
| >target_list</SPAN |
| > to the list of targets and options to |
| test. The simple settings, like for |
| <I |
| CLASS="EMPHASIS" |
| >sparc64-elf</I |
| > only require setting the name of |
| the single board config file. The <I |
| CLASS="EMPHASIS" |
| >mips-elf</I |
| > |
| target is more complicated. Here it sets the list to three target |
| boards. One is the default mips target, and both |
| <I |
| CLASS="EMPHASIS" |
| >wilma</I |
| > <I |
| CLASS="EMPHASIS" |
| >barney</I |
| > are |
| symbolic names for other mips boards. Symbolic names are covered |
| in the <A |
| HREF="x1214.html" |
| >Adding A New Board</A |
| > chapter. The more complicated |
| example is the one for <I |
| CLASS="EMPHASIS" |
| >mips-lsi-elf</I |
| >. This one |
| runs the tests with multiple iterations using all possible |
| combinations of the <TT |
| CLASS="OPTION" |
| >--soft-float</TT |
| > and the |
| <TT |
| CLASS="OPTION" |
| >--el</TT |
| > (little endian) option. Needless to say, |
| this last feature is mostly compiler specific.</P |
| ></DIV |
| ><DIV |
| CLASS="NAVFOOTER" |
| ><HR |
| ALIGN="LEFT" |
| WIDTH="100%"><TABLE |
| SUMMARY="Footer navigation table" |
| WIDTH="100%" |
| BORDER="0" |
| CELLPADDING="0" |
| CELLSPACING="0" |
| ><TR |
| ><TD |
| WIDTH="33%" |
| ALIGN="left" |
| VALIGN="top" |
| ><A |
| HREF="c848.html" |
| ACCESSKEY="P" |
| ><<< Previous</A |
| ></TD |
| ><TD |
| WIDTH="34%" |
| ALIGN="center" |
| VALIGN="top" |
| ><A |
| HREF="book1.html" |
| ACCESSKEY="H" |
| >Home</A |
| ></TD |
| ><TD |
| WIDTH="33%" |
| ALIGN="right" |
| VALIGN="top" |
| ><A |
| HREF="x935.html" |
| ACCESSKEY="N" |
| >Next >>></A |
| ></TD |
| ></TR |
| ><TR |
| ><TD |
| WIDTH="33%" |
| ALIGN="left" |
| VALIGN="top" |
| >Customizing DejaGnu</TD |
| ><TD |
| WIDTH="34%" |
| ALIGN="center" |
| VALIGN="top" |
| ><A |
| HREF="c848.html" |
| ACCESSKEY="U" |
| >Up</A |
| ></TD |
| ><TD |
| WIDTH="33%" |
| ALIGN="right" |
| VALIGN="top" |
| >Board Config File</TD |
| ></TR |
| ></TABLE |
| ></DIV |
| ></BODY |
| ></HTML |
| > |