\section{Test Plan}
Testing the SPCL compiler is in some ways unique, because we are
designed a language, a compiler for that language, and the platform on
which the compiled language will run.  We broke testing down into a
hierarchy; starting with testing each stage of the compiler and policy
engine individually, followed by testing the full compiler and full
policy engine individually, and then testing the compiler and policy
engine together.

Testing the policy engine is performed, primarily, by hand, since
requests must be generated dynamically at runtime.  Testing on the
compiler is performed through use of a Makefile script that runs the
compiler on suite of test inputs and compares each test output to a
predetermined output.  As you can see in Figure~\ref{???}, the
Makefile runs the compiler, then does a simple {\tt diff} to compare
the compiler output to the predetermined output.  If the {\tt diff}
fails, the Makefile will halt.

