Ejemplo n.º 1
0
 def test_call_at(self):
     d = dummy()
     d.called = False
     def func():
         d.called = True
     self.loop.call_at(self.loop.time()+0.1, func)
     self.loop.run()
     self.assertTrue(d.called)
Ejemplo n.º 2
0
 def test_call_soon(self):
     d = dummy()
     d.called = False
     def func():
         d.called = True
     self.loop.call_soon(func)
     self.loop.run()
     self.assertTrue(d.called)
Ejemplo n.º 3
0
 def test_call_later(self):
     d = dummy()
     d.called = False
     def func():
         d.called = True
     self.loop.call_later(0.1, func)
     self.loop.run()
     self.assertTrue(d.called)
Ejemplo n.º 4
0
 def test_spawn(self):
     d = dummy()
     d.called = False
     def func():
         d.called = True
     evergreen.spawn(func)
     self.loop.run()
     self.assertTrue(d.called)
Ejemplo n.º 5
0
 def test_task_decorator(self):
     d = dummy()
     d.called = False
     @evergreen.task
     def func():
         d.called = True
     func()
     self.loop.run()
     self.assertTrue(d.called)
Ejemplo n.º 6
0
 def test_spawn_kill(self):
     d = dummy()
     d.called = False
     def func():
         d.called = True
     task = evergreen.spawn(func)
     task.kill()
     self.loop.run()
     self.assertFalse(d.called)
Ejemplo n.º 7
0
 def test_simple_task(self):
     d = dummy()
     d.called = False
     def func():
         d.called = True
     task = evergreen.Task(target=func)
     task.start()
     self.loop.run()
     self.assertTrue(d.called)
Ejemplo n.º 8
0
 def test_call_later_cancel(self):
     d = dummy()
     d.called = False
     def func():
         d.called = True
     h =  self.loop.call_later(0.1, func)
     h.cancel()
     self.loop.run()
     self.assertFalse(d.called)
Ejemplo n.º 9
0
    def test_call_at(self):
        d = dummy()
        d.called = False

        def func():
            d.called = True

        self.loop.call_at(self.loop.time() + 0.1, func)
        self.loop.run()
        self.assertTrue(d.called)
Ejemplo n.º 10
0
    def test_call_later(self):
        d = dummy()
        d.called = False

        def func():
            d.called = True

        self.loop.call_later(0.1, func)
        self.loop.run()
        self.assertTrue(d.called)
Ejemplo n.º 11
0
    def test_call_soon(self):
        d = dummy()
        d.called = False

        def func():
            d.called = True

        self.loop.call_soon(func)
        self.loop.run()
        self.assertTrue(d.called)
Ejemplo n.º 12
0
    def test_spawn(self):
        d = dummy()
        d.called = False

        def func():
            d.called = True

        evergreen.spawn(func)
        self.loop.run()
        self.assertTrue(d.called)
Ejemplo n.º 13
0
    def test_task_decorator(self):
        d = dummy()
        d.called = False

        @evergreen.task
        def func():
            d.called = True

        func()
        self.loop.run()
        self.assertTrue(d.called)
Ejemplo n.º 14
0
def genFeatureAfterDummy(fin, fout, desc, mins, maxs):
    names = []
    tmp = {'isDummy':None, 'cntBox':None, 'isFromMax':None}
    for f in desc['features']:
        f['isDummy'] = tmp['isDummy'] if f.get('isDummy') is None else f['isDummy']
        f['cntBox'] = tmp['cntBox'] if f.get('cntBox') is None else f['cntBox']
        f['isFromMax'] = tmp['isFromMax'] if f.get('isFromMax') is None else f['isFromMax']

        if f['isDummy']:
            for i in range(f['cntBox']):
                names.append('%s[%d]' % (f['name'], i))
        else:
            names.append(f['name'])

        tmp['isDummy'] = f['isDummy']
        tmp['cntBox'] = f['cntBox']
        tmp['isFromMax'] = f['isFromMax']

    head = names[0]
    for name in names[1:]:
        head =  head + ',%s' % name
    head = head + ',class'
    fout.write('%s\n' % head)

    features = desc['features']
    cntFeatures = len(features)

    while True:
        l = fin.readline().strip()
        if len(l) == 0:
            break
        feature = [i.strip() for i in l.split(',')]
        l = ''
        tmp = {'isDummy':None, 'cntBox':None, 'isFromMax':None}
        for i in range(cntFeatures):
            features[i]['isDummy'] = tmp['isDummy'] if features[i].get('isDummy') is None else f['isDummy']
            features[i]['cntBox'] = tmp['cntBox'] if features[i].get('cntBox') is None else f['cntBox']
            features[i]['isFromMax'] = tmp['isFromMax'] if features[i].get('isFromMax') is None else f['isFromMax']

            feature[i] = eval(feature[i])
            if features[i]['isDummy']: 
                feature[i] = dummy(feature[i], maxs[i], mins[i], features[i]['cntBox'], features[i]['isFromMax'])
                cntFeature = len(feature[i])
                for j in range(cntFeature):
                    l = repr(feature[i][j]) if i == 0 and j ==0  else l + ',%s' % repr(feature[i][j])
            else:
                l = repr(feature[i]) if i == 0 else l + ',%s' % repr(feature[i])

            tmp['isDummy'] = features[i]['isDummy']
            tmp['cntBox'] = features[i]['cntBox']
            tmp['isFromMax'] = features[i]['isFromMax']

        l = l + ',%s' % feature[-1]
        fout.write('%s\n' % l)
