#LyX 2.0 created this file. For more info see http://www.lyx.org/ \lyxformat 413 \begin_document \begin_header \textclass article \begin_preamble % Include the proper LaTeX packages: %---------------------------------------------------------------------------------------------------- \usepackage{graphicx} \usepackage{titling} \usepackage{ifthen} \usepackage[absolute]{textpos} \usepackage[colorlinks=true, pagecolor=black, menucolor=black, linkcolor=black, citecolor=blue, pagebordercolor=1 1 1, urlcolor=red, plainpages=false, pdfpagelabels=true, bookmarksnumbered=true]{hyperref} \usepackage{lastpage} \newcommand{\reportTopic}{} \newcommand{\revisionNumber}{} \newcommand{\documentNumber}{} % Setup the right-hand header to display the current doc section: %---------------------------------------------------------------------------------------------------- \renewcommand{\sectionmark}[1]{\markright{#1}} \renewcommand{\subsectionmark}[1]{\markright{#1}} % Setup for roman numeral page numbers until TOC: %---------------------------------------------------------------------------------------------------- \newboolean{romanpn} \pagenumbering{roman} \setboolean{romanpn}{true} \let\myTOC\tableofcontents \renewcommand\tableofcontents{% \myTOC \clearpage \pagenumbering{arabic} \setboolean{romanpn}{false} } % Modify titlepage format: %---------------------------------------------------------------------------------------------------- \setlength{\TPHorizModule}{1in} \setlength{\TPVertModule}{\TPHorizModule} \textblockorigin{3.25in}{1in} \pretitle { \begin{flushright}\LARGE\sffamily \thispagestyle{empty} \begin{textblock}{4}(0,0) \includegraphics[width=2in,keepaspectratio=true] {/home/matt/data/megatest/docs/megatest_logo.png} \end{textblock} \vspace{1in} } \posttitle{\par\end{flushright}} \preauthor{\begin{flushright} \large \sffamily \lineskip 0.5em \begin{tabular}[t]{c}} \postauthor{\end{tabular} \par\end{flushright}} \predate{\begin{flushright}\large \sffamily Document Number: \documentNumber \\ Revision Number: \revisionNumber \\} \postdate{ \vspace{2in} \\Matt Welland. \par\end{flushright}} % Setup "fancy" page layout: %---------------------------------------------------------------------------------------------------- \fancyhf{} \setlength{\topmargin}{-1in} \setlength{\headheight}{1in} \setlength{\headsep}{0.5in} \setlength{\oddsidemargin}{0.25in} \setlength{\evensidemargin}{\oddsidemargin} \setlength{\textwidth}{6in} \setlength{\headwidth}{\textwidth} \setlength{\textheight}{8.375in} \setlength{\footskip}{0.5in} % Setup header: %------------------------------------------------------------------------------------------ \fancyhead[L]{\sffamily \bfseries \large Megatest.\\\mdseries \reportTopic} \fancyhead[R]{\sffamily \bfseries \large User Manual\\ \mdseries \nouppercase{\rightmark}} % Setup footer: %------------------------------------------------------------------------------------------ \renewcommand{\footrulewidth}{0.4pt} \fancyfoot[L]{\sffamily \bfseries \documentNumber \\ \mdseries Revision: \revisionNumber} \fancyfoot[C]{\sffamily \bfseries\thedate \\ \mdseries Free Software. License: GPL v2.0} \fancyfoot[R]{\ifthenelse{\boolean{romanpn}}{\sffamily \thepage}{\sffamily \bfseries Page \thepage\ of \pageref{LastPage}}} \end_preamble \use_default_options false \maintain_unincluded_children false \language english \language_package default \inputencoding auto \fontencoding global \font_roman times \font_sans helvet \font_typewriter courier \font_default_family default \use_non_tex_fonts false \font_sc false \font_osf false \font_sf_scale 100 \font_tt_scale 100 \graphics default \default_output_format default \output_sync 0 \bibtex_command default \index_command default \paperfontsize 11 \spacing single \use_hyperref false \papersize letterpaper \use_geometry false \use_amsmath 1 \use_esint 0 \use_mhchem 0 \use_mathdots 1 \cite_engine basic \use_bibtopic false \use_indices false \paperorientation portrait \suppress_date false \use_refstyle 0 \index Index \shortcut idx \color #008000 \end_index \secnumdepth 3 \tocdepth 3 \paragraph_separation skip \defskip medskip \quotes_language english \papercolumns 1 \papersides 1 \paperpagestyle fancy \tracking_changes false \output_changes false \html_math_output 0 \html_css_as_file 0 \html_be_strict false \end_header \begin_body \begin_layout Standard \begin_inset ERT status open \begin_layout Plain Layout \backslash renewcommand{ \backslash documentNumber}{TSETAGEM-011} \end_layout \end_inset \end_layout \begin_layout Standard \begin_inset ERT status open \begin_layout Plain Layout \backslash renewcommand{ \backslash reportTopic}{Logpro User Manual} \end_layout \end_inset \end_layout \begin_layout Standard \begin_inset ERT status open \begin_layout Plain Layout \backslash renewcommand{ \backslash revisionNumber}{v1.25} \end_layout \end_inset \end_layout \begin_layout Title \begin_inset ERT status open \begin_layout Plain Layout \backslash reportTopic \end_layout \end_inset \end_layout \begin_layout Author Matthew Welland \end_layout \begin_layout Date Sept. 20, \end_layout \begin_layout Standard \begin_inset ERT status open \begin_layout Plain Layout \backslash thispagestyle{empty} \end_layout \end_inset \end_layout \begin_layout Standard \begin_inset Newpage newpage \end_inset \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash copyright \end_layout \end_inset 2011 Matthew Welland. All rights reserved. \end_layout \begin_layout Standard Logpro is free software released under the General Public License v2.0. Please see the file COPYING in the source distribution for details. \end_layout \begin_layout Standard \begin_inset VSpace medskip \end_inset Email: matt@kiatoa.com. \end_layout \begin_layout Standard Web: www.kiatoa.com/fossils/Logpro \end_layout \begin_layout Standard \begin_inset VSpace medskip \end_inset This document is believed to be acurate at the time of writing but as with any opensource project the source code itself is the final arbiter of the softwares behaviour. It is the responsibility of the end user to validate that the code will perform as they expect. The author assumes no responsibility for any inaccuracies that this document may contain. In no event will Matthew Welland be liable for direct, indirect, special, exemplary, incidental, or consequential damages resulting from any defect or omission in this document, even if advised of the possibility of such damages. \end_layout \begin_layout Standard This document is a snapshot in time and the Logpro software has likely been changed since publication. This document and the product that it describes may be improved at any time, without notice or obligation. \end_layout \begin_layout Standard \begin_inset Newpage newpage \end_inset \end_layout \begin_layout Section* Logpro/document Revision History \end_layout \begin_layout Standard \shape italic Notable revisions of the software are occasionally documented here \shape default . \end_layout \begin_layout Standard \align center \begin_inset Tabular \begin_inset Text \begin_layout Plain Layout Version \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout Author \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout Description \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout Date \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout v1.03 \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout matt \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout New document \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash thedate \end_layout \end_inset \end_layout \end_inset \end_inset \end_layout \begin_layout Standard \begin_inset Newpage newpage \end_inset \begin_inset CommandInset toc LatexCommand tableofcontents \end_inset \end_layout \begin_layout Standard \begin_inset Newpage newpage \end_inset \end_layout \begin_layout Section Introduction \end_layout \begin_layout Subsection Logpro design philosophy \end_layout \begin_layout Standard Logpro is intended to provide the minimum needed resources to make writing a suite of tests for software, design engineering or process control (via owlfs for example) without being specialized for any specific problem space. Logpro in of itself does not know what constitutes a PASS or FAIL of a test. In most cases Logpro is best used in conjunction with Logpro or a similar tool to parse, analyze and decide on the test outcome. A call to Logpro can then be made to record the result. \end_layout \begin_layout Subsection Logpro architecture \end_layout \begin_layout Standard All data to specify the tests and configure the system is stored in plain text files. All system state is stored in an sqlite3 database. Tests are launched using the launching system available for the distributed compute platform in use. A template script is provided which can launch jobs on local and remote Linux hosts. Currently Logpro uses the network filesystem to \begin_inset Quotes eld \end_inset call home \begin_inset Quotes erd \end_inset to your master sqlite3 database. \end_layout \begin_layout Section Installation \end_layout \begin_layout Subsection Dependencies \end_layout \begin_layout Standard Chicken scheme and a number of \begin_inset Quotes eld \end_inset eggs \begin_inset Quotes erd \end_inset are required for building Logpro. See the file utils/installall.sh for an automated way to install the dependencie s on Linux. \end_layout \begin_layout Subsection Build and Install \end_layout \begin_layout Standard Run “make test” to create the Logpro executable. You may wish to copy the executable to a centrally accessible location. \end_layout \begin_layout Section Setup \end_layout \begin_layout Subsection Create a .logpro file \end_layout \begin_layout Standard \begin_inset listings inline false status open \begin_layout Plain Layout \end_layout \end_inset \end_layout \begin_layout Section Reference \end_layout \begin_layout Subsection Logpro Command File Syntax \end_layout \begin_layout Subsubsection triggers \end_layout \begin_layout Standard \begin_inset listings inline false status open \begin_layout Plain Layout \end_layout \end_inset \end_layout \begin_layout Subsubsection trigger:non-required \end_layout \begin_layout Subsubsection section \end_layout \begin_layout Subsubsection expect:values \end_layout \begin_layout Standard (expect:value where section value tol name patt [expires \begin_inset Quotes eld \end_inset MM/DD/YY \begin_inset Quotes erd \end_inset ](type 'value)(matchnum 1) \end_layout \begin_layout Standard \begin_inset listings inline false status open \begin_layout Plain Layout \end_layout \end_inset \end_layout \begin_layout Subsubsection expect:required \end_layout \begin_layout Subsubsection expect:ignore \end_layout \begin_layout Subsubsection expect:waive \end_layout \begin_layout Subsubsection Setting a variable by running a command \end_layout \begin_layout Standard \begin_inset listings inline false status open \begin_layout Plain Layout VARNAME [system ls /tmp] \end_layout \end_inset \end_layout \begin_layout Standard The variable “VARNAME” will get a value created by the Unix command “ls /tmp”. All lines of output from the command will be joined with a space. \end_layout \begin_layout Subsubsection Notes \end_layout \begin_layout Itemize Some variables are infered as lists. Each token on the line separated by whitespace will be member of the list. \end_layout \begin_layout Itemize Comments (lines starting with #) and blank lines are ignored. \end_layout \begin_layout Subsection Environment variables \end_layout \begin_layout Standard \begin_inset Tabular \begin_inset Text \begin_layout Plain Layout Variable \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout Purpose \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout MT_CMDINFO \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout Conveys test variables to the Logpro test runner. \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout MT_TEST_RUN_DIR \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout Directory assigned by Logpro for the test to run. \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout MT_TEST_NAME \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout Name of the test, corrosponds to the directory name under tests. \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout MT_ITEM_INFO \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout Iterated tests will set this to a sequence of key/values ((KEY val) ...) \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout MT_RUN_AREA_HOME \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout Directory where Logpro was launched from and where the tests code can be found \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout MT_RUNNAME \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout Name of this run as set by the :runname parameter \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout MT_Logpro \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout Path/Filename to Logpro executable. Found either from called path or but using the “exectuable” keyword in the [setup] section. \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout .... \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout The field values as set on the Logpro -runall command line (e.g. :field1 abc) \end_layout \end_inset \end_inset \end_layout \begin_layout Subsection Logpro.config \end_layout \begin_layout Standard \begin_inset Tabular \begin_inset Text \begin_layout Plain Layout section \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout variable \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout value \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout required \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout comment \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout [setup] \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout max_concurrent_jobs \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout if variable is not defined no limit on jobs \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout no \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout executable \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout full path to Logpro binary \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout no \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout Use only if necessary, Logpro will extract the location from where it used to launch and add append that to the PATH for test runs. \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout runsdir \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout full path to where the link tree to all runs will be created \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout no \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout Because your runs may be spread out over several disk partitions a central link tree is created to make finding all the runs easy. \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout [fields] \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout string of letters, numbers and underscore \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout string of letters, numbers and underscore \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout at least one \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout [jobtools] \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout launcher \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout command line used to launch jobs - the job command (Logpro -execute) will be appended to this \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout no \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout workhosts \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout list of hostnames to run jobs on NOT SUPPORTED RIGHT NOW \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout n/a \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout [env-override] \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout string of letters, numbers and underscore \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout any string \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout no \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout These are set on the test launching machine, not the test running machine. Typical usage is to control the host or run queue for launching tests. These values will not be seen by the test when it runs. \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout [disks] \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout string of letters, numbers and underscore \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout a valid path writable by the test launching process and by the test process \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout yes \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout The disk usage balancing algorithm is to choose the disk with the least space for each test run. \end_layout \end_inset \end_inset \end_layout \begin_layout Subsection runconfigs.config file \end_layout \begin_layout Standard \begin_inset Tabular \begin_inset Text \begin_layout Plain Layout section \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout variable \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout value \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout required? \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout comment \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout [default] \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout string of letters, numbers and underscore \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout any \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout no \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout variables set in this section will be available for all runs, defining the same variable in another section will override the value from the default section \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout [field1value/field2value...] \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout string of letters, numbers and underscore \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout any \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout no \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout the values in this section will be set for any run where field1 is field1value, field2 is field2value and fieldN is fieldNvalue. \end_layout \end_inset \end_inset \end_layout \begin_layout Standard Example: a test suite that checks that a piece of software works correctly for different customer configurations and locations each of which is done as a separate release regression run. The fields, CUSTOMER and LOCATION were chosen. The following runconfigs.config file would set some variables specific to runs for megacorp in India and femtocorp in the Cook Islands and New Zealand: \end_layout \begin_layout Standard \begin_inset listings inline false status open \begin_layout Plain Layout # runconfigs.config \end_layout \begin_layout Plain Layout [default] \end_layout \begin_layout Plain Layout ENCRYTION true \end_layout \begin_layout Plain Layout \end_layout \begin_layout Plain Layout [megacorp/india] \end_layout \begin_layout Plain Layout TESTPATH /nfs/testing/megacorp_runs \end_layout \begin_layout Plain Layout \end_layout \begin_layout Plain Layout [femtocorp/cook_islands] \end_layout \begin_layout Plain Layout ENCRYTION false \end_layout \begin_layout Plain Layout TESTPATH /afs/kiatoa/testing/cook_islands \end_layout \begin_layout Plain Layout \end_layout \begin_layout Plain Layout [femtocorp/new_zealand] \end_layout \begin_layout Plain Layout TESTPATH /afs/kiatoa/testing/new_zealand \end_layout \begin_layout Plain Layout \end_layout \begin_layout Plain Layout [megacorp/new_zealand] \end_layout \begin_layout Plain Layout TESTPATH /nfs/testing/megacorp_runs \end_layout \end_inset \end_layout \begin_layout Paragraph* Running Logpro like this: \end_layout \begin_layout Code Logpro :CUSTOMER megacorp :LOCATION new_zealand :runname week12_2011_run1 -runall \end_layout \begin_layout Paragraph* Would set: \end_layout \begin_layout Code ENCRYPTION true \end_layout \begin_layout Code TESTPATH /nfs/testing/megacorp_runs \end_layout \begin_layout Subsection Writing tests \end_layout \begin_layout Subsubsection testconfig file \end_layout \begin_layout Standard \begin_inset Tabular \begin_inset Text \begin_layout Plain Layout section \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout variable \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout value \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout required? \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout comments \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout [setup] \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout runscript \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout name of script to execute for this test \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout yes \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout The script must be executable and either provide the full path or put a copy at the top of your test directory \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout [requirements] \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout waiton \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout list of valid test names \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout no \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout This test will not run until the named tests are state completed and status PASS \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout [items] \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout any valid \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout list of values \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout no \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout The test will be repeated once for each item with the variable name set to the value. If there is more than one variable then the test will be run against all unique combinations of the values \end_layout \end_inset \end_inset \end_layout \begin_layout Subsubsection Command line \end_layout \begin_layout Standard \begin_inset Tabular \begin_inset Text \begin_layout Plain Layout switch or param \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout parameter \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout purpose \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout comments \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout -h \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout brief help \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout -runall \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout run all tests \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout -runtests \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout test1,test2,... \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout run one or more tests \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout -step \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout stepname \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout record a step \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout requires :state and :status \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout -test-status \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout record the test status \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout requires :state and :status \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout -setlog \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout logfilename \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout set the logfile name for a test \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout path is assumed to be relative to the test run directory \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout -set-toplog \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout logfilename \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout set the logfile name for the top test in an iterated test run \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout each sub test can have its own logfile set \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout -m \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Quotes eld \end_inset comment \begin_inset Quotes erd \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout sets a comment for the step, test or run \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout :runname \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout [a-zA-Z0-9_-]+ \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout directory in which this run will be stored in the test run area \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout :state \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout any value \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout Set the step or test state, this is stored in the state field in the steps or tests table respectively \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout For tests Logpro recognises \begin_inset Quotes eld \end_inset INCOMPLETE \begin_inset Quotes erd \end_inset , \begin_inset Quotes eld \end_inset COMPLETE \begin_inset Quotes erd \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout :status \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout any value \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout Set the step or test status, this is stored in the status field in the steps or tests table respectively \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout For tests Logpro recognises \begin_inset Quotes eld \end_inset PASS \begin_inset Quotes erd \end_inset , \begin_inset Quotes eld \end_inset FAIL \begin_inset Quotes erd \end_inset , and \begin_inset Quotes eld \end_inset CHECK \begin_inset Quotes erd \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout -list-runs \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout any value, % is wildcard \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout Respects -itempatt and -testpatt for filters \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout -testpatt \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout any value, % is wildcard \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout -itempatt \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout any value, % is wildcard \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout -showkeys \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout Print the keys being used for this database \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout -force \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout Test will not re-run if in the \begin_inset Quotes eld \end_inset PASS \begin_inset Quotes erd \end_inset , \begin_inset Quotes eld \end_inset CHECK \begin_inset Quotes erd \end_inset or \begin_inset Quotes eld \end_inset KILLED \begin_inset Quotes erd \end_inset , using -force will force the run to be launched. \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout WARNING: The -force switch will bypass any \begin_inset Quotes eld \end_inset waiton \begin_inset Quotes erd \end_inset dependencies. \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout -xterm \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout Launch an xterm instead of run the test. The xterm will have the environment that the test would see. \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout -remove-runs \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout Remove a run, test or subtest from the database and the disk. Cannot be undone. Requires -testpatt, -itempatt, :runname and all keys be specified. \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \shape italic Test helpers \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout -runstep \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout Used inside a test to run a step, record the start and end of the step and optionally analyze the output using Logpro. \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout -Logpro \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout If using Logpro to asses the PASS/FAIL status of the step you specify the Logpro file with this parameter. \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \end_layout \end_inset \end_inset \end_layout \begin_layout Section \start_of_appendix Data \end_layout \begin_layout Section References \end_layout \end_body \end_document