Test Assumptions & Prerequisites
-
The string "<root>" represents the root of the source tree
for the System.Data.SQLite project.
-
The string "<year>" represents the version of Visual Studio
used (e.g. 2008) to build the binaries being tested.
-
The string "<platform>" represents the native platform for
the binaries being tested (e.g. Win32 or x64).
-
The string "<pid>" represents the process identifier for the
instance of EagleShell being used to run the unit tests.
Test Procedures
Follow these steps to unit test the System.Data.SQLite (SDS) binaries.
Unless otherwise noted, all steps need to be done in the order specified.
First, you will need a full source enlistment for the System.Data.SQLite
project, including the
"Externals\Eagle"
directory.
The binaries to test must be [./build.wiki | built] or
[./downloads.wiki | downloaded]. If the binaries are downloaded, they must be
placed in the appropriate build output directory (e.g.
"<root>\bin\<year>\Release\bin" for the separate managed
and interop assemblies or
"<root>\bin\<year>\<platform>\Release" for the
mixed-mode assembly).
The new unit tests have been setup using Eagle
and its associated unit testing framework, named "EagleTest". Eagle
is an implementation of the Tcl scripting
language for the Common Language Runtime (CLR). EagleTest is the unit testing
framework for Eagle, packaged as a collection of Eagle scripts, based loosely
on the implementation of
tcltest.
Automated Unit Tests
- Open a normal command prompt window with "cmd.exe".
- Change the current directory to "<root>".
-
Enter the following command to run all the unit tests against the binaries built with a separate managed and interop assembly:
Externals\Eagle\bin\EagleShell.exe -file Tests\all.eagle
-
Enter the following command to run all the unit tests against the binaries built with a mixed-mode assembly:
Externals\Eagle\bin\EagleShell.exe -initialize -runtimeOption native -file Tests\all.eagle
-
Make sure all tests pass; the log file "%TEMP%\EagleShell.exe.test.<pid>.log" may be checked if any errors should occur. EagleTest should produce "success" messages very similar to the following:
PASSED: 30
TOTAL: 30
PASS PERCENTAGE: 100%
OVERALL RESULT: SUCCESS