Ejemplo n.º 15
0
    def test_simple_task(self):
        d = dummy()
        d.called = False

        def func():
            d.called = True

        task = evergreen.Task(target=func)
        task.start()
        self.loop.run()
        self.assertTrue(d.called)
Ejemplo n.º 16
0
 def test_task_join(self):
     d = dummy()
     d.called = False
     def func1():
         evergreen.sleep(0.01)
     def func2():
         d.called = t1.join()
     t1 = evergreen.spawn(func1)
     t2 = evergreen.spawn(func2)
     self.loop.run()
     self.assertTrue(d.called)
Ejemplo n.º 17
0
 def test_call_repeatedly(self):
     d = dummy()
     d.counter = 0
     d.handler = None
     def func():
         d.counter += 1
         if d.counter == 3:
             d.handler.cancel()
     d.handler = self.loop.call_repeatedly(0.1, func)
     self.loop.run()
     self.assertEqual(d.counter, 3)
Ejemplo n.º 18
0
 def test_call_later_cancel2(self):
     d = dummy()
     d.called = False
     def func1():
         h2.cancel()
     def func2():
         d.called = True
     h1 =  self.loop.call_later(0.01, func1)
     h2 =  self.loop.call_later(0.01, func2)
     self.loop.run()
     self.assertFalse(d.called)
Ejemplo n.º 19
0
    def test_call_later_cancel(self):
        d = dummy()
        d.called = False

        def func():
            d.called = True

        h = self.loop.call_later(0.1, func)
        h.cancel()
        self.loop.run()
        self.assertFalse(d.called)
Ejemplo n.º 20
0
    def test_spawn_kill(self):
        d = dummy()
        d.called = False

        def func():
            d.called = True

        task = evergreen.spawn(func)
        task.kill()
        self.loop.run()
        self.assertFalse(d.called)
Ejemplo n.º 21
0
 def test_spawn_kill_join(self):
     d = dummy()
     d.called = False
     def func1():
         d.called = True
     def func2():
         self.assertTrue(t1.join())
     t1 = evergreen.spawn(func1)
     t1.kill()
     t2 = evergreen.spawn(func2)
     self.loop.run()
     self.assertFalse(d.called)
Ejemplo n.º 22
0
    def test_call_repeatedly(self):
        d = dummy()
        d.counter = 0
        d.handler = None

        def func():
            d.counter += 1
            if d.counter == 3:
                d.handler.cancel()

        d.handler = self.loop.call_repeatedly(0.1, func)
        self.loop.run()
        self.assertEqual(d.counter, 3)
Ejemplo n.º 23
0
 def test_signal(self):
     if not hasattr(signal, 'SIGALRM'):
         self.skipTest('No signal support')
         return
     d = dummy()
     d.called = False
     def signal_cb():
         d.called = True
     h = self.loop.add_signal_handler(signal.SIGALRM, signal_cb)
     signal.setitimer(signal.ITIMER_REAL, 0.1, 0)  # Send SIGALRM once
     self.loop.call_later(0.15, self.loop.stop)
     self.loop.run_forever()
     self.assertTrue(d.called)
Ejemplo n.º 24
0
    def test_call_later_cancel2(self):
        d = dummy()
        d.called = False

        def func1():
            h2.cancel()

        def func2():
            d.called = True

        h1 = self.loop.call_later(0.01, func1)
        h2 = self.loop.call_later(0.01, func2)
        self.loop.run()
        self.assertFalse(d.called)
