automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

automake document section 15 change


From: Arthur Schwarz
Subject: automake document section 15 change
Date: Mon, 13 Apr 2015 12:34:44 -0700

I am very much a novice at this so if I have made (some) mistake(s) please
tell me how to correct them.

I have a suggested change to the general introduction given in Section 15
"support for test suites" section of the manual. Before I proceed with any
additional input/changes/opinions/or anything I would like to submit my
suggestions. If they are favorably received then I will continue as best I
can. My viewpoint is to contribute and not criticize. 

The .tex file generated was generated using Open Office vrs. 4.1.1 with
extension writer2latex. This is my first use and I have not the slightest
idea whether it works or how well it works (if you have suggestions of using
a .tex reader then I'd be grateful).

I am including the original Open Office file as an attachment. If this is
the wrong thing to do (or it is unnecessary) then I will no longer include
these types of documents.

I have looked at the generated .tex file and I don't see any of my created
figures. If figures are not supported I suppose that text and effort are
wasted. 

Art

The failure of the past is the challenge of the present and the success of
the future.

===========================  .tex
=========================================

% This file was converted to LaTeX by Writer2LaTeX ver. 1.4
% see http://writer2latex.sourceforge.net for more info
\documentclass[12pt]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage{amsmath}
\usepackage{amssymb,amsfonts,textcomp}
\usepackage{color}
\usepackage{array}
\usepackage{supertabular}
\usepackage{hhline}
\usepackage{hyperref}
\hypersetup{pdftex, colorlinks=true, linkcolor=blue, citecolor=blue,
filecolor=blue, urlcolor=blue, pdftitle=, pdfauthor=skidmarks , pdfsubject=,
pdfkeywords=}
% Text styles
\newcommand\textstyleBulletSymbols[1]{\textrm{#1}}
% Headings and outline numbering
\makeatletter
address@hidden
35in}{\normalfont\normalsize\normalcolor\fontsize{12pt}{14.4pt}\selectfont\r
mfamily\bfseries\upshape}}
address@hidden @textstyle#1\endcsname{\csname
the#1\endcsname}\csname @distance#1\endcsname}
\setcounter{secnumdepth}{0}
address@hidden
address@hidden
address@hidden
address@hidden
\makeatother
\makeatletter
address@hidden
\makeatother
\raggedbottom
% Paragraph styles
\renewcommand\familydefault{\rmdefault}
\newenvironment{styleTextbody}{\setlength\leftskip{0in}\setlength\rightskip{
0in}\setlength\parindent{0in}\setlength\parfillskip{0pt plus
1fil}\setlength\parskip{0.2in plus
0.02in}\writerlistparindent\writerlistleftskip\leavevmode\normalfont\normals
ize\normalcolor\writerlistlabel\ignorespaces}{\unskip\vspace{0in plus
1pt}\par}
\newenvironment{stylePx}{\setlength\leftskip{0.25in}\setlength\rightskip{0in
}\setlength\parindent{-0.25in}\setlength\parfillskip{0pt plus
1fil}\setlength\parskip{0.05in plus
0.005in}\writerlistparindent\writerlistleftskip\leavevmode\normalfont\normal
size\normalcolor\writerlistlabel\ignorespaces}{\unskip\vspace{0in plus
1pt}\par}
\newenvironment{styleFramecontents}{\setlength\leftskip{0in}\setlength\right
skip{0in}\setlength\parindent{0in}\setlength\parfillskip{0pt plus
1fil}\setlength\parskip{0.2in plus
0.02in}\writerlistparindent\writerlistleftskip\leavevmode\normalfont\normals
ize\normalcolor\writerlistlabel\ignorespaces}{\unskip\vspace{0in plus
1pt}\par}
% List styles
\newcommand\writerlistleftskip{}
\newcommand\writerlistparindent{}
\newcommand\writerlistlabel{}
\newcommand\writerlistremovelabel{\aftergroup\let\aftergroup\writerlistparin
dent\aftergroup\relax\aftergroup\let\aftergroup\writerlistlabel\aftergroup\r
elax}
\newcommand\labellistLileveli{\textstyleBulletSymbols{{\textbullet}}}
\newcommand\labellistLilevelii{\textstyleBulletSymbols{{\textbullet}}}
\newcommand\labellistLileveliii{\textstyleBulletSymbols{{\textbullet}}}
\newcommand\labellistLileveliv{\textstyleBulletSymbols{{\textbullet}}}
\newenvironment{listLileveli}{\def\writerlistleftskip{\setlength\leftskip{0.
5in}}\def\writerlistparindent{}\def\writerlistlabel{}\def\item{\def\writerli
stparindent{\setlength\parindent{-0.25in}}\def\writerlistlabel{\makebox[0cm]
[l]{\labellistLileveli}\hspace{0.25in}\writerlistremovelabel}}}{}
\newenvironment{listLilevelii}{\def\writerlistleftskip{\setlength\leftskip{0
.75in}}\def\writerlistparindent{}\def\writerlistlabel{}\def\item{\def\writer
listparindent{\setlength\parindent{-0.25in}}\def\writerlistlabel{\makebox[0c
m][l]{\labellistLilevelii}\hspace{0.25in}\writerlistremovelabel}}}{}
\newenvironment{listLileveliii}{\def\writerlistleftskip{\setlength\leftskip{
1in}}\def\writerlistparindent{}\def\writerlistlabel{}\def\item{\def\writerli
stparindent{\setlength\parindent{-0.25in}}\def\writerlistlabel{\makebox[0cm]
[l]{\labellistLileveliii}\hspace{0.25in}\writerlistremovelabel}}}{}
\newenvironment{listLileveliv}{\def\writerlistleftskip{\setlength\leftskip{1
.25in}}\def\writerlistparindent{}\def\writerlistlabel{}\def\item{\def\writer
listparindent{\setlength\parindent{-0.25in}}\def\writerlistlabel{\makebox[0c
m][l]{\labellistLileveliv}\hspace{0.25in}\writerlistremovelabel}}}{}
\setlength\tabcolsep{1mm}
\renewcommand\arraystretch{1.3}
\usepackage{palatino}
\usepackage[bluelace,screen,nopanel,sectionbreak]{pdfscreen}
%\hypersetup{pdfpagemode={FullScreen}}
\margins{0.5in}{0.5in}{0.5in}{0.5in}
\screensize{6in}{8in}
\sloppy
\title{}
\author{skidmarks }
\date{2015-04-13}
\begin{document}
\subsection{15 Support for test suites}
\begin{styleTextbody}
The purpose of testing is to determine whether a program or system behaves
as expected. Tests executed after initial
introduction of a program or system are known as regression tests.
Regression tests determine correct functionality of
a program or system and, after maintenance releases, check new functionality
and determine that fixes do not 'break'
older releases, that is, incorrect functionality in older releases do not
resurface.
\end{styleTextbody}

\begin{styleTextbody}
\ The minimal unit of testing is a 'test case.. Where many test cases are
aggregated and executed during the same test
run, the aggregation is called a 'test suite'. That is, a 'test suite' is
composed of one or more 'test cases'. Each
'test case' determines correct execution of one or more bits of program or
system functionality.
\end{styleTextbody}

\begin{styleTextbody}
To be useful, each 'test case' within a 'test suite' must have a means to
report the status of a given test, and the
'test suite' must have a means of reporting the aggregate status of all
'test cases' contained within the suite. \ \ \ 
\end{styleTextbody}

\begin{styleTextbody}
A 'test case' is said to 'pass' when the returned result of testing is the
same as the expected result of running the
test. There are several possibilities for a returned result. The 'test case'
results are:
\end{styleTextbody}

\begin{listLileveli}
\item 
\begin{stylePx}
PASS: the test succeeded.
\end{stylePx}
\item 
\begin{stylePx}
FAIL: the test failed.
\end{stylePx}
\item 
\begin{stylePx}
SKIP: the test was not executed. \ \ 
\end{stylePx}
\end{listLileveli}
\begin{styleTextbody}
\ \ \ These results are compared to test expectations in the following way:
\end{styleTextbody}


\bigskip

\begin{center}
\tablefirsthead{\centering{\bfseries EXPECT} &
\centering{\bfseries TEST} &
\centering{\bfseries RESULT} &
\centering\arraybslash{\bfseries DESCRIPTION}\\}
\tablehead{\centering{\bfseries EXPECT} &
\centering{\bfseries TEST} &
\centering{\bfseries RESULT} &
\centering\arraybslash{\bfseries DESCRIPTION}\\}
\tabletail{}
\tablelasttail{}
\begin{supertabular}{m{0.7045598in}m{0.51295984in}m{0.7045598in}m{4.0629597i
n}}
PASS &
PASS &
PASS &
The expected result and the actual result agree.\\
PASS &
FAIL &
FAIL &
The expected result and the actual result disagree. \\
FAIL &
FAIL &
XFAIL &
The expected result and the actual result agree.\\
FAIL &
PASS &
XPASS &
The expected result and the actual result disagree.\\
~
 &
SKIP &
PASS &
Test not executed.\\
~
 &
HARD &
FAIL &
Test precondition prevented test execution.\\
\end{supertabular}
\end{center}
\begin{styleTextbody}
When the 'test case' result and the expected result agree, then the test is
said to pass. If the expected result is PASS
and the test passes, then the result is PASS. If the exected result is FAIL
and the test fails, then the result is
XFAIL. If the expected result is PASS and the 'test case' result is FAIL,
then the result is FAIL. If the 'test case'
is expected to FAIL and it PASSes, then the result is XPASS. XPASS is
considered as a failure. If the 'test case' was
SKIPed, then the result is nominally PASS.
\end{styleTextbody}

\begin{styleTextbody}
If some required precondition is not satisfied and a test case in a test
suite or all test cases in the test suite can
not be executed, then this is considered as a HARD error and all effected
'test cases' are marked as not executing. For
example, if a required library or program is not available then this would
constitute a HARD failure.
\end{styleTextbody}

\begin{styleTextbody}
Automake generates a make file which contains the test harness. The test
harness contains a test driver to execute
desired tests. The developer instructs Automake what test harness is wanted,
what test driver to use, and what test
cases to execute. The aggregate value of executing all test cases is the
test suite value. 
\end{styleTextbody}

\begin{styleTextbody}
The generated make file uses the test harness to report the value of the
test driver executing each test case. The
aggregated value of executing all tests, the test suite value, is reported
by by the test harness at completion.
Looking at the \textbf{RESULT} values above, a single \textbf{FAIL} in
execution of any test case will cause the test
suite to \textbf{FAIL}. 
\end{styleTextbody}

\begin{styleTextbody}
The developer's Automake generation process is diagrammatically represented
as:
\end{styleTextbody}

\begin{styleTextbody}
The developers requirements for the test harness, test driver, and test
cases are presented to \ automake which
generates a make file for the user.
\end{styleTextbody}

\begin{figure}
\centering
\begin{minipage}{4.6272in}
\begin{styleFramecontents}
[Warning: Draw object ignored]
\end{styleFramecontents}
\end{minipage}
\end{figure}
\begin{styleTextbody}
The user's perspective begins with a request to run the test driver, ``make
check''. At this point, make executes the
developer chosen test harness which in it's turn executes the developer
chosen test driver. The test driver executes
each of the developer identified test cases and reports the results back to
the test harness. The test harness shows
the user the result of executing each test case and the aggregate result of
executing the test suite. The users
perspective is diagramatically given below.
\end{styleTextbody}

\begin{styleTextbody}
In summary there is a developer perspective and a user perspective. The
developer chooses the test harness, the test
drivers, and the test suite. Automake generates a make file which the user
executes. The user executes the developer
provided test suite by executing the \newline
{}``make check'' command as a shell command. Make then executes the test
harness which executes the test driver. The
test driver executes each test case in the test suite and reports the result
back to the test harness. The test harness
reports the result of executing each test case to the user and reports the
aggregate result of executing all tests (the
test suite result).
\end{styleTextbody}

\begin{styleTextbody}
[Warning: Draw object ignored]
\end{styleTextbody}
\begin{figure}
\centering
\begin{minipage}{5.239in}

\bigskip
\end{minipage}
\end{figure}
\end{document}

Attachment: automake.odt
Description: application/vnd.oasis.opendocument.text


reply via email to

[Prev in Thread] Current Thread [Next in Thread]