About the MagmaTester
Last updated at 4:54 am UTC on 14 November 2010
MagmaTestCase and MagmaCollectionTester test most of the functionality of Magma. If you make any changes to Magma code, it is highly recommended that you run these test suites as a regression check.
They test Magma in a multi-user fashion via the Ma Armored Code framework, using multiple Squeak images that may run on the same or different computers. OSProcess is required to run test suite with "one-click".
After loading OSProcess, save the image, and then, to run the test-suite, evaluate:
MagmaTestCase fullSuite maDebug
The current image will be saved as "_magmaTestConductor.image". OSProcess will be used to launch four copies of this image; "_magmaClient1", "_magmaClient2", "_magmaServer", "_magmaServer2". The fifth image, the test-"conductor" image, is used to send requests to each of the other images.
The test-suite takes 15-30 minutes to run on Cog VM, depending on computer and other factors.
More fundamental-level tests
Magma depends on the services of lower-level frameworks. These frameworks are assumed to work correctly for Magma to work correctly. Here are tests for the most critical supporting frameworks.
MaClientServerTester tests client-server module only, no Magma code is run.
MaClientServerTestCase suite maDebug
The following are standard SUnit testcases, runnable from the SUnit Test Runner browser:
- MaObjectSerializerTestCase tests the serialization module only, no client-server or Magma code is run.
- MaHashIndexTester and MaHashIndexRecordTester tests the back-end support for MagmaCollections at a lower-level. Both are medium-volume tests and may take a while to run.
- MaHashIndexRecordTester tests the formulas that enshape the MaHashIndexRecord structure.