Table of Contents
Get EntityFS from http://www.entityfs.org.
There are two different distributions of EntityFS – the binary distribution and the source distribution. The binary distribution contains everything necessary for using EntityFS. The source distribution contains everything that the binary archive does as well as unit test classes, test data and the complete EntityFS source code in an Eclipse workspace.
Unzip the distribution into a directory.
EntityFS Jar files are in the lib
sub directory
of the distribution. The entityfs-full-1.2.jar
file contains all EntityFS classes, except for the unit tests. The other Jar files contains
different subsets of all EntityFS classes. Together they contain all of the classes in the "full" Jar. See the
README.txt
file in the lib
directory for a listing of what the different Jar files contain.
The unit test suite runs all EntityFS unit tests for many capability permutations for two different file systems. The total number of permutations for this release is 14534, so all unit tests take a long time to run – approximately four to five hours on a dual core CPU.
To run unit tests, you have to have the build tool
Schmant installed, the EntityFS source distribution
and some six gigabytes free space on the hard disk partition where the platform's
temporary directory (java.io.tmpdir
) is.
Open a command window (terminal, cmd) and change directory to the distribution's
build
directory. Set the
JAVA_HOME
environment variable to point to a
Java JDK 6 installation. (Just a JRE won't do.)
On Unix, run:
$ # For instance $ export JAVA_HOME=/opt/java6 $ schmant.sh -cp lib/entityfs_build.jar run_unit_tests.js
On Windows, run:
> rem For instance. Note the absence of quotes in JAVA_HOME > set JAVA_HOME=c:\Program Files\Java\jdk1.6.0_24 > schmant -cp lib\entityfs_build.jar run_unit_tests.js
To use one or several other JVM:s than the system's default for running unit
tests, set the javaCmds
property to a path
separator (: on Unix, ; on Windows) separated list of all Java installations to use.
$ # For instance $ export JAVA_HOME=/opt/java6 $ schmant.sh -cp lib/entityfs_build.jar \ -p javaCmds=/opt/java6/bin/java:/opt/jrockit6/bin/java run_unit_tests.js
Or, on Windows:
> rem For instance. Note the absence of quotes > set JAVA_HOME=c:\Program Files\Java\jdk1.6.0_24 > rem Note the quotes around javaHomes > schmant -cp lib\entityfs_build.jar \ -p "javaCmds=c:\Program\Java\jdk1.6.0_24\bin\javaw.exe;c:\Program\Java\jdk1.5.0_22\bin\javaw.exe" \ run_unit_tests.js
Don't be scared by all "errors" about disappeared files or files that will not be overwritten. They are from the tests that test that those conditions are handled correctly.
On Windows, anti-virus software may interfere with the tests. Run the tests with the anti-virus software disabled.
Run the performance test suite by opening a command window and change directory to the EntityFS distribution root directory.
On Unix, run:
java -server -Xmx2048M -Xincgc \ -cp lib/entityfs-full-1.2.jar:build/lib/entityfs_build.jar \ org.entityfs.build.perf.PerformanceTestRunner [Zip file]
Or, on Windows:
java -server -Xmx2048M -Xincgc \ -cp lib\entityfs-full-1.2.jar;build\lib\entityfs_build.jar \ org.entityfs.build.perf.PerformanceTestRunner [Zip file]
The Zip file argument is the path to any sufficiently large Zip file. The distribution's performance tests are run on a Zip file with the Linux kernel 2.6.30.1 sources.