Ejemplo n.º 25
0
    def test_task_join(self):
        d = dummy()
        d.called = False

        def func1():
            evergreen.sleep(0.01)

        def func2():
            d.called = t1.join()

        t1 = evergreen.spawn(func1)
        t2 = evergreen.spawn(func2)
        self.loop.run()
        self.assertTrue(d.called)
Ejemplo n.º 26
0
 def test_task_join_timeout(self):
     d = dummy()
     d.called = False
     def func1():
         evergreen.sleep(10)
     def func2():
         d.called = t1.join(0.01)
     def func3():
         evergreen.sleep(0.1)
         t1.kill()
     t1 = evergreen.spawn(func1)
     t2 = evergreen.spawn(func2)
     t3 = evergreen.spawn(func3)
     self.loop.run()
     self.assertTrue(not d.called)
Ejemplo n.º 27
0
 def test_run_forever(self):
     d = dummy()
     d.called = False
     def stop_loop():
         d.called = True
         self.loop.stop()
     def func():
         import time
         time.sleep(0.2)
         self.loop.call_from_thread(stop_loop)
     t = threading.Thread(target=func)
     t.start()
     self.loop.run_forever()
     t.join()
     self.assertTrue(d.called)
Ejemplo n.º 28
0
    def test_signal(self):
        if not hasattr(signal, 'SIGALRM'):
            self.skipTest('No signal support')
            return
        d = dummy()
        d.called = False

        def signal_cb():
            d.called = True

        h = self.loop.add_signal_handler(signal.SIGALRM, signal_cb)
        signal.setitimer(signal.ITIMER_REAL, 0.1, 0)  # Send SIGALRM once
        self.loop.call_later(0.15, self.loop.stop)
        self.loop.run_forever()
        self.assertTrue(d.called)
Ejemplo n.º 29
0
    def test_spawn_kill_join(self):
        d = dummy()
        d.called = False

        def func1():
            d.called = True

        def func2():
            self.assertTrue(t1.join())

        t1 = evergreen.spawn(func1)
        t1.kill()
        t2 = evergreen.spawn(func2)
        self.loop.run()
        self.assertFalse(d.called)
Ejemplo n.º 30
0
 def test_condition(self):
     d = dummy()
     d.value = 0
     cond = locks.Condition()
     def func1():
         with cond:
             self.assertEqual(d.value, 0)
             cond.wait()
             self.assertEqual(d.value, 42)
     def func2():
         with cond:
             d.value = 42
             cond.notify_all()
     evergreen.spawn(func1)
     evergreen.spawn(func2)
     self.loop.run()
Ejemplo n.º 31
0
    def test_run_forever(self):
        d = dummy()
        d.called = False

        def stop_loop():
            d.called = True
            self.loop.stop()

        def func():
            import time
            time.sleep(0.2)
            self.loop.call_from_thread(stop_loop)

        t = threading.Thread(target=func)
        t.start()
        self.loop.run_forever()
        t.join()
        self.assertTrue(d.called)
Ejemplo n.º 32
0
 def test_signal_remove(self):
     if not hasattr(signal, 'SIGALRM'):
         self.skipTest('No signal support')
         return
     d = dummy()
     d.called1 = False
     d.called2 = False
     def signal_cb1():
         d.called1 = True
     def signal_cb2():
         d.called2 = True
     h1 = self.loop.add_signal_handler(signal.SIGALRM, signal_cb1)
     self.loop.remove_signal_handler(signal.SIGALRM)
     h2 = self.loop.add_signal_handler(signal.SIGALRM, signal_cb2)
     signal.setitimer(signal.ITIMER_REAL, 0.1, 0)  # Send SIGALRM once
     self.loop.call_later(0.15, self.loop.stop)
     self.loop.run_forever()
     self.assertFalse(d.called1)
     self.assertTrue(d.called2)
Ejemplo n.º 33
0
    def test_condition(self):
        d = dummy()
        d.value = 0
        cond = locks.Condition()

        def func1():
            with cond:
                self.assertEqual(d.value, 0)
                cond.wait()
                self.assertEqual(d.value, 42)

        def func2():
            with cond:
                d.value = 42
                cond.notify_all()

        evergreen.spawn(func1)
        evergreen.spawn(func2)
        self.loop.run()
Ejemplo n.º 34
0
    def test_task_join_timeout(self):
        d = dummy()
        d.called = False

        def func1():
            evergreen.sleep(10)

        def func2():
            d.called = t1.join(0.01)

        def func3():
            evergreen.sleep(0.1)
            t1.kill()

        t1 = evergreen.spawn(func1)
        t2 = evergreen.spawn(func2)
        t3 = evergreen.spawn(func3)
        self.loop.run()
        self.assertTrue(not d.called)
