armi.tests.test_mpiActions module

Tests for MPI actions.

class armi.tests.test_mpiActions.MockMpiComm[source]

Bases: object

Mock MPI Communication library.

allgather(name)[source]
bcast(data, root=0)[source]
Get_rank()[source]
Get_size()[source]
scatter(actions, root=0)[source]
Split(num)[source]
class armi.tests.test_mpiActions.MpiIterTests(methodName='runTest')[source]

Bases: TestCase

Create an instance of the class that will use the named test method when executed. Raises a ValueError if the instance does not have a method with the specified name.

test_parallel()[source]
test_serialGather()[source]
test_mpiIter()[source]
test_perfectBalancing()[source]

Test load balancing when numProcs divides numObjects.

In this case, all processes should get the same number of objects.

test_excessProcesses()[source]

Test load balancing when numProcs exceeds numObjects.

In this case, some processes should receive a single object and the rest should receive no objects.

test_typicalBalancing()[source]

Test load balancing for typical case (numProcs < numObjs).

In this case, the total imbalance should be 1 (except for the perfectly balanced case).

test_runActionsDistributionAction()[source]
test_runActionsDistributeStateAction()[source]
test_diagnosePickleErrorTestReactor()[source]

Run _diagnosePickleError() on the test reactor.

We expect this to run all the way through the pickle diagnoser, because the test reactor should be easily picklable.

class armi.tests.test_mpiActions.QueueActionsTests(methodName='runTest')[source]

Bases: TestCase

Create an instance of the class that will use the named test method when executed. Raises a ValueError if the instance does not have a method with the specified name.

test_disableForExclusiveTasks()[source]
test_makeQueue()[source]