Make sure to first obtain and build InfoGrid as described in Build Instructions.
To run all tests, you will need:
- An installation of MySQL on your local machine
- An installation of PostgreSQL on your local machine
Create the following MySQL databases:
Make them accessible without a username and password. (You obviously can change that; just this is the easiest setup.). To do that, run the mysql shell as the administrative user and execute the following commands:
create database test; grant all privileges on *.* to ''@'localhost'; flush privileges
They have been reports that some MySQL installers automatically create a database called test; in that case, you only need to execute the second and third lines to set the correct permissions for that already-existing database.
Create the following PostgreSQL databases:
Make them accessible for user test without a password. (You obviously can change that; just this is the easiest setup.). To do that, execute the following commands in your shell:
createdb test createuser test psql -d template1
Depending on your operating system, you may need to perform these commands as a special user. For example, in Ubuntu Linux, you need to perform
first and execute them as user postgres.
Then, in the psql shell, execute:
alter user test with password '';
You may have to perform these commands as user postgres on your system; this depends on your PostgreSQL installation.
Run the tests
Assuming you are using configuration file ig-config/localhost.tomcat6.properties (see Build Instructions), execute the following command:
ig-tools/build.sh -run -c ig-config/localhost.tomcat6.properties
What if a test fails?
In most cases, this will be due to one of the following reasons:
- you are building and testing the trunk branch. There is no promise whatsoever that tests pass on the trunk branch.
- your configuration file is not correct for your setup
- you are trying to do it on Microsoft Windows (see big warning box above)
- some of the tests are timing-sensitive (that's intentional). If you have too much load on your system at the time the test runs, timing might be off and the test may fail. We've also had some tests fail more often on quad-core machines.
- some tests test that garbage is collected correctly. On some runs, the Java virtual machine simply does not seem to want to garbage collect some memory and a test will fail. If anybody can tell us how to prevent that, that'd be really helpful.
Try again ;-)
Of course, it could simply be that the test fails.