70 lines
2.7 KiB
TeX
70 lines
2.7 KiB
TeX
%==========================================================================
|
|
\chapter{Autotest Procedures}
|
|
\label{Autotest Procedures}
|
|
|
|
%==========================================================================
|
|
\section{What is autotest?}
|
|
\label{What is autotest?}
|
|
|
|
Autotest is a set of driver programs and scripts set up as a cron job to
|
|
test daily code changes.
|
|
|
|
%==========================================================================
|
|
\section{How is autotest structured?}
|
|
\label{How is autotest structured?}
|
|
|
|
The \file{linear_solvers/test/} subdirectory (in the repository) contains
|
|
\begin{enumerate}
|
|
\item various driver programs (\file{.c} files)
|
|
\item bourne shell scripts to run the driver programs
|
|
\item \file{test_drivers.sh} script calls all other scripts and writes their
|
|
results and errors to appropriate \file{.log} files.
|
|
\item the \file{autotest} script (note: this copy is not used by the cron job).
|
|
\end{enumerate}
|
|
|
|
The \file{/home/casc/software/hypre/autotest} directory contains
|
|
\begin{enumerate}
|
|
\item the \file{autotest} script which is used by the cron job.
|
|
\item the \file{linear_solvers} directory which \file{autotest} checks
|
|
out of the repository
|
|
\item the \file{autotest} script checks out the repository, configures,
|
|
makes the library, calls the \file{test_drivers.sh} script in the newly
|
|
checked out directory structure, and sets permissions.
|
|
This file should seldom change.
|
|
\end{enumerate}
|
|
|
|
%==========================================================================
|
|
\section{Features of autotest}
|
|
\label{Features of autotest}
|
|
|
|
\begin{enumerate}
|
|
\item works with the autoconfig infrastructure.
|
|
\item test suites can be added/removed easily.
|
|
\item identify failure/success of a test (future feature)
|
|
\item email code developers of test failure
|
|
\item test on all target platforms (future feature)
|
|
\end{enumerate}
|
|
|
|
%==========================================================================
|
|
\section{How to modify autotest}
|
|
\label{How to modify autotest}
|
|
|
|
\begin{enumerate}
|
|
\item create and test a driver program, e.g. \file{somedriver.c}
|
|
\item create and test a Bourne shell script to run the driver,
|
|
\file{somedriver.sh}
|
|
\item create a file with the email addresses of the appropriate
|
|
developers in it, \file{somedriver.email}
|
|
\item add \file{somedriver} to the \code{TEST_DRIVERS} variable
|
|
in the \file{test_drivers.sh} file
|
|
\item modify the Makefile.in file in the test subdirectory as follows:
|
|
\begin{itemize}
|
|
\item add the necessary information to the \code{LFLAGS} variable
|
|
\item add the necessary target information to the \code{Targets} section
|
|
\item add the necessary rules to the \code{Rules} section
|
|
\end{itemize}
|
|
\item commit all added and modified files (there is no need to
|
|
modify autotest or the crontab file)
|
|
\end{enumerate}
|
|
|