aboutsummaryrefslogtreecommitdiff
path: root/contrib/bluegnu2.0.3/doc/README.tex
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/bluegnu2.0.3/doc/README.tex')
-rw-r--r--contrib/bluegnu2.0.3/doc/README.tex253
1 files changed, 253 insertions, 0 deletions
diff --git a/contrib/bluegnu2.0.3/doc/README.tex b/contrib/bluegnu2.0.3/doc/README.tex
new file mode 100644
index 0000000..30e974a
--- /dev/null
+++ b/contrib/bluegnu2.0.3/doc/README.tex
@@ -0,0 +1,253 @@
+%%
+%%
+
+\begin{document}
+
+\title{Release Notice\\BlueGnu Testing Framework\\
+Version 2.0.3}
+\author{Jan-Willem Neurdenburg\\jotOmega dsc\\
+56 Brigham Hill Road\\Grafton~MA~~01519-1135\\
+neurdenburgj@acm.org\\Tel: (508) 839-0276\\Fax: (508) 839-7267}
+
+\maketitle
+
+\section{Introduction}
+BlueGnu is a framework for testing other programs. It has been created
+to be compatible with DejaGnu. Its purpose is to provide a single
+front end for all tests. Beyond this, BlueGnu offers several
+advantages for testing:
+
+\begin{itemize}
+
+\item The flexibility and consistency of the BlueGnu framework makes it
+easy to write tests for any program, with the exception of GUI
+applications.
+
+\item BlueGnu provides a layer of abstraction, which makes all tests
+(if correctly written) portable to any host or target where a program
+must be tested.
+
+\item BlueGnu is written in [incr Tcl], which in turn is based on Tcl
+(Tool Command Language). The framework comprises two parts:
+\begin{enumerate}
+\item the testing framework,
+\item the test-suites or test-sets themselves.
+\end{enumerate}
+
+\item BlueGnu will work with any Tcl based interpreter as long as
+[incr Tcl] has been included. You can include 'expect', 'Tk', and/or
+other extensions.
+
+\item Includes DejaGnu release 1.6
+
+\end{itemize}
+
+\section{Requirements}
+The following modules should have been installed, before you can
+install and/or use BlueGnu:
+
+\begin{itemize}
+\item Tcl release 8.0 or higher,
+\item incr Tcl release 3.0 or higher.
+\end{itemize}
+
+Any other extensions that is compatible with Tcl release 8.0 can be used
+as well.
+
+\section{Structure and Contents of the Release}
+
+The root directory of the release contains the README files with
+installation instructions and the files needed to build and install
+this product. It also contains the executable scripts of the
+BlueGnu testing framework.
+
+The top-level directories are listed below:
+
+\begin{description}
+\item[lib:] the packages and procedures that make the BlueGnu and
+DejaGnu testing framework. This also includes the default target
+definition files.
+
+\item[testsets:] the BlueGnu test-suites and test examples. It contains
+the following subdirectories.
+
+\begin{description}
+\item[BlueGnu:]
+test scripts to test the testing framework itself.
+
+\item[examples:]
+test suite and test script examples.
+
+\item[config, lib, tools:]
+currently empty, but can be used for
+test-set dependent configuration files, library files, and tools.
+\end{description}
+
+\item[config:]
+currently empty.
+
+\item[doc:] the DejaGnu texinfo source and the documentation in
+'info', 'dvi', 'ps', and 'pdf' representation, respectively
+dejagnu.info*, dejagnu.dvi, dejagnu.ps, and dejagnu.pdf. A DejaGnu man
+page is also available.
+
+It also contains
+the \TeX{} version (README.tex) of this document as well as the 'dvi', 'ps'
+'html', and 'pdf' representation, respectively notice.dvi, notice.ps,
+notice.html, and notice.pdf.
+
+\item[testsuite:] contains a mixture of DejaGnu and BlueGnu test
+scripts.
+
+\item[contrib:] contains examples how DejaGnu is used at Cygnus.
+
+\item[example:] contains a full DejaGnu test framework example for testing the program 'calc' which is also included.
+
+\end{description}
+
+\section{Installation and use under Unix}
+
+Before you can install and use BlueGnu you need to have installed the
+following three packages:
+\begin{itemize}
+\item Tcl version 8.0.3
+\item Tk version 8.0.3
+\item incr Tcl version 3.0.1
+\end{itemize}
+The source for these packages should all be located in one directory.
+The subdirectory in the directory should be:
+\begin{itemize}
+\item tcl8.0.3
+\item tk8.0.3
+\item itcl3.0.1
+\end{itemize}
+
+The following examples use the command `./configure
+--prefix=/tools/...`. This will install all packages in a directory
+``/tools''. When you omit the ``--prefix''-switch then the
+installation default will be the directory ``/usr/local''.
+
+\subsection{Installation of needed Packages}
+
+When you have not installed Tcl and the other needed extensions, then
+you need to retrieve the sources from ``www.tcltk.com/itcl''. You need
+to `gunzip` the files and do a `tar xf` of all these packages in one
+directory, let's call this directory ``TclTk''.
+
+From the directory ``TclTk'', you should do the following to install
+the packages:
+
+\begin{verbatim}
+% cd tcl8.0.3/unix
+% ./configure --prefix=/tools/tcl8.0.3 --enable-gcc --enable-shared
+% make
+% mkdir /tools/tcl8.0.3
+% make install
+% cd ../../tk8.0.3/unix
+% ./configure --prefix=/tools/tk8.0.3 --enable-gcc --enable-shared
+% make
+% mkdir /tools/tk8.0.3
+% make install
+% cd ../../itcl3.0.1
+% ./configure --prefix=/tools/itcl3.0.1 --enable-gcc --enable-shared
+% make
+% mkdir /tools/itcl3.0.1
+% make install
+\end{verbatim}
+
+\subsection{Installing BlueGnu}
+You can now `gunzip` and `tar xf` the BlueGnu version 2.0.3 in the
+directory ``TckTk''. This will create the directory
+``bluegnu2.0.3''. Now do the following:
+
+\begin{verbatim}
+% cd bluegnu2.0.3
+% ./configure --prefix=/tools/bluegnu2.0.3
+% make
+% mkdir /tools/bluegnu2.0.3
+% make install
+\end{verbatim}
+
+This will install BlueGnu in the directories:
+\begin{itemize}
+\item /tools/bluegnu2.0.3/bin
+\item /tools/bluegnu2.0.3/lib/bluegnu
+\item /tools/bluegnu2.0.3/info
+\item /tools/bluegnu2.0.3/man
+\end{itemize}
+
+\subsection{Using BlueGnu}
+When you have installed [incr Tcl] and BlueGnu and you have the
+respective ``bin'' directories in your PATH variable, then you can
+start running some tests. You can go into the BlueGnu source directory
+``bluegnu2.0.3/testsets/examples'' and run the following:
+
+\begin{verbatim}
+% bluegnu versionTcl.itcl
+% bluegnu ts_001
+% bluegnu ts_002
+% bluegnu ts_003
+\end{verbatim}
+
+The above test result should all be PASS. The following test will give
+a result UNKNOWN, because no pass/fail instruction have been given.
+
+\begin{verbatim}
+% bluegnu tc001
+\end{verbatim}
+
+The last test you can run will fail in its simple form:
+
+\begin{verbatim}
+% bluegnu tc002
+\end{verbatim}
+
+But will pass if you execute the test as follows:
+
+\begin{verbatim}
+% bluegnu tc002[English]
+\end{verbatim}
+
+This is because the test scripts need a test case identifier to find
+the correct benchmark code.
+
+\section{Changes}
+\subsection{Version 2.0.3}
+This being the first public release it is not to useful to list all
+the changes. BlueGnu has been modeled after DejaGnu and is a complete
+new implementation which has been tested thoroughly. When
+documentation is being written more changes will be made. An example
+of some of these changes as a result of this documentation effort can
+be found in the test-suites ts\verb+_+001, ts\verb+_+002, and
+ts\verb+_+003. The first two are not as easy to write as the
+third. The test suite ts\verb+_+001 is a script implementation of the
+command line:
+\begin{verbatim}
+% cd bluegnu2.0.3/testsets
+% bluegnu examples/tc002[English=B] \
+> "examples/tc002[Dutch=B]={MSG=Hallo Wereld}"
+\end{verbatim}
+This may be useful for simple tests but when you want to write more
+complex test-suite scripts you would like some more flexibility, so two
+procedures were introduced, which are shown in test-suite ts\verb+_+002. This
+makes writing rather complex so the procedures have become part of
+the procedures 'appendQueue', 'prependQueue', and 'runtest'. The
+resulting script is shown in test-suit ts\verb+_+003.
+
+Changes like this will be made in the future!
+
+\section{Future Enhancements}
+The following enhancements are being planned:
+\begin{itemize}
+\item Target code will be made into a class with methods 'start',
+'load', 'exit', and 'version'. Instead of the current
+'$<$target$>$\verb+_+start', '$<$target$>$\verb+_+load', '$<$target$>$\verb+_+exit', and
+'$<$target$>$\verb+_+version', which have been taken from DejaGnu.
+
+\item Procedures will be created that make it easy to test WEB
+application from the framework.
+
+\item Other enhancements will be made depending on the use of the
+framework in testing different applications.
+\end{itemize}
+\end{document} \ No newline at end of file