\documentstyle[times,fullpage,rcsid]{article}
\rcs$Id: adb-unit-test.tex 17360 2005-08-25 23:41:34Z raeburn $
\let\underscore=\_
\catcode`_=13
\def_{\underscore\penalty75\relax}
\newcommand{\test}[1]{\begin{description}
\setlength{\itemsep}{0pt}
#1
\end{description}
}
\newcommand{\numtest}[2]{\begin{description}
\setlength{\itemsep}{0pt}
\Number{#1}
#2
\end{description}
}
\newcommand{\Number}[1]{\item[Number:] #1}
\newcommand{\Reason}[1]{\item[Reason:] #1}
\newcommand{\Expected}[1]{\item[Expected:] #1}
\newcommand{\Conditions}[1]{\item[Conditions:] #1}
\newcommand{\Priority}[1]{\item[Priority:] #1}
\newcommand{\Status}[1]{\item[Status:] #1}
\newcommand{\Call}[1]{}
\title{OpenV*Secure Admin Database API\\
Unit Test Description\footnote{\rcsId}}
\author{Jonathan I. Kamens}
\begin{document}
\maketitle
\section{Introduction}
The following is a description of a black-box unit test of the
OpenV*Secure Admin Database API (osa_adb). Each API function is
listed, followed by the tests that shoud be performed on it.
The tests described here are based on the ``OV*Secure Admin Server
Implementation Design'' revision 1.14.
\section{osa_adb_get_lock and osa_adb_release_lock}
\numtest{1}{
\Reason{A shared lock can be acquired.}
\Status{Implemented}
}
\numtest{2}{
\Reason{An exclusive lock can be acquired and released.}
\Status{Implemented}
}
\numtest{3}{
\Reason{A permanent lock can be acquired and released.}
\Status{Implemented}
}
\numtest{4}{
\Reason{Attempting to release a lock when none is held fails with
NOTLOCKED.}
\Status{Implemented}
}
\numtest{5}{
\Reason{Two processes can both acquire a shared lock.}
\Status{Implemented}
}
\numtest{6}{
\Reason{An attempt to acquire a shared lock while another process holds an
exclusive lock fails with CANTLOCK_DB.}
\Status{Implemented}
}
\numtest{7}{
\Reason{An attempt to acquire an exclusive lock while another process holds a
shared lock fails with CANTLOCK_DB.}
\Status{Implemented}
}
\numtest{8}{
\Reason{An attempt to open the database while a process holds a
permanent lock fails with NO_LOCKFILE.}
\Status{Implemented}
}
\numtest{9}{
\Reason{An attempt to acquire an exclusive lock while a process holds a
permanent lock fails with NO_LOCKFILE.}
\Status{Implemented}
}
\numtest{10}{
\Reason{Acquiring a permanent lock deletes the lockfile.}
\Status{Implemented}
}
\numtest{11}{
\Reason{Releasing a permanent lock re-creates the lockfile.}
\Status{Implemented}
}
\numtest{12}{
\Reason{A process can perform a get operation while another process holds a
shared lock.}
\Status{Implemented}
}
\numtest{13}{
\Reason{A process that is running and has opened the adb principal database
can retrieve a principal created after the open occurred.}
\Status{Implemented, but not working}
}
\end{document}