[BACK]Return to faq.html CVS log [TXT][DIR] Up to [Development] / ltp-website

File: [Development] / ltp-website / faq.html (download) (as text)

Revision 1.12, Fri Dec 29 22:35:11 2000 UTC (16 years, 9 months ago) by nstraz
Branch: MAIN
CVS Tags: HEAD
Changes since 1.11: +890 -341 lines

These are the post-processed HTML files.  Do not edit these anymore!  Instead
edit the files in mp/

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>

<TITLE>SGI - Developer Central Open Source</TITLE>

<META NAME="description" content="">
<META NAME="keywords" content="">
<META NAME="owner" content="">

<!--- This style will define the main link title to look inactive --->
<STYLE><!-- .homeLink {color: #000000; text-decoration: none;} --></STYLE>

<SCRIPT LANGUAGE="JavaScript" SRC="/js/style_sniffer.js"></SCRIPT>

<!-- Stylesheet section is used to initialize the menus and the highlight menus -->
<LINK REL="stylesheet" HREF="/styles/developers.css" TYPE="text/css">

<STYLE TYPE='text/css'>
<!--
#menu0  {       position: absolute; left: 156px; top: 79px; z-index: 101; visibility: hidden; width: 107px;}
#menu0overs {   position: absolute; left: 156px; top: 79px; z-index: 111; visibility: hidden; width: 107px;}
#menu1  {       position: absolute; left: 264px; top: 79px; z-index: 102; visibility: hidden; width: 110px;}
#menu1overs {   position: absolute; left: 264px; top: 79px; z-index: 112; visibility: hidden; width: 110px;}
#menu2  {       position: absolute; left: 375px; top: 79px; z-index: 103; visibility: hidden; width: 119px;}
#menu2overs {   position: absolute; left: 375px; top: 79px; z-index: 113; visibility: hidden; width: 119px;}
#menu3  {       position: absolute; left: 495px; top: 79px; z-index: 104; visibility: hidden; width: 167px;}
#menu3overs {   position: absolute; left: 495px; top: 79px; z-index: 114; visibility: hidden; width: 167px;}
#menu4  {       position: absolute; left: 663px; top: 79px; z-index: 106; visibility: hidden; width: 116px;}
#menu4overs {   position: absolute; left: 663px; top: 79px; z-index: 116; visibility: hidden; width: 116px;}
#menu5overs {   position: absolute; left: 200px; top: 100px; z-index: 400; visibility: hidden;}

IMG.menu {border-bottom:1px white solid}
BR.menu{margin-bottom:1px}

-->
</STYLE>
<SCRIPT LANGUAGE="JavaScript">
<!--

window.onerror = null;
window.defaultStatus = '';

var initialized = 0;
var menus = new Array();
var menustatus = new Array();
var menuovers = new Array();

// initializes the menus into an array
function init(){
        if(isFour) {
                for (var i=0;i<=5;i++) {
                        menustatus[i] = "closed";
                        if (document.layers) {
                                menuovers[i] = eval("window.document.menu"+i+"overs");
                                menus[i] = eval("window.document.menu"+i);
                                if (i < 5) menuovers[i].onmouseout = menuhider;
                        } else {
                                var tmnov = (document.all)?eval("document.all.menu"+i+"overs"):document.getElementById("menu"+i+"overs");
                                var tmn = (document.all)?eval("document.all.menu"+i):document.getElementById("menu"+i);
                                menuovers[i] = tmnov.style;
                                menus[i] = tmn.style;
                                if (i < 5) tmnov.onmouseout = menuhider;
                        }
                }
        }
        initialized = true;
}

// Sets the selected menu to visible
function change(Name,Image,No) {
        if (initialized) {
                document [Name].src = eval(Image + No + ".src");
                if (Name == 'imgmenu0') document ['imgcrnr'].src = eval("nav_prod_corner" + No + ".src");
                var menunumber = parseInt(Name.charAt(7));
                if((isFour)&&(No)&&(menustatus[menunumber] == 'closed')) {
                        menuovers[menunumber].visibility = 'visible';
                        menuovers[menunumber].zIndex = '310';
                        menus[menunumber].visibility = 'visible';
                        menus[menunumber].zIndex = '300';
                        menustatus[menunumber] = 'open';
                }
        }
}

// Clears all menus
function clearmenus() {
        if (initialized) {
                change('imgmenu0','nav_prd',0);
                change('imgmenu1','nav_sol',0);
                //change('imgmenu2','nav_dev',0);
                change('imgmenu3','nav_srv',0);
                change('imgmenu4','nav_fun',0);
                if(isFour) {
                        for(i=0; i<menus.length; i++) {
                                if(menustatus[i] == 'open') {
                                        menuovers[i].visibility = 'hidden';
                                        menuovers[i].zIndex = '110';
                                        menus[i].visibility = 'hidden';
                                        menus[i].zIndex = '100';
                                        menustatus[i] = 'closed';
                                }
                        }
                }
        }
}

// Turns the highlighted part of a menu to visible
function imagerep(imgname, divname){
        if(isFour){
                if (document.layers)
                        eval("window.document."+divname+".document['"+imgname+"'].src="+imgname+"over.src")
                else
                        eval("document['"+imgname+"'].src="+imgname+"over.src");
        }
}

// Turns off the highlighted part of a menu
function eraseimage(imgname, divname){
        if(isFour) {
                if(document.layers)
                        eval("window.document."+divname+".document['"+imgname+"'].src=blank.src");
                else
                        eval("document['" + imgname + "'].src = blank.src");
        }
}

// Used to clear the menu after the mouse leaves it
function menuhider(evnt) {
        if (initialized) {
                if (window.event) {
                        if (window.event.toElement.className != "menu")
                                clearmenus();
                } else if (evnt.target) {
                        if(evnt.target.id || evnt.target.className != "menu")
                                clearmenus();
                }
        }
}

// Caches the dropdown menus
if (document.images) {

        // Products Menu
        var serversover=new Image();
        serversover.src="/images/nav/drop_prod_servers.gif";
        var workstationsover=new Image();
        workstationsover.src="/images/nav/drop_prod_workstations.gif";
        var swover=new Image();
        swover.src="/images/nav/drop_prod_soft.gif";
        var vissysover=new Image();
        vissysover.src="/images/nav/drop_prod_vissys.gif";
        var storageover=new Image();
        storageover.src="/images/nav/drop_prod_storage.gif";
        var remanover=new Image();
        remanover.src="/images/nav/drop_prod_reman.gif";
        var peripheralsover=new Image();
        peripheralsover.src="/images/nav/drop_prod_peripherals.gif";

        // Solutions Menu
        var manover=new Image();
        manover.src="/images/nav/drop_sol_man.gif";
        var scienceover=new Image();
        scienceover.src="/images/nav/drop_sol_science.gif";
        var defenseover=new Image();
        defenseover.src="/images/nav/drop_sol_defense.gif";
        var telcoover=new Image();
        telcoover.src="/images/nav/drop_sol_telco.gif";

        // Developers Menu
        var toolsover=new Image();
        toolsover.src="/images/nav/drop_dev_prod.gif";
        var programsover=new Image();
        programsover.src="/images/nav/drop_dev_prog.gif";
        var libraryover=new Image();
        libraryover.src="/images/nav/drop_dev_libr.gif";
        var opensourceover=new Image();
        opensourceover.src="/images/nav/drop_dev_oss.gif";
        var opsysover=new Image();
        opsysover.src="/images/nav/drop_dev_opsys.gif";
        var resourcesover=new Image();
        resourcesover.src="/images/nav/drop_dev_reso.gif";

        // Support Menu
        var profover=new Image();
        profover.src="/images/nav/drop_supp_prof.gif";
        var prdvtyover=new Image();
        prdvtyover.src="/images/nav/drop_supp_prdvty.gif";
        var ortover=new Image();
        ortover.src="/images/nav/drop_supp_ort.gif";
        var eduover=new Image();
        eduover.src="/images/nav/drop_supp_edu.gif";
        var onlineover=new Image();
        onlineover.src="/images/nav/drop_supp_online.gif";

        // Fun Menu
        var gamesover=new Image();
        gamesover.src="/images/nav/drop_fun_games.gif";
        var webdevover=new Image();
        webdevover.src="/images/nav/drop_fun_webdev.gif";
        var softdevover=new Image();
        softdevover.src="/images/nav/drop_fun_softdev.gif";
        var graphicsover=new Image();
        graphicsover.src="/images/nav/drop_fun_graphics.gif";
        var sysadminover=new Image();
        sysadminover.src="/images/nav/drop_fun_sysadmin.gif";
        var freewareover=new Image();
        freewareover.src="/images/nav/drop_fun_freeware.gif";

        // Clear GIF
        var blank=new Image();
        blank.src="/images/dots/dot_clear.gif";

        // Products Rollover
        nav_prod_corner0=new Image();
        nav_prod_corner0.src="/images/nav/nav_prod_corner0.gif";
        nav_prod_corner1=new Image();
        nav_prod_corner1.src="/images/nav/nav_prod_corner1.gif";
        nav_prd0=new Image();
        nav_prd0.src="/images/nav/nav_prod0.gif";
        nav_prd1=new Image();
        nav_prd1.src="/images/nav/nav_prod1.gif";

        // Solutions Rollover
        nav_sol0=new Image();
        nav_sol0.src="/images/nav/nav_solutions0.gif";
        nav_sol1=new Image();
        nav_sol1.src="/images/nav/nav_solutions1.gif";

        // Developers Rollover
        nav_dev0=new Image();
        nav_dev0.src="/images/nav/nav_dev0.gif";
        nav_dev1=new Image();
        nav_dev1.src="/images/nav/nav_dev1.gif";

        // Support Rollover
        nav_srv0=new Image();
        nav_srv0.src="/images/nav/nav_support0.gif";
        nav_srv1=new Image();
        nav_srv1.src="/images/nav/nav_support1.gif";

        // Fun Rollover
        nav_fun0=new Image();
        nav_fun0.src="/images/nav/nav_fun0.gif";
        nav_fun1=new Image();
        nav_fun1.src="/images/nav/nav_fun1.gif";
}

// Is This Netscape 4 or up?
var isFour = (parseInt(navigator.appVersion) > 3);

//-->
</SCRIPT>

</HEAD>

<BODY ONLOAD="init()" TEXT="#000000" LINK="#420077" ALINK="#7700A2" VLINK="#110042" BGCOLOR="#FFFFFF" MARGINHEIGHT="0" MARGINWIDTH="0" LEFTMARGIN="0" TOPMARGIN="0">

<!-- Global Navigation Include (Developers) -->
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#7C7F87">
    <TD ROWSPAN="3" WIDTH="126"><A HREF="http://www.sgi.com/"><IMG SRC="/images/common/sgi_logo_us.gif" ALT="www.sgi.com" HEIGHT="79" WIDTH="126" BORDER="0"></A></TD>
    <TD>
        <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="657" VALIGN="top">
        <TR>
            <TD WIDTH="212"><IMG SRC="/images/dots/dot_clear.gif" WIDTH="1" HEIGHT="54"></TD>
            <TD WIDTH="285" VALIGN="top"><A HREF="http://www.sgi.com/sales/"><IMG
                SRC="/images/nav/nav_buy.gif"   HEIGHT="21" WIDTH="60"  BORDER="0"></A><IMG
                SRC="/images/nav/nav_top_spacer.gif" HEIGHT="21" WIDTH="15" BORDER="0"><A HREF="http://www.sgi.com/resellers/"><IMG
                SRC="/images/nav/nav_resellers.gif" HEIGHT="21" WIDTH="61" BORDER="0"></A><IMG
                SRC="/images/nav/nav_top_spacer.gif" HEIGHT="21" WIDTH="15" BORDER="0"><A HREF="http://www.sgi.com/company_info/"><IMG
                SRC="/images/nav/nav_company_info.gif" HEIGHT="21" WIDTH="73" BORDER="0"></A><IMG
                SRC="/images/nav/nav_top_spacer.gif" HEIGHT="21" WIDTH="15" BORDER="0"><A HREF="http://www.sgi.com/employment/"><IMG
                SRC="/images/nav/nav_careers.gif" HEIGHT="21" WIDTH="46" BORDER="0"></A></TD>
            <TD WIDTH="160" ALIGN="right" VALIGN="top"><A HREF="http://www.sgi.com/search/" ONCLICK="if(isFour){menuovers[5].visibility='visible';return false;}"><IMG
                SRC="/images/nav/nav_search.gif" HEIGHT="26" WIDTH="67" BORDER="0"></A><A HREF="http://www.sgi.com/"><IMG
                SRC="/images/nav/nav_home1.gif" HEIGHT="26" WIDTH="59" BORDER="0"></A></TD>
        </TR>
        </TABLE></TD>
</TR>
<TR BGCOLOR="#7C7F87">
    <TD WIDTH="100%"><A HREF="javascript:void(0)" ONMOUSEOVER="clearmenus()"><IMG
        SRC="/images/dots/dot_clear.gif" HEIGHT="2" WIDTH="657" BORDER="0"></A></TD>
</TR>

<!-- Nav Menus -->
<TR BGCOLOR="#CFCFCF">
    <TD WIDTH="100%">
        <A HREF="http://www.sgi.com/products/" ONMOUSEOVER="clearmenus()"><IMG
           SRC="/images/nav/nav_prod_corner0.gif"       ALT=""                  WIDTH="30"      HEIGHT="23" BORDER="0" NAME="imgcrnr"></A><IMG
           SRC="/images/nav/nav_prod0.gif"              ALT="[Products]"        WIDTH="108"     HEIGHT="23" BORDER="0" NAME="imgmenu0" USEMAP="#menu0map"><IMG
           SRC="/images/nav/nav_solutions0.gif"         ALT="[Solutions]"       WIDTH="111"     HEIGHT="23" BORDER="0" NAME="imgmenu1" USEMAP="#menu1map"><IMG
           SRC="/images/nav/nav_dev1.gif"               ALT="[Developers]"      WIDTH="120"     HEIGHT="23" BORDER="0" NAME="imgmenu2" USEMAP="#menu2map"><IMG
           SRC="/images/nav/nav_support0.gif"           ALT="[Support]"         WIDTH="168"     HEIGHT="23" BORDER="0" NAME="imgmenu3" USEMAP="#menu3map"><IMG
           SRC="/images/nav/nav_fun0.gif"               ALT="[Serious Fun]"     WIDTH="117"     HEIGHT="23" BORDER="0" NAME="imgmenu4" USEMAP="#menu4map"><A
           HREF="javascript:void(0)" ONMOUSEOVER="clearmenus()"><IMG SRC="/images/dots/dot_clear.gif" WIDTH="2" HEIGHT="23" BORDER="0" ALT="-"
        ></A></TD>
</TR>
</TABLE>

<!-- End Global Navigation -->
<TABLE WIDTH="780" BORDER="0" CELLPADDING="0" CELLSPACING="0">
<TR>
    <!--- This is the site banner TD --->
    <TD COLSPAN="5" ALIGN="RIGHT">


<!-- Begin Site Banner --->
<A HREF="http://www.sgi.com/developers/oss/"><IMG SRC="/images/ban_open.gif" ALT="Open Source" WIDTH="271" HEIGHT="68" BORDER="0"></A>
<!-- End Site Banner --->

<!--- Do not remove the next four lines before the sidenav --->
</TD>
</TR>
<TR VALIGN="TOP">
        <TD WIDTH="130">

<!-- Start Side Nav -->

<DIV ID="sidenav">
 <!-- Start Library Tools Sub Navigation Bar -->
 <!-- Start OSS Sub Navigation Bar -->
 <TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0" WIDTH="130">
 
 <!-- About --> 
 <TR VALIGN="TOP">
 <TR><TD><IMG SRC="/images/common/bullets_dev.gif" ALT="" WIDTH="30" HEIGHT="10"></TD>
 <TD><A HREF="../../about/system.html">About this site</A></TD></TR>
 <TR><TD><IMG SRC="/images/dots/dot_clear.gif" ALT="" HEIGHT="20" WIDTH="1"></TD><TD></TD></TR>
 
 <!-- Project Menu -->
 <TR VALIGN="TOP">
 <TD><IMG SRC="/images/common/bullets_dev.gif" ALT="" WIDTH="30" HEIGHT="10"></TD>
 <TD><B>Linux Test Project</B></TD></TR>
 <TR><TD><IMG SRC="/images/dots/dot_clear.gif" ALT="" HEIGHT="8" WIDTH="1"></TD><TD></TD></TR>
 <TR><TD></TD><TD><A HREF="index.html">Overview</A></TD></TR>
 <TR><TD><IMG SRC="/images/dots/dot_clear.gif" ALT="" HEIGHT="8" WIDTH="1"></TD><TD></TD></TR>
 <TR><TD></TD><TD><A HREF="news.html">News</A></TD></TR>
 <TR><TD><IMG SRC="/images/dots/dot_clear.gif" ALT="" HEIGHT="8" WIDTH="1"></TD><TD></TD></TR>
 <TR><TD></TD><TD> <FONT FACE="ARIAL, HELVETICA" SIZE="2"><font color="#207575"><b>FAQ</b></font></TD></TR>
 <TR><TD><IMG SRC="/images/dots/dot_clear.gif" ALT="" HEIGHT="8" WIDTH="1"></TD><TD></TD></TR>
 <TR><TD></TD><TD><A HREF="mail.html">Mailing List</A></TD></TR>
 <TR><TD><IMG SRC="/images/dots/dot_clear.gif" ALT="" HEIGHT="8" WIDTH="1"></TD><TD></TD></TR>
 <TR><TD></TD><TD><A HREF="contribute.html">How to Contribute</A></TD></TR>
 <TR><TD><IMG SRC="/images/dots/dot_clear.gif" ALT="" HEIGHT="8" WIDTH="1"></TD><TD></TD></TR>
 <TR><TD></TD><TD>Source [<A HREF="cvs_download.html">CVS</A> 
 | <A HREF="http://oss.sgi.com/cgi-bin/cvsweb.cgi/ltp/">Web</A>]</TD></TR>
 <TR><TD><IMG SRC="/images/dots/dot_clear.gif" ALT="" HEIGHT="8" WIDTH="1"></TD><TD></TD></TR>
 <TR><TD></TD><TD><A HREF="ftp://oss.sgi.com/projects/ltp/download/">Download</A></TD></TR>
 <TR><TD><IMG SRC="/images/dots/dot_clear.gif" ALT="" HEIGHT="8" WIDTH="1"></TD><TD></TD></TR>
 <TR><TD></TD><TD><A HREF="license.html">License</A></TD></TR>
 <TR><TD><IMG SRC="/images/dots/dot_clear.gif" ALT="" HEIGHT="8" WIDTH="1"></TD><TD></TD></TR>
 <TR><TD></TD><TD><A HREF="glossary.html">Glossary</A></TD></TR>
 <TR><TD><IMG SRC="/images/dots/dot_clear.gif" ALT="" HEIGHT="20" WIDTH="1"></TD><TD></TD></TR>
 
 <!-- Project List link -->
 <TR VALIGN="TOP">
 <TD><IMG SRC="/images/common/bullets_dev.gif" ALT="" WIDTH="30" HEIGHT="10"></TD>
 <TD><B>SGI Open Source</B></TD></TR>
 <TR><TD><IMG SRC="/images/dots/dot_clear.gif" ALT="" HEIGHT="8" WIDTH="1"></TD><TD></TD></TR>
 <TR><TD></TD><TD><A HREF="/projects/">Project List</A></TD></TR>
 <TR><TD><IMG SRC="/images/dots/dot_clear.gif" ALT="" HEIGHT="20" WIDTH="1"></TD><TD></TD></TR>
 </TABLE>
 </DIV> 


<!-- End Side Nav -->
</TD>

<TD WIDTH="30" VALIGN="TOP"><IMG SRC="/images/dots/dot_clear.gif" WIDTH="30" HEIGHT="2" ALT=""></TD><TD>

<DIV CLASS="content">

<!-- Content Starts Here -->
<!-- Start Project Content -->


  <FONT FACE="ARIAL NARROW, HELVETICA" SIZE="5"><B>LTP FAQ</B></FONT>
  <p>
  <i>Our FAQ is a bit unorganized at this point.  We're adding questions as they pop up.  When topic areas
  become clear, we'll reorder the questions into topic areas.</i>
  <P>
  <FONT FACE="ARIAL NARROW, HELVETICA">
  <!-- questions section -->
  
  <p>
  <a href="#Q1"><b>What is LTP ?</b></a><br>
  <a href="#Q2"><b>Linux already has a successful testing model.  How will this project benefit Linux further?</b></a><br>
  <a href="#Q3"><b>What is in the LTP, so far. </b></a><br>
  <a href="#Q4"><b>How do I build this?</b></a><br>
  <a href="#Q5"><b>How do I run this?  How does it work?</b></a><br>
  <a href="#Q6"><b>How do I analyze the results?</b></a><br>
  <a href="#Q7"><b>What if a test program reports a failure?</b></a><br>
  <a href="#Q8"><b>What is a test?</b></a><br>
  <a href="#Q8"><b>Are you doing benchmarking?</b></a><br>
  <a href="#Q8"><b>Are you doing standards testing?</b></a><br>
  
  
  
  <hr noshade size=1>
  
  <!-- answers section -->
  <a name="Q1"></a>
  <h3>What is LTP ?</h3>
  LTP is the Linux Test Project.  LTP is a project that aims to develop a set of
  tools and tests to verify the functionality and stability of the Linux kernel
  (including regression tests).  We hope this will support Linux development by
  making unit testing more complete and minimizing user impact by building a
  barrier to keep bugs from making it to the user.
  
  <p>
  <a name="Q2"></a>
  <h3>Linux already has a successful testing model.  How will this project benefit
  Linux further?</h3>
  The Linux development community utilizes two important (some would argue most
  important) testing techniques in it's normal operations: Design and Code
  Inspections.  The intent of LTP is to support this by giving developers an ever
  growing set of tools to help identify any operational problems in their code
  that may be missed by human review.  One of the toughest categories of problems
  to catch with inspection is that of interaction of features.  With a
  continuously improving set of tests and tools, developers can get an indication
  of whether their changes may have broken some other functionality.
  <p>
  There is no such thing as a perfect test base.  It's only useful if it keeps up
  with new and changing functionality, and if it actually gets used.
  
  <p>
  <a name="Q3"></a>
  <h3>What is in the LTP, so far? </h3>
  The first release of code from SGI for LTP was a set of tools for testing file
  systems.  Since that first release, a group of tests we call <i>Quickhit</i>
  tests have been released.  These are simple tests aimed at running through a few
  execution paths in a number of system calls.  Watch the news link for updates on
  the content of the LTP releases.
  
  <p>
  <a name="Q4"></a>
  <h3>How do I build this?</h3>
  
  We've made a decision to not put effort into a grand build process in favor of a
  minimal makefile approach.  We did this because the project is just starting and
  we don't want to impose an "SGI approach" in favor of a more open source
  approach decided more by open source contributors.  For now, from the root of
  the tree, a simple 'make' should do it.  Send your build errata to
  ltp@oss.sgi.com.
  
  <p>
  <a name="Q5"></a>
  <h3>How do I run this?  How does it work?</h3>
  <b>Simple Answer:</b> <code>./runalltests.sh</code>
  <p><b>Hard Answer:</b> Any way you want to.  We have provided some example
  scripts and files that you can use as a starting point, but it is only a
  starting point.  The tests can be run individually or with the help of a test
  driver.  We have included a test driver called "pan" that is easy to use.  
  <p>
  A problem that needs to be addressed is how to store different command lines and
  determining when to run them.  A couple examples are, should a bigmem test be
  run on a 128Mb system?  Should a file system test that requires 2Gb of scratch
  space be run on a system without such a test space?  These two examples
  highlight a couple of issues that need to be addressed in regard to the runtime
  framework for tests.
  <p>
  <a name="Q6"></a>
  <h3>How do I analyze the results?</h3>
  Our philosophy on writing functional tests is that each test program is
  responsible for setting up an environment for testing the target functionality,
  performing an operation using the target functionality, and then analyzing
  whether the functionality performed according to expectations and reporting the
  results.  Reporting the results can take a couple of different forms.  
  
  <p>
  The simplest form is the exit status of the program.  If a test hits a scenario
  where it finds unexpected or improper results, calling <font
  face="courier">exit()</font> with a non-zero exit status would flag the caller
  that the test failed for some reason.  Conversely, if the test completes with
  the functionality performing as expected, a zero exit would flag the caller that
  the test passed.  Summarizing: <font face="courier"> exit(0)==PASS,
  exit(!0)==FAIL</font>.  Additionally, the test program could report some sort of
  information on standard output indicating why the test passed or failed.
  
  <p>
  Another form of results reporting used within SGI is a hybrid of the <font
  face="courier">exit()</font> style reporting.  It still uses the exit status for
  reporting, but incorporates a standard format for output from standard output of
  the test program.  This accomplishes two things: allows the reporting of the
  functional testing results to be more understandable for both humans and a
  computer analysis tool and allows more than one test case result to be reported
  from within one test program.  This is in contrast to a pure exit status
  analysis where a test program may contain N test cases and one test case fails,
  the test program returns a non-zero value.  It appears that the whole test
  fails.  Compare this to a scenario where a test reports for each test case a
  PASS or FAIL token on standard output.
  
  <p>
  For quick clarity, take this example:
  
  <font face="courier">
 <pre>
 $ ./dup02
 dup02       1  PASS : dup(-1) Failed, errno=9 : Bad file descriptor
 dup02       2  PASS : dup(1500) Failed, errno=9 : Bad file descriptor
 </pre></font>
  
  dup02 is a test program that tests a couple of scenarios for the dup() call.
  Each of the test cases call dup() in an effort to be sure dup() responds with a
  correct errno value after deliberately calling dup() with bad arguments.  In
  both cases above, dup() is called with non-existent (1500) or undefined (-1)
  file descriptor values.  In both cases, dup() should respond with an errno
  indicating a 'Bad File Descriptor'.  In both cases, the test reports that dup()
  responded as expected by printing a PASS token.
  
  <p>
  Additionally, the exit status should be zero, indicating all the test cases
  passed.  Accessing the exit status of the test program can be reported
  immediately after running the test program by printing the $? variable.
  
  <font face="courier"><pre>
  $ echo $?
  0
  </pre></font>
  
  <p>
  Finally, we can analyze the results of the dup02 test program on two fronts.  We
  can see from the two PASS lines, that both test cases in the dup02 program
  passed.  We can also see from the exit status that the dup02 program as a whole
  passed.
  
  <p>
  <a name="Q7"></a>
  <h3>What if a test program reports a failure?</h3>
  
  After a failure report, analysis consists of three parts: determining what test
  case reported the failure, determining if the reported failure was really a
  failure, and comparing results with a passing baseline.
  <p>
  Determining what test case is reporting a failure is sometimes a challenge.  In
  some cases, in a multiple test case test program, previous test cases can cause
  failure in subsequent test cases.  If a test is well written, the output on
  standard output can be useful.
  <p>
  Once the test case the "failure" is occuring under is isolated, determining
  whether the "failure" is really a failure needs to be determined.  If a test is
  poorly written and certain environmental conditions are not handled properly, a
  false failure may occur.
  <p>
  Comparing the failure on the system under test against a baseline system is
  important.  If the test fails on a system but it is unknown if it ever passed on
  any other system, it is not possible to determine if the problem is a new
  failure.  Comparing how the functionality under test performs on the baseline
  against how it acts on the test system is the most important method for
  determining how the "failure" occured.
  <p>
  <a name="Q8"></a>
  <h3>What is a test?</h3>
  Take a look at the LTP Glossary at <a href="glossary.html">http://oss.sgi.com/projects/ltp/glossary.html</a>.  It covers
  some of the basic testing definitions, including 'test'.
  <p>
  In software testing, the word 'test' has become overloaded and increasingly
  tough to define.  In operating system testing, we might be able to categorize
  tests into a few different areas: functional (regression), duration, stress
  (load), and performance.
  
  <p>
  <a name="Q9"></a>
  <h3>Are you doing benchmarking?</h3>
  Not at this time.  We're more interested in functional, regression, and stress
  testing the Linux kernel.  Benchmarking may be workable to compare the
  performace among Linux versions.
  
  <p>
  <a name="Q10"></a>
  <h3>Are you doing standards testing?</h3>
  No, we're leaving that to Linux Standard Base (LSB).  Check out 
  <a href="http://www.freestandards.org/">http://www.freestandards.org/</a>.
  
  </font>
  <IMG src="/images/dot_clear.gif" WIDTH="400" HEIGHT="1">
  </TD>
  </TR>
  </TABLE>
  
  <P>
  <CENTER>
  <!---- Virtual Footer ---->
  
      <TABLE WIDTH="400" CELLPADDING="0" CELLPADDING="0" BORDER="0">
  <TR>
    <TD  ALIGN="RIGHT">
      <FONT FACE="Helvetica, Arial" SIZE="-1"><a
  	href="../../about/system.html">about this site</a> &nbsp;|&nbsp; <A
  	href="http://www.sgi.com/company_info/privacy.html">privacy policy</A></FONT>
    </TD>
    <TD  ALIGN="CENTER">
      <FONT FACE="Helvetica, Arial">
        |
      </FONT>
    </TD>
    <TD  ALIGN="LEFT">
      <FONT FACE="Helvetica, Arial" SIZE="-1"><A HREF="mailto:owner-ltp@oss.sgi.com">owner(s) of project ltp</A></FONT>
    </TD>
  </TR>
  <TR>
    <TD  ALIGN="RIGHT">
      <FONT FACE="Helvetica, Arial" SIZE="-2"><A HREF="http://www.sgi.com/company_info/copyright.html">Copyright &copy; 1999 Silicon Graphics, Inc.</A> All rights reserved.</FONT>
  
    </TD>
    <TD ALIGN="CENTER">
      <FONT FACE="Helvetica, Arial">
        |
      </FONT>
    </TD>
    <TD  ALIGN="LEFT">
      <FONT FACE="Helvetica, Arial" SIZE="-2"><A HREF="http://www.sgi.com/company_info/trademarks/">Trademark Information</A></FONT>
    </TD>
  </TR>
  </TABLE>
  
  
  </BODY>
  </HTML>
  


</P>
<!-- End Project Content -->
<!-- Content ends here -->
</DIV>
</TD><TD 
WIDTH="20" VALIGN="TOP"><IMG SRC="/images/dots/dot_clear.gif" WIDTH="20" HEIGHT="1" ALT=""></TD><TD 
WIDTH="50" VALIGN="TOP"><IMG SRC="/images/dots/dot_clear.gif" WIDTH="50" HEIGHT="1" ALT="">

<!-- Begin trademark footer -->
    </TD>
</TR>
<TR>
    <TD COLSPAN="2">&nbsp;</TD>
    <TD COLSPAN="3" VALIGN="BOTTOM" ALIGN="MIDDLE"><BR><BR><BR>
        <TABLE WIDTH="600" CELLPADDING="0" CELLPADDING="0" BORDER="0">
        <TR>
            <TD ALIGN="RIGHT" CLASS="footer"><A HREF="http://www.sgi.com/company_info/privacy.html" TARGET="_top">privacy policy</A>&nbsp;</TD>
            <TD ALIGN="CENTER" CLASS="footer"> | </TD>
            <TD ALIGN="LEFT" CLASS="footer"><A HREF="/cgi-bin/mailto" TARGET="TOP">project owner(s)</A></TD>
        </TR><TR>
            <TD ALIGN="RIGHT" CLASS="footer"><A HREF="http://www.sgi.com/company_info/copyright.html" TARGET="_top">Copyright &copy; 1993-2000 Silicon Graphics, Inc.</A> All rights reserved.</TD>
            <TD ALIGN="CENTER" CLASS="footer"> | </TD>
            <TD ALIGN="LEFT" CLASS="footer"><A HREF="http://www.sgi.com/company_info/trademarks/" TARGET="_top">Trademark Information</A></TD>
        </TR>
        </TABLE>
    </TD>
</TR>
</TABLE>

<!-- End trademark footer -->

<!-- javascript/CGI links and images so the linkscan checker finds them-->
<A HREF="/images/common/javascript.html"></A>
<!-- end links and images -->

<MAP NAME="menu0map"><AREA SHAPE="RECT" COORDS="2,0 106,23" HREF="http://www.sgi.com/products/"   ONMOUSEOVER="clearmenus();change('imgmenu0','nav_prd',1)" ONMOUSEOUT="if(!isFour)clearmenus()"></MAP>
<MAP NAME="menu1map"><AREA SHAPE="RECT" COORDS="2,0 109,23" HREF="http://www.sgi.com/solutions/"  ONMOUSEOVER="clearmenus();change('imgmenu1','nav_sol',1)" ONMOUSEOUT="if(!isFour)clearmenus()"></MAP>
<MAP NAME="menu2map"><AREA SHAPE="RECT" COORDS="2,0 118,23" HREF="http://www.sgi.com/developers/" ONMOUSEOVER="clearmenus();change('imgmenu2','nav_dev',1)" ONMOUSEOUT="if(!isFour)clearmenus()"></MAP>
<MAP NAME="menu3map"><AREA SHAPE="RECT" COORDS="2,0 166,23" HREF="http://www.sgi.com/support/"    ONMOUSEOVER="clearmenus();change('imgmenu3','nav_srv',1)" ONMOUSEOUT="if(!isFour)clearmenus()"></MAP>
<MAP NAME="menu4map"><AREA SHAPE="RECT" COORDS="2,0 115,23" HREF="http://www.sgi.com/fun/"        ONMOUSEOVER="clearmenus();change('imgmenu4','nav_fun',1)" ONMOUSEOUT="if(!isFour)clearmenus()"></MAP>

<FONT COLOR="#FFFFFF">
<SCRIPT LANGUAGE="JavaScript">
<!--
// If the browser does not support stylesheets then the rest is put in an incomplete table.
        if(!isFour)document.write((navigator.appName.indexOf('Netscape'))?'<TABLE BORDER="0" HEIGHT="1" WIDTH="1"><TR><TD>':'<STY'+'LE>');
//-->
</SCRIPT>
<NOSCRIPT><TABLE BORDER="0" HEIGHT="1" WIDTH="1"><TR><TD></NOSCRIPT>

<DIV ID="menu0"><IMG SRC="/images/nav/drop_prod.gif" BORDER="0" HEIGHT="111" HSPACE="0" VSPACE="0" WIDTH="107" ALT="Products Menu"></DIV>
<DIV ID="menu0overs">
<A HREF="http://www.sgi.com/servers/"
        ONMOUSEOVER="imagerep('servers', 'menu0overs')"
        ONMOUSEOUT="eraseimage('servers', 'menu0overs')"
        CLASS="menu"><IMG
                SRC="/images/dots/dot_clear.gif"
                ALT="Servers"
                BORDER="0" HEIGHT="15" HSPACE="0" NAME="servers" VSPACE="0" WIDTH="107" CLASS="menu"><BR CLASS="menu"></A>
<A HREF="http://www.sgi.com/workstations/"
        ONMOUSEOVER="imagerep('workstations', 'menu0overs')"
        ONMOUSEOUT="eraseimage('workstations', 'menu0overs')"
        CLASS="menu"><IMG
                SRC="/images/dots/dot_clear.gif"
                ALT="Workstations"
                BORDER="0" HEIGHT="15" HSPACE="0" NAME="workstations" VSPACE="0" WIDTH="107" CLASS="menu"><BR CLASS="menu"></A>
<A HREF="http://www.sgi.com/software/"
        ONMOUSEOVER="imagerep('sw', 'menu0overs')"
        ONMOUSEOUT="eraseimage('sw', 'menu0overs')"
        CLASS="menu"><IMG
                SRC="/images/dots/dot_clear.gif"
                ALT="Software"
                BORDER="0" HEIGHT="15" HSPACE="0" NAME="sw" VSPACE="0" WIDTH="107" CLASS="menu"><BR CLASS="menu"></A>
<A HREF="http://www.sgi.com/software/"
        ONMOUSEOVER="imagerep('vissys', 'menu0overs')"
        ONMOUSEOUT="eraseimage('vissys', 'menu0overs')"
        CLASS="menu"><IMG
                SRC="/images/dots/dot_clear.gif"
                ALT="Visualization"
                BORDER="0" HEIGHT="15" HSPACE="0" NAME="vissys" VSPACE="0" WIDTH="107" CLASS="menu"><BR CLASS="menu"></A>
<A HREF="http://www.sgi.com/products/storage/"
        ONMOUSEOVER="imagerep('storage', 'menu0overs')"
        ONMOUSEOUT="eraseimage('storage', 'menu0overs')"
        CLASS="menu"><IMG
                SRC="/images/dots/dot_clear.gif"
                ALT="Storage"
                BORDER="0" HEIGHT="15" HSPACE="0" NAME="storage" VSPACE="0" WIDTH="107" CLASS="menu"><BR CLASS="menu"></A>
<A HREF="http://www.sgi.com/products/remanufactured/"
        ONMOUSEOVER="imagerep('reman', 'menu0overs')"
        ONMOUSEOUT="eraseimage('reman', 'menu0overs')"
        CLASS="menu"><IMG
                SRC="/images/dots/dot_clear.gif"
                ALT="Remanufactured"
                BORDER="0" HEIGHT="15" HSPACE="0" NAME="reman" VSPACE="0" WIDTH="107" CLASS="menu"><BR CLASS="menu"></A>
<A HREF="http://www.sgi.com/peripherals/"
        ONMOUSEOVER="imagerep('peripherals', 'menu0overs')"
        ONMOUSEOUT="eraseimage('peripherals', 'menu0overs')"
        CLASS="menu"><IMG
                SRC="/images/dots/dot_clear.gif"
                ALT="Peripherals"
                BORDER="0" HEIGHT="15" HSPACE="0" NAME="peripherals" VSPACE="0" WIDTH="107" CLASS="menu"><BR CLASS="menu"></A>
</DIV>

<DIV ID="menu1"><A HREF="http://www.sgi.com/solutions/" onmouseout="clearmenus()"><IMG SRC="/images/nav/drop_sol.gif" WIDTH="110" HEIGHT="58" BORDER="0" ALT="Solutions Menu"></A></DIV>
<DIV ID="menu1overs">
<A HREF="http://www.sgi.com/manufacturing/"
        ONMOUSEOVER="imagerep('man', 'menu1overs')"
        ONMOUSEOUT="eraseimage('man', 'menu1overs')"
        CLASS="menu"><IMG
                SRC="/images/dots/dot_clear.gif"
                ALT="Manufacturing"
                BORDER="0" HEIGHT="15" HSPACE="0" NAME="man" VSPACE="0" WIDTH="110" CLASS="menu"><BR CLASS="menu"></A>
<A HREF="http://www.sgi.com/chembio/"
        ONMOUSEOVER="imagerep('science', 'menu1overs')"
        ONMOUSEOUT="eraseimage('science', 'menu1overs')"
        CLASS="menu"><IMG
                SRC="/images/dots/dot_clear.gif"
                ALT="Sciences"
                BORDER="0" HEIGHT="15" HSPACE="0" NAME="science" VSPACE="0" WIDTH="110" CLASS="menu"><BR CLASS="menu"></A>
<!-- 
<A HREF="http://www.sgi.com/solutions/"
        ONMOUSEOVER="imagerep('defense', 'menu1overs')"
        ONMOUSEOUT="eraseimage('defense', 'menu1overs')"
        CLASS="menu"><IMG
                SRC="/images/dots/dot_clear.gif"
                ALT="Intelligence/Defense"
                BORDER="0" HEIGHT="15" HSPACE="0" NAME="defense" VSPACE="0" WIDTH="110" CLASS="menu"><BR CLASS="menu"></A>
-->
<A HREF="http://www.sgi.com/solutions/broadband/"
        ONMOUSEOVER="imagerep('telco', 'menu1overs')"
        ONMOUSEOUT="eraseimage('telco', 'menu1overs')"
        CLASS="menu"><IMG
                SRC="/images/dots/dot_clear.gif"
                ALT="Telecommunications and Media"
                BORDER="0" HEIGHT="26" HSPACE="0" NAME="telco" VSPACE="0" WIDTH="110" CLASS="menu"><BR CLASS="menu"></A>
</DIV>

<DIV ID="menu2"><IMG SRC="/images/nav/drop_dev.gif" BORDER="0" WIDTH="119" HEIGHT="95" HSPACE="0" VSPACE="0" ALT="Developers Menu"></DIV>
<DIV ID="menu2overs">
<A HREF="http://www.sgi.com/developers/devtools/"
        ONMOUSEOVER="imagerep('tools','menu2overs')"
        ONMOUSEOUT="eraseimage('tools','menu2overs')"
        CLASS="menu"><IMG
                SRC="/images/dots/dot_clear.gif"
                ALT="Developer Tools"
                BORDER="0" HEIGHT="15" HSPACE="0" NAME="tools" VSPACE="0" WIDTH="119" CLASS="menu"><BR CLASS="menu"></A>
<A HREF="http://www.sgi.com/developers/program/"
        ONMOUSEOVER="imagerep('programs','menu2overs')"
        ONMOUSEOUT="eraseimage('programs','menu2overs')"
        CLASS="menu"><IMG
                SRC="/images/dots/dot_clear.gif"
                ALT="Developer Programs"
                BORDER="0" HEIGHT="15" HSPACE="0" NAME="programs" VSPACE="0" WIDTH="119" CLASS="menu"><BR CLASS="menu"></A>
<A HREF="http://www.sgi.com/developers/library/"
        ONMOUSEOVER="imagerep('library','menu2overs')"
        ONMOUSEOUT="eraseimage('library','menu2overs')"
        CLASS="menu"><IMG
                SRC="/images/dots/dot_clear.gif"
                ALT="Developer Library"
                BORDER="0" HEIGHT="15" HSPACE="0" NAME="library" VSPACE="0" WIDTH="119" CLASS="menu"><BR CLASS="menu"></A>
<A HREF="http://www.sgi.com/developers/marketing/"
        ONMOUSEOVER="imagerep('resources','menu2overs')"
        ONMOUSEOUT="eraseimage('resources','menu2overs')"
        CLASS="menu"><IMG
                SRC="/images/dots/dot_clear.gif"
                ALT="Developer Resources"
                BORDER="0" HEIGHT="15" HSPACE="0" NAME="resources" VSPACE="0" WIDTH="119" CLASS="menu"><BR CLASS="menu"></A>
<A HREF="http://www.sgi.com/developers/technology/"
        ONMOUSEOVER="imagerep('opsys','menu2overs')"
        ONMOUSEOUT="eraseimage('opsys','menu2overs')"
        CLASS="menu"><IMG
                SRC="/images/dots/dot_clear.gif"
                ALT="Developer Technology"
                BORDER="0" HEIGHT="15" HSPACE="0" NAME="opsys" VSPACE="0" WIDTH="119" CLASS="menu"><BR CLASS="menu"></A>
<A HREF="http://www.sgi.com/developers/oss/"
        ONMOUSEOVER="imagerep('opensource','menu2overs')"
        ONMOUSEOUT="eraseimage('opensource','menu2overs')"
        CLASS="menu"><IMG
                SRC="/images/dots/dot_clear.gif"
                ALT="Open Source"
                BORDER="0" HEIGHT="15" WIDTH="119" NAME="opensource" HSPACE="0" VSPACE="0" CLASS="menu"><BR CLASS="menu"></A>
</DIV>

<DIV ID="menu3"><IMG SRC="/images/nav/drop_supp.gif" BORDER="0" HEIGHT="79" HSPACE="0" VSPACE="0" WIDTH="167" ALT="Services and Support Menu"></DIV>
<DIV ID="menu3overs">
<A HREF="http://www.sgi.com/services/"
        ONMOUSEOVER="imagerep('prof', 'menu3overs');"
        ONMOUSEOUT="eraseimage('prof', 'menu3overs');"
        CLASS="menu"><IMG
                SRC="/images/dots/dot_clear.gif"
                ALT="Professional Services"
                BORDER="0" HEIGHT="15" HSPACE="0" NAME="prof" VSPACE="0" WIDTH="167" CLASS="menu"><BR CLASS="menu"></A>
<A HREF="http://www.sgi.com/support/patch_intro.html"
        ONMOUSEOVER="imagerep('prdvty', 'menu3overs')"
        ONMOUSEOUT="eraseimage('prdvty', 'menu3overs')"
        CLASS="menu"><IMG
                SRC="/images/dots/dot_clear.gif"
                ALT="Productivity Services"
                BORDER="0" HEIGHT="15" HSPACE="0" NAME="prdvty" VSPACE="0" WIDTH="167" CLASS="menu"><BR CLASS="menu"></A>
<A HREF="http://www.sgi.com/support/custreg.html"
        ONMOUSEOVER="imagerep('ort', 'menu3overs');"
        ONMOUSEOUT="eraseimage('ort', 'menu3overs');"
        CLASS="menu"><IMG
                SRC="/images/dots/dot_clear.gif"
                ALT="Support Services"
                BORDER="0" HEIGHT="15" HSPACE="0" NAME="ort" VSPACE="0" WIDTH="167" CLASS="menu"><BR CLASS="menu"></A>
<A HREF="http://www.sgi.com/support/custeducation/"
        ONMOUSEOVER="imagerep('edu', 'menu3overs');"
        ONMOUSEOUT="eraseimage('edu', 'menu3overs');"
        CLASS="menu"><IMG
                SRC="/images/dots/dot_clear.gif"
                ALT="Education Services"
                BORDER="0" HEIGHT="15" HSPACE="0" NAME="edu" VSPACE="0" WIDTH="167" CLASS="menu"><BR CLASS="menu"></A>
<A HREF="http://support.sgi.com/"
        ONMOUSEOVER="imagerep('online', 'menu3overs');"
        ONMOUSEOUT="eraseimage('online', 'menu3overs');"
        CLASS="menu"><IMG
                SRC="/images/dots/dot_clear.gif"
                ALT="Online Support"
                BORDER="0" HEIGHT="15" HSPACE="0" NAME="online" VSPACE="0" WIDTH="167" CLASS="menu"><BR CLASS="menu"></A>
</DIV>

<DIV ID="menu4"><A HREF="/fun/" onmouseout="clearmenus()"><IMG SRC="/images/nav/drop_fun.gif" WIDTH="116" HEIGHT="95" BORDER="0" ALT="Fun Menu"></A></DIV>
<DIV ID="menu4overs">
<A HREF="http://www.sgi.com/fun/freeware/games.html"
        ONMOUSEOVER="imagerep('games', 'menu4overs');"
        ONMOUSEOUT="eraseimage('games', 'menu4overs');"
        CLASS="menu"><IMG
                SRC="/images/dots/dot_clear.gif"
                ALT="Games"
                BORDER="0" HEIGHT="15" HSPACE="0" NAME="games" VSPACE="0" WIDTH="116" CLASS="menu"><BR CLASS="menu"></A>
<A HREF="http://www.sgi.com/fun/freeware/web.html"
        ONMOUSEOVER="imagerep('webdev', 'menu4overs');"
        ONMOUSEOUT="eraseimage('webdev', 'menu4overs');"
        CLASS="menu"><IMG
                SRC="/images/dots/dot_clear.gif"
                ALT="Web Development"
                BORDER="0" HEIGHT="15" HSPACE="0" NAME="webdev" VSPACE="0" WIDTH="116" CLASS="menu"><BR CLASS="menu"></A>
<A HREF="http://www.sgi.com/fun/freeware/software.html"
        ONMOUSEOVER="imagerep('softdev', 'menu4overs');"
        ONMOUSEOUT="eraseimage('softdev', 'menu4overs');"
        CLASS="menu"><IMG
                SRC="/images/dots/dot_clear.gif"
                ALT="Software Development"
                BORDER="0" HEIGHT="15" HSPACE="0" NAME="softdev" VSPACE="0" WIDTH="116" CLASS="menu"><BR CLASS="menu"></A>
<A HREF="http://www.sgi.com/fun/freeware/graphics.html"
        ONMOUSEOVER="imagerep('graphics', 'menu4overs');"
        ONMOUSEOUT="eraseimage('graphics', 'menu4overs');"
        CLASS="menu"><IMG
                SRC="/images/dots/dot_clear.gif"
                ALT="Graphics"
                BORDER="0" HEIGHT="15" HSPACE="0" NAME="graphics" VSPACE="0" WIDTH="116" CLASS="menu"><BR CLASS="menu"></A>
<A HREF="http://www.sgi.com/fun/freeware/sysadmin.html"
        ONMOUSEOVER="imagerep('sysadmin', 'menu4overs');"
        ONMOUSEOUT="eraseimage('sysadmin', 'menu4overs');"
        CLASS="menu"><IMG
                SRC="/images/dots/dot_clear.gif"
                ALT="System Administration"
                BORDER="0" HEIGHT="15" HSPACE="0" NAME="sysadmin" VSPACE="0" WIDTH="116" CLASS="menu"><BR CLASS="menu"></A>
<A HREF="http://freeware.sgi.com/"
        ONMOUSEOVER="imagerep('freeware', 'menu4overs');"
        ONMOUSEOUT="eraseimage('freeware', 'menu4overs');"
        CLASS="menu"><IMG
                SRC="/images/dots/dot_clear.gif"
                ALT="Freeware"
                BORDER="0" HEIGHT="15" HSPACE="0" NAME="freeware" VSPACE="0" WIDTH="116" CLASS="menu"><BR CLASS="menu"></A>
</DIV>

<DIV ID="menu5overs">
<TABLE BORDER=0 BGCOLOR="#7C7F87" CELLPADDING=1 CELLSPACING=0><TR><TD>
<TABLE BORDER="0" CELLPADDING="2" CELLSPACING="0" WIDTH="150">
<TR BGCOLOR="#7C7F87">
    <TD>SGI Search</TD>
    <TD ALIGN="right"><A HREF="javascript:void(0)" onClick="menuovers[5].visibility='hidden'"><IMG SRC="/images/common/srch_close_x.gif" ALT="X" BORDER=0></A></TD>
</TR>
<TR BGCOLOR="#CFCFCF">
    <TD COLSPAN=2 ALIGN=CENTER>
        <FORM ACTION="http://www.sgi.com/cgi-bin/surfsrch.cgi" METHOD="GET">
                <INPUT TYPE="HIDDEN" NAME="cmd" VALUE="search">
                <INPUT TYPE="HIDDEN" NAME="coll" VALUE="0650">
                <SELECT NAME="db">
                    <OPTION VALUE="All" SELECTED>All of SGI
                    <OPTION VALUE="Hardware;Software">Products
                    <OPTION VALUE="Solutions">Solutions
                    <OPTION VALUE="Developer">Developers
                    <OPTION VALUE="Support">Services & Support
                    <OPTION VALUE="Fun">Fun
                </SELECT>
                <BR><BR>
                <INPUT NAME="srch" SIZE="30">
                <BR><NOBR>
                <INPUT TYPE="submit" VALUE=" Search ">&nbsp;<INPUT TYPE="button" VALUE=" Cancel " onClick="menuovers[5].visibility='hidden'">
                </NOBR>
        </FORM>
    </TD>
</TR>
</TABLE>
</TD></TR></TABLE>
</DIV>
<DIV ID="menu5"></DIV>

<SCRIPT LANGUAGE="JavaScript">
<!--
        if(!isFour)document.write((navigator.appName.indexOf('Netscape'))?'</TD></TR>':'</STY'+'LE>');
//-->
</SCRIPT>
</FONT>
</TABLE>
</BODY>
</HTML>