Ejemplo n.º 35
0
    def test_barrier(self):
        num_tasks = 10
        d = dummy()
        d.count = 0
        barrier = locks.Barrier(num_tasks + 1, timeout=1)

        def func():
            evergreen.sleep(0.01)
            d.count += 1
            barrier.wait()

        def runner():
            for x in range(num_tasks):
                evergreen.spawn(func)
            barrier.wait()

        evergreen.spawn(runner)
        self.loop.run()
        self.assertEqual(d.count, num_tasks)
        self.assertEqual(barrier.parties, num_tasks + 1)
Ejemplo n.º 36
0
    def test_barrier(self):
        num_tasks = 10
        d = dummy()
        d.count = 0
        barrier = locks.Barrier(num_tasks + 1, timeout=1)

        def func():
            evergreen.sleep(0.01)
            d.count += 1
            barrier.wait()

        def runner():
            for x in range(num_tasks):
                evergreen.spawn(func)
            barrier.wait()

        evergreen.spawn(runner)
        self.loop.run()
        self.assertEqual(d.count, num_tasks)
        self.assertEqual(barrier.parties, num_tasks + 1)
Ejemplo n.º 37
0
    def test_signal_remove(self):
        if not hasattr(signal, 'SIGALRM'):
            self.skipTest('No signal support')
            return
        d = dummy()
        d.called1 = False
        d.called2 = False

        def signal_cb1():
            d.called1 = True

        def signal_cb2():
            d.called2 = True

        h1 = self.loop.add_signal_handler(signal.SIGALRM, signal_cb1)
        self.loop.remove_signal_handler(signal.SIGALRM)
        h2 = self.loop.add_signal_handler(signal.SIGALRM, signal_cb2)
        signal.setitimer(signal.ITIMER_REAL, 0.1, 0)  # Send SIGALRM once
        self.loop.call_later(0.15, self.loop.stop)
        self.loop.run_forever()
        self.assertFalse(d.called1)
        self.assertTrue(d.called2)
Ejemplo n.º 38
0
def genFeatureAfterDummy(fin, fout, desc, mins, maxs):
    names = []
    tmp = {'isDummy': None, 'cntBox': None, 'isFromMax': None}
    for f in desc['features']:
        f['isDummy'] = tmp['isDummy'] if f.get(
            'isDummy') is None else f['isDummy']
        f['cntBox'] = tmp['cntBox'] if f.get('cntBox') is None else f['cntBox']
        f['isFromMax'] = tmp['isFromMax'] if f.get(
            'isFromMax') is None else f['isFromMax']

        if f['isDummy']:
            for i in range(f['cntBox']):
                names.append('%s[%d]' % (f['name'], i))
        else:
            names.append(f['name'])

        tmp['isDummy'] = f['isDummy']
        tmp['cntBox'] = f['cntBox']
        tmp['isFromMax'] = f['isFromMax']

    head = names[0]
    for name in names[1:]:
        head = head + ',%s' % name
    head = head + ',class'
    fout.write('%s\n' % head)

    features = desc['features']
    cntFeatures = len(features)

    while True:
        l = fin.readline().strip()
        if len(l) == 0:
            break
        feature = [i.strip() for i in l.split(',')]
        l = ''
        tmp = {'isDummy': None, 'cntBox': None, 'isFromMax': None}
        for i in range(cntFeatures):
            features[i]['isDummy'] = tmp['isDummy'] if features[i].get(
                'isDummy') is None else f['isDummy']
            features[i]['cntBox'] = tmp['cntBox'] if features[i].get(
                'cntBox') is None else f['cntBox']
            features[i]['isFromMax'] = tmp['isFromMax'] if features[i].get(
                'isFromMax') is None else f['isFromMax']

            feature[i] = eval(feature[i])
            if features[i]['isDummy']:
                feature[i] = dummy(feature[i], maxs[i], mins[i],
                                   features[i]['cntBox'],
                                   features[i]['isFromMax'])
                cntFeature = len(feature[i])
                for j in range(cntFeature):
                    l = repr(
                        feature[i][j]
                    ) if i == 0 and j == 0 else l + ',%s' % repr(feature[i][j])
            else:
                l = repr(
                    feature[i]) if i == 0 else l + ',%s' % repr(feature[i])

            tmp['isDummy'] = features[i]['isDummy']
            tmp['cntBox'] = features[i]['cntBox']
            tmp['isFromMax'] = features[i]['isFromMax']

        l = l + ',%s' % feature[-1]
        fout.write('%s\n' % l)