blob: ac09b613ce1db3cdf721c6fa95d26bde19f4e1af [file] [log] [blame]
<!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"
>&#60;&#60;&#60; 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 &#62;&#62;&#62;</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"
>&#13; # 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"
>&#60;&#60;&#60; 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 &#62;&#62;&#62;</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
>