예제 #1
0
    def setUp(self):
        def loadRascal(path):
            rascal = Rascal()
            rascal.load(path)
            return rascal

        imapfw_path = os.path.abspath(sys.modules['imapfw'].__path__[0])
        rascalsDir = os.path.join(
            imapfw_path,
            'testing',
            'rascals',
            )

        self.multiprocessing = Concurrency('multiprocessing')
        self.threading = Concurrency('threading')
        self.rascal = loadRascal(os.path.join(rascalsDir, 'syncaccounts.1.rascal'))
예제 #2
0
class TestMultiProcessing(unittest.TestCase):
    def setUp(self):
        self.backend = Concurrency('multiprocessing')

    def test_00_instanciate(self):

        self.assertIsInstance(self.backend, ConcurrencyInterface)

    def test_01_worker(self):
        def runner(q):
            q.put(1)

        workerName = 'worker'
        queue = self.backend.createQueue()

        worker = self.backend.createBasicWorker(workerName, runner, (queue, ))

        worker.start()
        self.assertEqual(worker.getName(), workerName)

        worker.join()
        self.assertEqual(queue.get(), 1)
예제 #3
0
class TestMultiProcessing(unittest.TestCase):

    def setUp(self):
        self.backend = Concurrency('multiprocessing')

    def test_00_instanciate(self):

        self.assertIsInstance(self.backend, ConcurrencyInterface)

    def test_01_worker(self):
        def runner(q):
             q.put(1)

        workerName = 'worker'
        queue = self.backend.createQueue()

        worker = self.backend.createBasicWorker(workerName, runner, (queue,))

        worker.start()
        self.assertEqual(worker.getName(), workerName)

        worker.join()
        self.assertEqual(queue.get(), 1)
예제 #4
0
# python3 -m imapfw.managers.demo
#

import sys
import time


import imapfw

from imapfw.concurrency.concurrency import Concurrency
from imapfw.managers.manager import Manager
from imapfw.ui.tty import TTY
from imapfw.managers.trigger import Trigger


c = Concurrency('multiprocessing')
q = c.createQueue()
q.get_nowait()

ui = TTY(c.createLock())


def output(args):
    print(args)
    sys.stdout.flush()


def runner(emitter):
    output('runner started')

    output('initA')
예제 #5
0
파일: edmp.py 프로젝트: OfflineIMAP/imapfw
    return receiver, emitter


if __name__ == "__main__":
    # Run this demo like this (from the root directory):
    # python3 -m imapfw.edmp
    #
    # We catch exception since it's run as a test in travis.

    _DEBUG = True  # Set to True for more output and stack trace on error.

    import sys
    from imapfw.concurrency.concurrency import Concurrency
    from imapfw.ui.tty import TTY

    c = Concurrency("multiprocessing")
    ui = TTY(c.createLock())
    ui.configure()
    if _DEBUG:
        ui.enableDebugCategories(["emitters"])
    ui.setCurrentWorkerNameFunction(c.getCurrentWorkerNameFunction())

    runtime.set_module("ui", ui)
    runtime.set_module("concurrency", c)

    def run_async():
        ui.info("******** running run_async()")

        __REMOTE__ = "http://imapfw.github.io"
        __CONNECTED__ = "would be connected"
        driverReceiver, driverEmitter = newEmitterReceiver("driver")
예제 #6
0
 def setUp(self):
     self.backend = Concurrency('multiprocessing')
예제 #7
0
파일: edmp.py 프로젝트: openology/imapfw
    return receiver, emitter


if __name__ == '__main__':
    # Run this demo like this (from the root directory):
    # python3 -m imapfw.edmp
    #
    # We catch exception since it's run as a test in travis.

    _DEBUG = True  # Set to True for more output and stack trace on error.

    import sys
    from imapfw.concurrency.concurrency import Concurrency
    from imapfw.ui.tty import TTY

    c = Concurrency('multiprocessing')
    ui = TTY(c.createLock())
    ui.configure()
    if _DEBUG:
        ui.enableDebugCategories(['emitters'])
    ui.setCurrentWorkerNameFunction(c.getCurrentWorkerNameFunction())

    runtime.set_module('ui', ui)
    runtime.set_module('concurrency', c)

    def run_async():
        ui.info("******** running run_async()")

        __REMOTE__ = 'http://imapfw.github.io'
        __CONNECTED__ = 'would be connected'
        driverReceiver, driverEmitter = newEmitterReceiver('driver')
예제 #8
0
 def setUp(self):
     self.backend = Concurrency('multiprocessing')