Exemplo n.º 1
0
 def test_io(self):
     tempfilename = self.tempfilename
     tempfile = masterslave.open(tempfilename, mode='w')
     tempfile.write(str(masterslave.rank()) + '\n')
     tempfile.flush()
     contents = ''
     with open(tempfilename) as stillopen:
         contents = stillopen.read()
     assert_in(str(masterslave.rank()) + '\n', contents)
     tempfile.close()
     with open(tempfilename) as nowclosed:
         ranks = [int(s.strip()) for s in nowclosed]
     assert_equal(set(ranks), set(range(masterslave.size())))
     tempfile = masterslave.open(tempfilename, 'a')
     tempfile.write(str(masterslave.rank()) + '\n')
     tempfile.close()
     with open(tempfilename) as nowclosed:
         ranks = [int(s.strip()) for s in nowclosed]
     assert_equal(len(ranks), masterslave.size() * 2)
     assert_equal(set(ranks), set(range(masterslave.size())))
     if masterslave.size() != 1:
         masterslave._comm.Barrier()
Exemplo n.º 2
0
 def test_MPIFileHandler(self):
     tempfilename = self.tempfilename
     handler = masterslave.MPIFileHandler(tempfilename, 'w')
     host = gethostname()
     formatter = logging.Formatter(host + ':%(message)s')
     handler.setFormatter(formatter)
     logging.root.addHandler(handler)
     logging.warn('TEST')
     logging.getLogger().removeHandler(handler)
     handler.flush()
     handler.close()
     lines = {}
     with open(tempfilename) as tempfile:
         lines = set(tempfile.readlines())
     assert_equal(lines, set([host + ':TEST\n']))
     if masterslave.size() != 1:
         masterslave._comm.Barrier()
Exemplo n.º 3
0
def test_map():
    size = masterslave.size()

    def func(dummy):
        return dummy, masterslave.rank()

    def test_n(n):
        array = range(n)
        result = masterslave.map(func, array)
        if result:
            result = list(result)
            if result:
                output, ranks = zip(*result)
                assert_equal(list(output), array)
                proper_ranks = set(range(min(size - 1, 1), min(n + 1, size)))
                assert_equal(set(ranks), proper_ranks)

    for n in [size // 2, size - 1, size, size * 2]:
        test_n(n)
Exemplo n.º 4
0
def test_farm():
    size = masterslave.size()

    def func(dummy):
        return dummy, masterslave.rank()

    def test_n(n):
        array = range(n)
        result = masterslave.farm(func, array)
        if result:
            result = list(result)
            if result:
                array, ranks = zip(*result)
                assert_equal(len(array), n)
                assert_equal(set(array), set(range(n)))
                proper_ranks = set(range(min(size - 1, 1), min(n + 1, size)))
                assert_equal(set(ranks), proper_ranks)

    for n in [size // 2, size - 1, size, size * 2]:
        test_n(n)