MemTest86 Technical Information

Custom Test Definitions

By default, the list of tests described in Individual Test Descriptions compose the test suite to be executed for any given test session. The execution order, test patterns and number of iterations for these tests were designed to detect the most obvious errors quickly.

However, there may be non-standard test scenarios that require running an existing test algorithm with a specific test pattern, cache configuration, and/or number of iterations. MemTest86 supports custom configuration of existing test algorithms to support such test scenarios.

Note: Overriding the default tests is not recommended for novice users as it may reduce the test coverage and erroneously produce a PASS result for faulty RAM modules. Override default tests at your own risk.

To enable custom test definitions, the TESTCFGFILE=<test-config-filename> configuration file parameter is set to the name of the custom test definitions file. The custom test definitions file defines a list of comma-separated values formatted as follows:

# Format:
# <test_type>, <pattern>, <iter_count>, <cache_enable>, <test_name>
#
# <test_type> can be one of :
#   ADDRWALK1 - Address Test, Walking ones
#   ADDROWN - Address Test, Own address
#   MOVINV8 - Moving inversions, 8-bit
#   BLKMOV - Block move
#   MOVINV32 - Moving inversions, 32-bit
#   RNDNUM32 - Random Number, 32-bit
#   MOD20 - Modulo 20
#   BITFADE - Bit fade test
#   RNDNUM64 - Random number, 64-bit 
#   RNDNUM128 - Random number, 128-bit
#   HAMMER - Hammer test
#
# <pattern> can be a hex value or:
#   PAT_RAND - random pattern
#   PAT_WALK01 - walking 0/1 patterns
#   PAT_DEF - default pattern for the specified test type
#
# <iter_count> can be any positive integer or:
#   ITER_DEF - test default
#
# <cache_enable> can be one of:
#   CACHE_EN – cache enabled
#   CACHE_DIS – cache disabled
#   CACHE_DEF – global default cache settings
#
# <test_name> is a string describing the test

An example custom test definitions file, customtests.cfg, is as follows. To enable the custom tests, TESTCFGFILE=customtests.cfg must be specified in the mt86.cfg file

ADDRWALK1, PAT_DEF, ITER_DEF, CACHE_DIS, "Address test, walking ones, cache off"
MOD20, PAT_WALK01, 1, CACHE_EN, "Modulo 20, walking 0/1, cache on"
MOVINV32, PAT_DEF, ITER_DEF, CACHE_EN, "Moving invs 32b, rand pattern, cache on"
MOVINV8, 0x55555555, ITER_DEF, CACHE_DIS, "Moving invs 8b, 0x55555555, cache off"