music21.test.multiprocessTest

Multiprocess testing. Tests all doctests and Test unittest objects in all modules that are imported when running “import music21”. Runs threads on each core of a multicore system unless there are more than 2 cores, in which case it runs on n-1 cores.

N.B. this gets a slightly different set of modules than test/test.py does because the imp module is not available for threaded processing. Running both modules gives great coverage of just about everything – do that before building a new release.

Run test/testDocumentation after this.

Functions

music21.test.multiprocessTest.mainPoolRunner(testGroup=['test'], restoreEnvironmentDefaults=False, leaveOut=1)

Run all tests. Group can be test and/or external

music21.test.multiprocessTest.printSummary(summaryOutput, timeStart, pathsToRun)
music21.test.multiprocessTest.runOneModuleWithoutImp(args)

ModuleGather

class music21.test.multiprocessTest.ModuleGather

Utility class for gathering and importing all modules in the music21 package. Puts them in self.modulePaths.

>>> from music21.test import testSingleCoreAll as testModule
>>> mg = testModule.ModuleGather()
>>> print mg.modulePaths[0]
D:\Web\eclipse\music21base\music21\chord.py

ModuleGather methods

ModuleGather.getModuleWithoutImp(fp, restoreEnvironmentDefaults=False)

gets one module object from the file path without using Imp

ModuleResponse

class music21.test.multiprocessTest.ModuleResponse(returnCode, fp, moduleName, success, testRunner, errors, failures, testsRun, runTime)

ModuleResponse read-only properties

ModuleResponse.errors

Alias for field number 5

ModuleResponse.failures

Alias for field number 6

ModuleResponse.fp

Alias for field number 1

ModuleResponse.moduleName

Alias for field number 2

ModuleResponse.returnCode

Alias for field number 0

ModuleResponse.runTime

Alias for field number 8

ModuleResponse.success

Alias for field number 3

ModuleResponse.testRunner

Alias for field number 4

ModuleResponse.testsRun

Alias for field number 7