global.html   [plain text]


<!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.64
"><LINK
REL="HOME"
TITLE="DejaGnu"
HREF="book1.html"><LINK
REL="UP"
TITLE="Customizing DejaGnu"
HREF="customizing.html"><LINK
REL="PREVIOUS"
TITLE="Customizing DejaGnu"
HREF="customizing.html"><LINK
REL="NEXT"
TITLE="Board Config File"
HREF="boardconfig.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><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="customizing.html"
>&#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="boardconfig.html"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="GLOBAL"
>Global Config File</A
></H1
><P
>The master config file is where all the target specific
      config variables get set 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="addboard.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
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="customizing.html"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="book1.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="boardconfig.html"
>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="customizing.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Board Config File</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>