Improve the ecore test suite
no more print and lots more asserts
This commit is contained in:
parent
d6fc38ea59
commit
4bd421562d
|
@ -1,24 +1,35 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
|
|
||||||
from efl import ecore
|
|
||||||
import unittest
|
import unittest
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
from efl import ecore
|
||||||
def cb(n, t, a):
|
|
||||||
print("cb data: %s %s %s" % (n, t, a))
|
|
||||||
return True
|
|
||||||
|
|
||||||
def cb_false(n, t, a):
|
|
||||||
print("cb data false: %s %s %s" % (n, t, a))
|
|
||||||
return False
|
|
||||||
|
|
||||||
|
|
||||||
class TestTimer(unittest.TestCase):
|
class TestTimer(unittest.TestCase):
|
||||||
|
|
||||||
|
def cb_renew1(self, n, t, a):
|
||||||
|
self.assertEqual(n, 123)
|
||||||
|
self.assertEqual(t, "teste")
|
||||||
|
self.assertEqual(a, 456)
|
||||||
|
return ecore.ECORE_CALLBACK_RENEW
|
||||||
|
|
||||||
|
def cb_renew2(self, n, t, a):
|
||||||
|
self.assertEqual(n, 789)
|
||||||
|
self.assertEqual(t, "bla")
|
||||||
|
self.assertEqual(a, "something in a")
|
||||||
|
return ecore.ECORE_CALLBACK_RENEW
|
||||||
|
|
||||||
|
def cb_cancel(self, n, t, a):
|
||||||
|
self.assertEqual(n, 666)
|
||||||
|
self.assertEqual(t, "bla")
|
||||||
|
self.assertEqual(a, "something else in a")
|
||||||
|
return ecore.ECORE_CALLBACK_CANCEL
|
||||||
|
|
||||||
def testInit(self):
|
def testInit(self):
|
||||||
t1 = ecore.timer_add(0.2, cb, 123, "teste", a=456)
|
t1 = ecore.timer_add(0.2, self.cb_renew1, 123, "teste", a=456)
|
||||||
t2 = ecore.Timer(0.5, cb, 789, "bla", a="something in a")
|
t2 = ecore.Timer(0.5, self.cb_renew2, 789, "bla", a="something in a")
|
||||||
t3 = ecore.Timer(0.4, cb_false, 666, "bla", a="something else in a")
|
t3 = ecore.Timer(0.4, self.cb_cancel, 666, "bla", a="something else in a")
|
||||||
t4 = ecore.timer_add(1, ecore.main_loop_quit)
|
t4 = ecore.timer_add(1, ecore.main_loop_quit)
|
||||||
|
|
||||||
self.assertIsInstance(t1, ecore.Timer)
|
self.assertIsInstance(t1, ecore.Timer)
|
||||||
|
@ -49,8 +60,10 @@ class TestTimer(unittest.TestCase):
|
||||||
self.assertEqual(t4.is_deleted(), True)
|
self.assertEqual(t4.is_deleted(), True)
|
||||||
|
|
||||||
t1.delete()
|
t1.delete()
|
||||||
|
self.assertEqual(t1.is_deleted(), True)
|
||||||
del t1
|
del t1
|
||||||
t2.delete()
|
t2.delete()
|
||||||
|
self.assertEqual(t2.is_deleted(), True)
|
||||||
del t2
|
del t2
|
||||||
del t3 # already deleted since returned false
|
del t3 # already deleted since returned false
|
||||||
del t4 # already deleted since returned false
|
del t4 # already deleted since returned false
|
||||||
|
|
|
@ -1,26 +1,31 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
|
|
||||||
from efl import ecore
|
|
||||||
import unittest
|
import unittest
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
from efl import ecore
|
||||||
def cb_true(n, t, a):
|
|
||||||
print("cb_true: %s %s %s" % (n, t, a))
|
|
||||||
return True
|
|
||||||
|
|
||||||
def cb_false(n, t, a):
|
|
||||||
print("cb_false: %s %s %s" % (n, t, a))
|
|
||||||
return False
|
|
||||||
|
|
||||||
|
|
||||||
class TestAnimator(unittest.TestCase):
|
class TestAnimator(unittest.TestCase):
|
||||||
|
|
||||||
|
def cb_renew(self, n, t, a):
|
||||||
|
self.assertEqual(n, 123)
|
||||||
|
self.assertEqual(t, "teste")
|
||||||
|
self.assertEqual(a, 456)
|
||||||
|
return ecore.ECORE_CALLBACK_RENEW
|
||||||
|
|
||||||
|
def cb_cancel(self, n, t, a):
|
||||||
|
self.assertEqual(n, 789)
|
||||||
|
self.assertEqual(t, "bla")
|
||||||
|
self.assertEqual(a, "something in a")
|
||||||
|
return ecore.ECORE_CALLBACK_CANCEL
|
||||||
|
|
||||||
def testInit(self):
|
def testInit(self):
|
||||||
ecore.animator_frametime_set(1.0/24.0)
|
ecore.animator_frametime_set(1.0/24.0)
|
||||||
self.assertEqual(ecore.animator_frametime_get(), 1.0/24.0)
|
self.assertEqual(ecore.animator_frametime_get(), 1.0/24.0)
|
||||||
|
|
||||||
a1 = ecore.animator_add(cb_true, 123, "teste", a=456)
|
a1 = ecore.animator_add(self.cb_renew, 123, "teste", a=456)
|
||||||
a2 = ecore.Animator(cb_false, 789, "bla", a="something in a")
|
a2 = ecore.Animator(self.cb_cancel, 789, "bla", a="something in a")
|
||||||
a3 = ecore.animator_add(ecore.main_loop_quit)
|
a3 = ecore.animator_add(ecore.main_loop_quit)
|
||||||
|
|
||||||
self.assertIsInstance(a1, ecore.Animator)
|
self.assertIsInstance(a1, ecore.Animator)
|
||||||
|
@ -46,6 +51,7 @@ class TestAnimator(unittest.TestCase):
|
||||||
self.assertEqual(a3.is_deleted(), True)
|
self.assertEqual(a3.is_deleted(), True)
|
||||||
|
|
||||||
a1.delete()
|
a1.delete()
|
||||||
|
self.assertEqual(a1.is_deleted(), True)
|
||||||
del a1
|
del a1
|
||||||
del a2 # already deleted since returned false
|
del a2 # already deleted since returned false
|
||||||
del a3 # already deleted since returned false
|
del a3 # already deleted since returned false
|
||||||
|
|
|
@ -1,31 +1,30 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
|
|
||||||
from efl import ecore
|
|
||||||
import unittest
|
import unittest
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
from efl import ecore
|
||||||
counters = [0, 0]
|
|
||||||
params = None
|
|
||||||
|
|
||||||
|
|
||||||
def poller_cb():
|
|
||||||
counters[0] += 1
|
|
||||||
return True
|
|
||||||
|
|
||||||
def poller_cb2(one, two, three, test):
|
|
||||||
global params
|
|
||||||
|
|
||||||
params = (one, two, three)
|
|
||||||
counters[1] += 1
|
|
||||||
return False
|
|
||||||
|
|
||||||
|
|
||||||
class TestPoller(unittest.TestCase):
|
class TestPoller(unittest.TestCase):
|
||||||
def testInit(self):
|
|
||||||
|
|
||||||
p1 = ecore.Poller(4, poller_cb)
|
def cb_renew(self):
|
||||||
p2 = ecore.Poller(2, poller_cb2, ecore.ECORE_POLLER_CORE,
|
self.counters[0] += 1
|
||||||
|
return ecore.ECORE_CALLBACK_RENEW
|
||||||
|
|
||||||
|
def cb_cancel(self, one, two, three, test):
|
||||||
|
self.assertEqual(one, "uno")
|
||||||
|
self.assertEqual(two, "due")
|
||||||
|
self.assertEqual(three, "tre")
|
||||||
|
self.assertEqual(test, self)
|
||||||
|
self.counters[1] += 1
|
||||||
|
return ecore.ECORE_CALLBACK_CANCEL
|
||||||
|
|
||||||
|
def testInit(self):
|
||||||
|
self.counters = [0, 0]
|
||||||
|
|
||||||
|
p1 = ecore.Poller(4, self.cb_renew)
|
||||||
|
p2 = ecore.Poller(2, self.cb_cancel, ecore.ECORE_POLLER_CORE,
|
||||||
"uno", "due", three="tre", test=self)
|
"uno", "due", three="tre", test=self)
|
||||||
p3 = ecore.Poller(16, lambda: ecore.main_loop_quit())
|
p3 = ecore.Poller(16, lambda: ecore.main_loop_quit())
|
||||||
|
|
||||||
|
@ -35,9 +34,20 @@ class TestPoller(unittest.TestCase):
|
||||||
|
|
||||||
ecore.main_loop_begin()
|
ecore.main_loop_begin()
|
||||||
|
|
||||||
self.assertEqual(counters, [4, 1])
|
# all the callback has been called?
|
||||||
self.assertEqual(params, ("uno", "due", "tre"))
|
self.assertEqual(self.counters, [4, 1])
|
||||||
|
|
||||||
|
# not yet deleted since returned true
|
||||||
|
self.assertEqual(p1.is_deleted(), False)
|
||||||
|
p1.delete()
|
||||||
|
self.assertEqual(p1.is_deleted(), True)
|
||||||
|
del p1
|
||||||
|
|
||||||
|
# already deleted since returned false
|
||||||
|
self.assertEqual(p2.is_deleted(), True)
|
||||||
|
self.assertEqual(p3.is_deleted(), True)
|
||||||
|
del p2
|
||||||
|
del p3
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
|
@ -1,48 +1,54 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
|
|
||||||
from efl import ecore
|
|
||||||
import unittest
|
import unittest
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
from efl import ecore
|
||||||
def cb_true(n, t, a):
|
|
||||||
print("cb_true: %s %s %s" % (n, t, a))
|
|
||||||
return True
|
|
||||||
|
|
||||||
def cb_false(n, t, a):
|
|
||||||
print("cb_false: %s %s %s" % (n, t, a))
|
|
||||||
return False
|
|
||||||
|
|
||||||
|
|
||||||
class TestIdler(unittest.TestCase):
|
class TestIdler(unittest.TestCase):
|
||||||
|
|
||||||
|
def cb_renew(self, n, t, a):
|
||||||
|
self.assertEqual(n, 123)
|
||||||
|
self.assertEqual(t, "teste")
|
||||||
|
self.assertEqual(a, 456)
|
||||||
|
self.counters[0] += 1
|
||||||
|
return ecore.ECORE_CALLBACK_RENEW
|
||||||
|
|
||||||
|
def cb_cancel(self, n, t, a):
|
||||||
|
self.assertEqual(n, 789)
|
||||||
|
self.assertEqual(t, "bla")
|
||||||
|
self.assertEqual(a, "something in a")
|
||||||
|
self.counters[1] += 1
|
||||||
|
return ecore.ECORE_CALLBACK_CANCEL
|
||||||
|
|
||||||
def testInit(self):
|
def testInit(self):
|
||||||
i1 = ecore.idler_add(cb_true, 123, "teste", a=456)
|
self.counters = [0, 0]
|
||||||
i2 = ecore.Idler(cb_false, 789, "bla", a="something in a")
|
|
||||||
|
i1 = ecore.idler_add(self.cb_renew, 123, "teste", a=456)
|
||||||
|
i2 = ecore.Idler(self.cb_cancel, 789, "bla", a="something in a")
|
||||||
|
|
||||||
self.assertIsInstance(i1, ecore.Idler)
|
self.assertIsInstance(i1, ecore.Idler)
|
||||||
self.assertIsInstance(i2, ecore.Idler)
|
self.assertIsInstance(i2, ecore.Idler)
|
||||||
|
|
||||||
before1 = i1.__repr__()
|
|
||||||
before2 = i2.__repr__()
|
|
||||||
|
|
||||||
t = ecore.timer_add(1, ecore.main_loop_quit)
|
t = ecore.timer_add(1, ecore.main_loop_quit)
|
||||||
ecore.main_loop_begin()
|
ecore.main_loop_begin()
|
||||||
|
|
||||||
after1 = i1.__repr__()
|
# all the callback has been called?
|
||||||
after2 = i2.__repr__()
|
self.assertTrue(self.counters[0] > 1)
|
||||||
|
self.assertTrue(self.counters[1] == 1)
|
||||||
|
|
||||||
self.assertEqual(before1, after1)
|
# not yet deleted since returned true
|
||||||
self.assertNotEqual(before2, after2) # already deleted
|
|
||||||
|
|
||||||
self.assertEqual(t.is_deleted(), True)
|
|
||||||
self.assertEqual(i1.is_deleted(), False)
|
self.assertEqual(i1.is_deleted(), False)
|
||||||
self.assertEqual(i2.is_deleted(), True)
|
|
||||||
|
|
||||||
|
|
||||||
i1.delete()
|
i1.delete()
|
||||||
del t
|
self.assertEqual(i1.is_deleted(), True)
|
||||||
del i1
|
del i1
|
||||||
del i2 # already deleted since returned false
|
|
||||||
|
# already deleted since returned false
|
||||||
|
self.assertEqual(i2.is_deleted(), True)
|
||||||
|
self.assertEqual(t.is_deleted(), True)
|
||||||
|
del i2
|
||||||
|
del t
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
|
@ -1,65 +1,84 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
|
|
||||||
from efl import ecore
|
|
||||||
import unittest
|
import unittest
|
||||||
import logging
|
import logging
|
||||||
|
import time
|
||||||
|
|
||||||
|
from efl import ecore
|
||||||
def cb_true(n, t, a):
|
|
||||||
print("cb_true: %s %s %s" % (n, t, a))
|
|
||||||
return True
|
|
||||||
|
|
||||||
def cb_false(n, t, a):
|
|
||||||
print("cb_false: %s %s %s" % (n, t, a))
|
|
||||||
return False
|
|
||||||
|
|
||||||
def cb_idle():
|
|
||||||
print("idle...")
|
|
||||||
return True
|
|
||||||
|
|
||||||
def sleeper():
|
|
||||||
import time
|
|
||||||
print("sleep 0.1s")
|
|
||||||
time.sleep(0.1)
|
|
||||||
return True
|
|
||||||
|
|
||||||
|
|
||||||
class TestIdleEnterer(unittest.TestCase):
|
class TestIdleEnterer(unittest.TestCase):
|
||||||
def testInit(self):
|
|
||||||
|
|
||||||
i1 = ecore.IdleEnterer(cb_true, 123, "teste", a=456)
|
def cb_renew(self, n, t, a):
|
||||||
i2 = ecore.IdleEnterer(cb_false, 789, "bla", a="something in a")
|
self.assertEqual(n, 123)
|
||||||
|
self.assertEqual(t, "teste")
|
||||||
|
self.assertEqual(a, 456)
|
||||||
|
self.counters[0] += 1
|
||||||
|
return ecore.ECORE_CALLBACK_RENEW
|
||||||
|
|
||||||
|
def cb_cancel(self, n, t, a):
|
||||||
|
self.assertEqual(n, 789)
|
||||||
|
self.assertEqual(t, "bla")
|
||||||
|
self.assertEqual(a, "something in a")
|
||||||
|
self.counters[1] += 1
|
||||||
|
return ecore.ECORE_CALLBACK_CANCEL
|
||||||
|
|
||||||
|
def cb_idle(self):
|
||||||
|
self.counters[2] += 1
|
||||||
|
return ecore.ECORE_CALLBACK_RENEW
|
||||||
|
|
||||||
|
def cb_sleeper(self):
|
||||||
|
time.sleep(0.1)
|
||||||
|
self.counters[3] += 1
|
||||||
|
return ecore.ECORE_CALLBACK_RENEW
|
||||||
|
|
||||||
|
def testInit(self):
|
||||||
|
self.counters = [0, 0, 0, 0]
|
||||||
|
|
||||||
|
i1 = ecore.IdleEnterer(self.cb_renew, 123, "teste", a=456)
|
||||||
|
i2 = ecore.IdleEnterer(self.cb_cancel, 789, "bla", a="something in a")
|
||||||
|
|
||||||
self.assertIsInstance(i1, ecore.IdleEnterer)
|
self.assertIsInstance(i1, ecore.IdleEnterer)
|
||||||
self.assertIsInstance(i2, ecore.IdleEnterer)
|
self.assertIsInstance(i2, ecore.IdleEnterer)
|
||||||
|
|
||||||
before1 = i1.__repr__()
|
|
||||||
before2 = i2.__repr__()
|
|
||||||
|
|
||||||
t = ecore.Timer(1, ecore.main_loop_quit)
|
t = ecore.Timer(1, ecore.main_loop_quit)
|
||||||
timer = ecore.Timer(0.1, sleeper)
|
timer = ecore.Timer(0.1, self.cb_sleeper)
|
||||||
idler = ecore.Idler(cb_idle)
|
idler = ecore.Idler(self.cb_idle)
|
||||||
|
|
||||||
ecore.main_loop_begin()
|
ecore.main_loop_begin()
|
||||||
timer.delete()
|
|
||||||
idler.delete()
|
|
||||||
|
|
||||||
after1 = i1.__repr__()
|
# all the callback has been called?
|
||||||
after2 = i2.__repr__()
|
self.assertTrue(self.counters[0] > 1)
|
||||||
|
self.assertTrue(self.counters[1] == 1)
|
||||||
|
self.assertTrue(self.counters[2] > 1)
|
||||||
|
self.assertTrue(self.counters[3] > 1)
|
||||||
|
|
||||||
self.assertEqual(before1, after1)
|
# "i1" not yet deleted since returned true
|
||||||
self.assertNotEqual(before2, after2) # already deleted
|
|
||||||
|
|
||||||
self.assertEqual(t.is_deleted(), True)
|
|
||||||
self.assertEqual(i1.is_deleted(), False)
|
self.assertEqual(i1.is_deleted(), False)
|
||||||
self.assertEqual(i2.is_deleted(), True)
|
|
||||||
|
|
||||||
i1.delete()
|
i1.delete()
|
||||||
|
self.assertEqual(i1.is_deleted(), True)
|
||||||
del i1
|
del i1
|
||||||
del i2 # already deleted since returned false
|
|
||||||
|
# "i2" already deleted since returned false
|
||||||
|
self.assertEqual(i2.is_deleted(), True)
|
||||||
|
del i2
|
||||||
|
|
||||||
|
# "t" already deleted since returned false
|
||||||
|
self.assertEqual(t.is_deleted(), True)
|
||||||
del t
|
del t
|
||||||
del timer
|
|
||||||
|
# "idler" not yet deleted since returned true
|
||||||
|
self.assertEqual(idler.is_deleted(), False)
|
||||||
|
idler.delete()
|
||||||
|
self.assertEqual(idler.is_deleted(), True)
|
||||||
del idler
|
del idler
|
||||||
|
|
||||||
|
# "timer" not yet deleted since returned true
|
||||||
|
self.assertEqual(timer.is_deleted(), False)
|
||||||
|
timer.delete()
|
||||||
|
self.assertEqual(timer.is_deleted(), True)
|
||||||
|
del timer
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
|
@ -1,65 +1,84 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
|
|
||||||
from efl import ecore
|
|
||||||
import unittest
|
import unittest
|
||||||
import logging
|
import logging
|
||||||
|
import time
|
||||||
|
|
||||||
|
from efl import ecore
|
||||||
def cb_true(n, t, a):
|
|
||||||
print("cb_true: %s %s %s" % (n, t, a))
|
|
||||||
return True
|
|
||||||
|
|
||||||
def cb_false(n, t, a):
|
|
||||||
print("cb_false: %s %s %s" % (n, t, a))
|
|
||||||
return False
|
|
||||||
|
|
||||||
def cb_idle():
|
|
||||||
print("idle...")
|
|
||||||
return True
|
|
||||||
|
|
||||||
def sleeper():
|
|
||||||
import time
|
|
||||||
print("sleep 0.1s")
|
|
||||||
time.sleep(0.1)
|
|
||||||
return True
|
|
||||||
|
|
||||||
|
|
||||||
class TestIdleExiter(unittest.TestCase):
|
class TestIdleExiter(unittest.TestCase):
|
||||||
|
|
||||||
|
def cb_renew(self, n, t, a):
|
||||||
|
self.assertEqual(n, 123)
|
||||||
|
self.assertEqual(t, "teste")
|
||||||
|
self.assertEqual(a, 456)
|
||||||
|
self.counters[0] += 1
|
||||||
|
return ecore.ECORE_CALLBACK_RENEW
|
||||||
|
|
||||||
|
def cb_cancel(self, n, t, a):
|
||||||
|
self.assertEqual(n, 789)
|
||||||
|
self.assertEqual(t, "bla")
|
||||||
|
self.assertEqual(a, "something in a")
|
||||||
|
self.counters[1] += 1
|
||||||
|
return ecore.ECORE_CALLBACK_CANCEL
|
||||||
|
|
||||||
|
def cb_idle(self):
|
||||||
|
self.counters[2] += 1
|
||||||
|
return ecore.ECORE_CALLBACK_RENEW
|
||||||
|
|
||||||
|
def cb_sleeper(self):
|
||||||
|
time.sleep(0.1)
|
||||||
|
self.counters[3] += 1
|
||||||
|
return ecore.ECORE_CALLBACK_RENEW
|
||||||
|
|
||||||
def testInit(self):
|
def testInit(self):
|
||||||
i1 = ecore.idle_exiter_add(cb_true, 123, "teste", a=456)
|
self.counters = [0, 0, 0, 0]
|
||||||
i2 = ecore.IdleExiter(cb_false, 789, "bla", a="something in a")
|
|
||||||
|
i1 = ecore.idle_exiter_add(self.cb_renew, 123, "teste", a=456)
|
||||||
|
i2 = ecore.IdleExiter(self.cb_cancel, 789, "bla", a="something in a")
|
||||||
|
|
||||||
self.assertIsInstance(i1, ecore.IdleExiter)
|
self.assertIsInstance(i1, ecore.IdleExiter)
|
||||||
self.assertIsInstance(i2, ecore.IdleExiter)
|
self.assertIsInstance(i2, ecore.IdleExiter)
|
||||||
|
|
||||||
before1 = i1.__repr__()
|
timer = ecore.timer_add(0.1, self.cb_sleeper)
|
||||||
before2 = i2.__repr__()
|
idler = ecore.idler_add(self.cb_idle)
|
||||||
|
|
||||||
t = ecore.timer_add(1, ecore.main_loop_quit)
|
t = ecore.timer_add(1, ecore.main_loop_quit)
|
||||||
timer = ecore.timer_add(0.1, sleeper)
|
|
||||||
idler = ecore.idler_add(cb_idle)
|
|
||||||
|
|
||||||
ecore.main_loop_begin()
|
ecore.main_loop_begin()
|
||||||
timer.delete()
|
|
||||||
idler.delete()
|
|
||||||
|
|
||||||
after1 = i1.__repr__()
|
# all the callback has been called?
|
||||||
after2 = i2.__repr__()
|
self.assertTrue(self.counters[0] > 1)
|
||||||
|
self.assertTrue(self.counters[1] == 1)
|
||||||
|
self.assertTrue(self.counters[2] > 1)
|
||||||
|
self.assertTrue(self.counters[3] > 1)
|
||||||
|
|
||||||
self.assertEqual(before1, after1)
|
# "i1" not yet deleted since returned true
|
||||||
self.assertNotEqual(before2, after2) # already deleted
|
|
||||||
|
|
||||||
self.assertEqual(t.is_deleted(), True)
|
|
||||||
self.assertEqual(i1.is_deleted(), False)
|
self.assertEqual(i1.is_deleted(), False)
|
||||||
self.assertEqual(i2.is_deleted(), True)
|
|
||||||
|
|
||||||
i1.delete()
|
i1.delete()
|
||||||
|
self.assertEqual(i1.is_deleted(), True)
|
||||||
del i1
|
del i1
|
||||||
del i2 # already deleted since returned false
|
|
||||||
|
# "i2" already deleted since returned false
|
||||||
|
self.assertEqual(i2.is_deleted(), True)
|
||||||
|
del i2
|
||||||
|
|
||||||
|
# "t" already deleted since returned false
|
||||||
|
self.assertEqual(t.is_deleted(), True)
|
||||||
del t
|
del t
|
||||||
del timer
|
|
||||||
|
# "idler" not yet deleted since returned true
|
||||||
|
self.assertEqual(idler.is_deleted(), False)
|
||||||
|
idler.delete()
|
||||||
|
self.assertEqual(idler.is_deleted(), True)
|
||||||
del idler
|
del idler
|
||||||
|
|
||||||
|
# "timer" not yet deleted since returned true
|
||||||
|
self.assertEqual(timer.is_deleted(), False)
|
||||||
|
timer.delete()
|
||||||
|
self.assertEqual(timer.is_deleted(), True)
|
||||||
|
del timer
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
formatter = logging.Formatter("[%(levelname)s] %(name)s (%(filename)s: %(lineno)d) --- %(message)s")
|
formatter = logging.Formatter("[%(levelname)s] %(name)s (%(filename)s: %(lineno)d) --- %(message)s")
|
||||||
|
|
|
@ -7,33 +7,59 @@ import logging
|
||||||
from efl import ecore
|
from efl import ecore
|
||||||
|
|
||||||
|
|
||||||
def cb_read(fd_handler, a, b):
|
NUM_WRITE = 30
|
||||||
data = os.read(fd_handler.fd, 50)
|
|
||||||
print("ready for read: %s, params: a=%s, b=%s " % (fd_handler, a, b))
|
|
||||||
return True
|
|
||||||
|
|
||||||
def timer_write(wfd):
|
|
||||||
print("write to fd: %s" % wfd)
|
|
||||||
os.write(wfd, b"[some data]")
|
|
||||||
return True
|
|
||||||
|
|
||||||
|
|
||||||
class TestFdHandler(unittest.TestCase):
|
class TestFdHandler(unittest.TestCase):
|
||||||
|
|
||||||
|
def cb_read(self, fd_handler, a, b):
|
||||||
|
self.assertEqual(a, 123)
|
||||||
|
self.assertEqual(b, "xyz")
|
||||||
|
|
||||||
|
self.assertTrue(fd_handler.can_read())
|
||||||
|
self.assertFalse(fd_handler.can_write())
|
||||||
|
self.assertFalse(fd_handler.has_error())
|
||||||
|
self.assertEqual(fd_handler.fd, self.rfd)
|
||||||
|
|
||||||
|
data = os.read(fd_handler.fd, 32)
|
||||||
|
# print("READ:", data)
|
||||||
|
self.assertEqual(data, self.sent_data)
|
||||||
|
|
||||||
|
self.num_read += 1
|
||||||
|
if self.num_read >= NUM_WRITE:
|
||||||
|
ecore.main_loop_quit()
|
||||||
|
|
||||||
|
return ecore.ECORE_CALLBACK_RENEW
|
||||||
|
|
||||||
|
def write_timer(self, wfd):
|
||||||
|
self.sent_data = b"data for the reader #%d" % self.num_write
|
||||||
|
# print("WRIT:", self.sent_data)
|
||||||
|
os.write(wfd, self.sent_data)
|
||||||
|
|
||||||
|
self.num_write += 1
|
||||||
|
return ecore.ECORE_CALLBACK_RENEW
|
||||||
|
|
||||||
def testInit(self):
|
def testInit(self):
|
||||||
rfd, wfd = os.pipe()
|
self.num_write = 0
|
||||||
fdh = ecore.fd_handler_add(rfd, ecore.ECORE_FD_READ, cb_read, 123, b="xyz")
|
self.num_read = 0
|
||||||
|
self.sent_data = None
|
||||||
|
|
||||||
ecore.timer_add(0.2, timer_write, wfd)
|
self.rfd, wfd = os.pipe()
|
||||||
|
fdh = ecore.fd_handler_add(self.rfd, ecore.ECORE_FD_READ,
|
||||||
|
self.cb_read, 123, b="xyz")
|
||||||
|
|
||||||
print("before: fdh=%s" % fdh)
|
self.assertIsInstance(fdh, ecore.FdHandler)
|
||||||
|
|
||||||
ecore.timer_add(1, ecore.main_loop_quit)
|
ecore.timer_add(0.01, self.write_timer, wfd)
|
||||||
|
t = ecore.timer_add(1.0, ecore.main_loop_quit) # just a timeout (should quit earlier)
|
||||||
ecore.main_loop_begin()
|
ecore.main_loop_begin()
|
||||||
print("main loop stopped")
|
t.delete()
|
||||||
|
|
||||||
print("after: fdh=%s" % fdh)
|
self.assertEqual(self.num_read, NUM_WRITE)
|
||||||
|
self.assertEqual(self.num_write, NUM_WRITE)
|
||||||
|
|
||||||
|
self.assertEqual(fdh.is_deleted(), False)
|
||||||
fdh.delete()
|
fdh.delete()
|
||||||
|
self.assertEqual(fdh.is_deleted(), True)
|
||||||
del fdh
|
del fdh
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,86 +1,130 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
|
|
||||||
from efl import ecore
|
|
||||||
|
import os
|
||||||
import unittest
|
import unittest
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
from efl import ecore
|
||||||
|
|
||||||
|
|
||||||
|
script_path = os.path.dirname(os.path.realpath(__file__))
|
||||||
|
|
||||||
|
|
||||||
class TestExe(unittest.TestCase):
|
class TestExe(unittest.TestCase):
|
||||||
def testInit(self):
|
def testInit(self):
|
||||||
|
self.num_add = 0
|
||||||
|
self.num_del = 0
|
||||||
|
self.num_data = 0
|
||||||
|
|
||||||
# basic read flags with line support
|
# basic read flags with line support
|
||||||
flags = ecore.ECORE_EXE_PIPE_READ | ecore.ECORE_EXE_PIPE_READ_LINE_BUFFERED
|
flags = ecore.ECORE_EXE_PIPE_READ | \
|
||||||
|
ecore.ECORE_EXE_PIPE_READ_LINE_BUFFERED | \
|
||||||
|
ecore.ECORE_EXE_TERM_WITH_PARENT
|
||||||
|
|
||||||
# simple ls -la output, monitor for add, del and data (stdout)
|
# EXE 1: simple ls -la output, monitor for add, del and data (stdout)
|
||||||
def on_add(x, event, a, b, c):
|
def on_add(x, event, a, b, c):
|
||||||
print("ecore.Exe added:")
|
self.assertEqual(x, exe1)
|
||||||
print(" exe : %s" % x)
|
|
||||||
print(" event: %s" % event)
|
|
||||||
print(" extra: arguments: a=%s, b=%s, c=%s" % (a, b, c))
|
|
||||||
print("")
|
|
||||||
|
|
||||||
self.assertEqual(x, exe)
|
|
||||||
self.assertIsInstance(event, ecore.EventExeAdd)
|
self.assertIsInstance(event, ecore.EventExeAdd)
|
||||||
self.assertEqual(a, 1)
|
self.assertEqual(a, 1)
|
||||||
self.assertEqual(b, 2)
|
self.assertEqual(b, 2)
|
||||||
self.assertEqual(c, 3)
|
self.assertEqual(c, 3)
|
||||||
|
self.num_add += 1
|
||||||
|
return ecore.ECORE_CALLBACK_RENEW
|
||||||
|
|
||||||
def on_del(x, event):
|
def on_del(x, event):
|
||||||
print("ecore.Exe deleted:")
|
self.assertEqual(x, exe1)
|
||||||
print(" exe : %s" % x)
|
self.assertIsInstance(event, ecore.EventExeDel)
|
||||||
ecore.timer_add(1.0, ecore.main_loop_quit)
|
self.num_del += 1
|
||||||
|
return ecore.ECORE_CALLBACK_RENEW
|
||||||
|
|
||||||
def on_data(x, event):
|
def on_data(x, event):
|
||||||
self.assertEqual(x, exe)
|
self.assertEqual(x, exe1)
|
||||||
self.assertIsInstance(event, ecore.EventExeData)
|
self.assertIsInstance(event, ecore.EventExeData)
|
||||||
print("ecore.Exe data on stdout:")
|
self.assertTrue(len(event.lines) >= 13) #we have at least 13 files here
|
||||||
print(" Exe : %s" % repr(exe))
|
self.num_data += 1
|
||||||
print(" Event : %s" % repr(event))
|
return ecore.ECORE_CALLBACK_RENEW
|
||||||
for l in event.lines:
|
|
||||||
print(" %s" % repr(l))
|
|
||||||
print()
|
|
||||||
|
|
||||||
exe = ecore.Exe("ls -la", flags)
|
exe1 = ecore.Exe('ls -l "%s"' % script_path, flags)
|
||||||
exe.on_add_event_add(on_add, 1, c=3, b=2)
|
exe1.on_add_event_add(on_add, 1, c=3, b=2)
|
||||||
exe.on_del_event_add(on_del)
|
exe1.on_del_event_add(on_del)
|
||||||
exe.on_data_event_add(on_data)
|
exe1.on_data_event_add(on_data)
|
||||||
|
|
||||||
|
# EXE 2: use C-api like event handler, will catch all 3 Exe() instances
|
||||||
|
def catch_all_exe_add(event, pos1, pos2, karg1):
|
||||||
|
self.assertIsInstance(event, ecore.EventExeAdd)
|
||||||
|
self.assertEqual(pos1, "pos1")
|
||||||
|
self.assertEqual(pos2, "pos2")
|
||||||
|
self.assertEqual(karg1, "k")
|
||||||
|
self.num_add += 1
|
||||||
|
return ecore.ECORE_CALLBACK_RENEW
|
||||||
|
|
||||||
|
def catch_all_exe_del(event):
|
||||||
|
self.assertIsInstance(event, ecore.EventExeDel)
|
||||||
|
self.num_del += 1
|
||||||
|
return ecore.ECORE_CALLBACK_RENEW
|
||||||
|
|
||||||
|
def catch_all_exe_data(event):
|
||||||
|
self.assertIsInstance(event, ecore.EventExeData)
|
||||||
|
self.num_data += 1
|
||||||
|
return ecore.ECORE_CALLBACK_RENEW
|
||||||
|
|
||||||
|
ecore.on_exe_add_event_add(catch_all_exe_add, "pos1", "pos2", karg1="k")
|
||||||
|
ecore.on_exe_del_event_add(catch_all_exe_del)
|
||||||
|
ecore.on_exe_data_event_add(catch_all_exe_data)
|
||||||
|
exe2 = ecore.Exe('uname -a', flags)
|
||||||
|
|
||||||
|
|
||||||
|
# EXE 3: start "cat", send data to it, then read, send again and kill
|
||||||
# use C-api like event handler, will catch all 3 Exe() instances
|
|
||||||
def catch_all_exe_add(event):
|
|
||||||
print("")
|
|
||||||
print(">>> EXE ADDED: %s" % event)
|
|
||||||
print("")
|
|
||||||
return 1
|
|
||||||
|
|
||||||
ecore.on_exe_add_event_add(catch_all_exe_add)
|
|
||||||
ecore.Exe("ls -l /", flags)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# start cat, send data to it, then read, then send again, then kill it
|
|
||||||
def on_cat_pipe_add(x, event):
|
def on_cat_pipe_add(x, event):
|
||||||
|
self.assertEqual(x, exe3)
|
||||||
|
self.assertIsInstance(event, ecore.EventExeAdd)
|
||||||
x.send(b"123\nabc\nxyz\n")
|
x.send(b"123\nabc\nxyz\n")
|
||||||
|
self.num_add += 1
|
||||||
|
return ecore.ECORE_CALLBACK_RENEW
|
||||||
|
|
||||||
|
def on_cat_pipe_del(x, event):
|
||||||
|
self.assertEqual(x, exe3)
|
||||||
|
self.assertIsInstance(event, ecore.EventExeDel)
|
||||||
|
|
||||||
|
self.num_del += 1
|
||||||
|
return ecore.ECORE_CALLBACK_RENEW
|
||||||
|
|
||||||
def on_cat_pipe_data(x, event):
|
def on_cat_pipe_data(x, event):
|
||||||
|
self.assertEqual(x, exe3)
|
||||||
|
self.assertIsInstance(event, ecore.EventExeData)
|
||||||
self.assertEqual(event.lines, ["123", "abc", "xyz"])
|
self.assertEqual(event.lines, ["123", "abc", "xyz"])
|
||||||
x.on_data_event_del(on_cat_pipe_data)
|
x.on_data_event_del(on_cat_pipe_data)
|
||||||
|
self.num_data += 1
|
||||||
|
return ecore.ECORE_CALLBACK_CANCEL
|
||||||
|
|
||||||
def on_cat_pipe_data2(x, event):
|
def on_cat_pipe_data2(x, event):
|
||||||
print("cat pipe output:")
|
self.assertEqual(x, exe3)
|
||||||
print("\n".join(event.lines))
|
self.assertIsInstance(event, ecore.EventExeData)
|
||||||
print("")
|
|
||||||
x.send("some\nmore\nlines!\n")
|
x.send("some\nmore\nlines!\n")
|
||||||
if event.lines and event.lines[-1] == "lines!":
|
if event.lines and event.lines[-1] == "lines!":
|
||||||
x.on_data_event_del(on_cat_pipe_data2)
|
x.on_data_event_del(on_cat_pipe_data2)
|
||||||
x.kill() # otherwise it will stay there forever (will be detached)
|
x.kill()
|
||||||
|
self.num_data += 1
|
||||||
|
return ecore.ECORE_CALLBACK_RENEW
|
||||||
|
|
||||||
cat_pipe = ecore.Exe("cat", flags | ecore.ECORE_EXE_PIPE_WRITE)
|
exe3 = ecore.Exe("cat", flags | ecore.ECORE_EXE_PIPE_WRITE)
|
||||||
cat_pipe.on_add_event_add(on_cat_pipe_add)
|
exe3.on_add_event_add(on_cat_pipe_add)
|
||||||
cat_pipe.on_data_event_add(on_cat_pipe_data)
|
exe3.on_del_event_add(on_cat_pipe_del)
|
||||||
cat_pipe.on_data_event_add(on_cat_pipe_data2)
|
exe3.on_data_event_add(on_cat_pipe_data)
|
||||||
|
exe3.on_data_event_add(on_cat_pipe_data2)
|
||||||
|
|
||||||
|
|
||||||
|
# start everything (assuming 2 secs is enough for ls)
|
||||||
|
t = ecore.timer_add(2, ecore.main_loop_quit)
|
||||||
ecore.main_loop_begin()
|
ecore.main_loop_begin()
|
||||||
|
t.delete()
|
||||||
|
|
||||||
|
|
||||||
|
# all the callback has been called?
|
||||||
|
self.assertEqual(self.num_add, 5)
|
||||||
|
self.assertEqual(self.num_del, 5)
|
||||||
|
self.assertEqual(self.num_data, 8)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
|
@ -1,35 +1,58 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
|
|
||||||
from efl import ecore
|
|
||||||
import unittest
|
import unittest
|
||||||
import os
|
import os
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
from efl import ecore
|
||||||
|
|
||||||
def _completion_cb(dest, status):
|
|
||||||
print("Download Finished: file=%s, status=%s" % (dest, status))
|
|
||||||
ecore.main_loop_quit()
|
|
||||||
|
|
||||||
def _progress_cb(dest, dltotal, dlnow, ultotal, ulnow):
|
|
||||||
print("Download Progress: file=%s, dltotal=%d, dlnow=%d, ultotal=%d, ulnow=%d" %
|
|
||||||
(dest, dltotal, dlnow, ultotal, ulnow))
|
|
||||||
return ecore.ECORE_FILE_PROGRESS_CONTINUE
|
|
||||||
|
|
||||||
|
URL = "http://www.google.com"
|
||||||
|
DST = "/tmp/ecore_dwnl_test.html"
|
||||||
|
|
||||||
class TestFileDownload(unittest.TestCase):
|
class TestFileDownload(unittest.TestCase):
|
||||||
|
|
||||||
|
def progress_cb(self, dest, dltotal, dlnow, ultotal, ulnow):
|
||||||
|
# print("Download Progress: file=%s, dltotal=%d, dlnow=%d, ultotal=%d, ulnow=%d" %
|
||||||
|
# (dest, dltotal, dlnow, ultotal, ulnow))
|
||||||
|
self.assertEqual(dest, DST)
|
||||||
|
self.dltotal = dltotal
|
||||||
|
return ecore.ECORE_FILE_PROGRESS_CONTINUE
|
||||||
|
|
||||||
|
def completion_cb(self, dest, status):
|
||||||
|
# print("Download Finished: file=%s, status=%s" % (dest, status))
|
||||||
|
self.assertEqual(dest, DST)
|
||||||
|
self.assertEqual(status, 200)
|
||||||
|
self.completed = True
|
||||||
|
self.complete_status = status
|
||||||
|
ecore.main_loop_quit()
|
||||||
|
|
||||||
def testInit(self):
|
def testInit(self):
|
||||||
dst = "/tmp/ecore_dwnl_test.html"
|
self.dltotal = 0
|
||||||
if os.path.exists(dst):
|
self.completed = False
|
||||||
os.remove(dst)
|
self.complete_status = 0
|
||||||
|
|
||||||
|
if os.path.exists(DST):
|
||||||
|
os.remove(DST)
|
||||||
|
|
||||||
self.assertEqual(ecore.file_download_protocol_available('http://'), True)
|
self.assertEqual(ecore.file_download_protocol_available('http://'), True)
|
||||||
|
|
||||||
ecore.FileDownload("http://www.google.com", dst,
|
ecore.FileDownload(URL, DST,
|
||||||
completion_cb = _completion_cb,
|
completion_cb = self.completion_cb,
|
||||||
progress_cb = _progress_cb)
|
progress_cb = self.progress_cb)
|
||||||
|
|
||||||
|
t = ecore.timer_add(5, ecore.main_loop_quit) # just a timeout (should be faster)
|
||||||
ecore.main_loop_begin()
|
ecore.main_loop_begin()
|
||||||
|
t.delete()
|
||||||
|
|
||||||
|
self.assertTrue(self.completed)
|
||||||
|
self.assertTrue(self.dltotal > 0)
|
||||||
|
self.assertEqual(self.complete_status, 200)
|
||||||
|
self.assertTrue(os.path.exists(DST))
|
||||||
|
# This doesn't work ... should it ??
|
||||||
|
# self.assertEqual(os.path.getsize(DST), self.dltotal)
|
||||||
|
self.assertTrue(os.path.getsize(DST) > 0)
|
||||||
|
os.remove(DST)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
|
@ -1,84 +1,88 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
|
|
||||||
from efl import ecore
|
|
||||||
import unittest
|
import unittest
|
||||||
import os
|
|
||||||
import tempfile
|
import tempfile
|
||||||
import logging
|
import logging
|
||||||
|
import os
|
||||||
|
|
||||||
|
from efl import ecore
|
||||||
counters = [0, 0, 0, 0, 0, 0 , 0, 0]
|
|
||||||
|
|
||||||
def monitor_cb(event, path, tmp_path):
|
|
||||||
""" for reference:
|
|
||||||
if event == ecore.ECORE_FILE_EVENT_MODIFIED:
|
|
||||||
print("EVENT_MODIFIED: '%s'" % path)
|
|
||||||
elif event == ecore.ECORE_FILE_EVENT_CLOSED:
|
|
||||||
print("EVENT_CLOSED: '%s'" % path)
|
|
||||||
elif event == ecore.ECORE_FILE_EVENT_CREATED_FILE:
|
|
||||||
print("ECORE_FILE_EVENT_CREATED_FILE: '%s'" % path)
|
|
||||||
elif event == ecore.ECORE_FILE_EVENT_CREATED_DIRECTORY:
|
|
||||||
print("ECORE_FILE_EVENT_CREATED_DIRECTORY: '%s'" % path)
|
|
||||||
elif event == ecore.ECORE_FILE_EVENT_DELETED_FILE:
|
|
||||||
print("ECORE_FILE_EVENT_DELETED_FILE: '%s'" % path)
|
|
||||||
elif event == ecore.ECORE_FILE_EVENT_DELETED_DIRECTORY:
|
|
||||||
print("ECORE_FILE_EVENT_DELETED_DIRECTORY: '%s'" % path)
|
|
||||||
elif event == ecore.ECORE_FILE_EVENT_DELETED_SELF:
|
|
||||||
print("ECORE_FILE_EVENT_DELETED_SELF: '%s'" % path)
|
|
||||||
"""
|
|
||||||
counters[event] += 1
|
|
||||||
|
|
||||||
def do_stuff(tmp_path, fm):
|
|
||||||
folder1 = os.path.join(tmp_path, "folder1")
|
|
||||||
folder2 = os.path.join(tmp_path, "folder2")
|
|
||||||
file1 = os.path.join(tmp_path, "file1")
|
|
||||||
file2 = os.path.join(tmp_path, "file2")
|
|
||||||
|
|
||||||
# this should trigger two ECORE_FILE_EVENT_CREATED_DIRECTORY
|
|
||||||
os.mkdir(folder1)
|
|
||||||
os.mkdir(folder2)
|
|
||||||
|
|
||||||
# this should trigger two ECORE_FILE_EVENT_DELETED_DIRECTORY
|
|
||||||
os.rmdir(folder1)
|
|
||||||
os.rmdir(folder2)
|
|
||||||
|
|
||||||
# this should trigger two ECORE_FILE_EVENT_CREATED_FILE
|
|
||||||
fp1 = open(file1, 'a')
|
|
||||||
fp2 = open(file2, 'a')
|
|
||||||
|
|
||||||
# this should trigger two ECORE_FILE_EVENT_MODIFIED
|
|
||||||
fp1.write("nothing to say")
|
|
||||||
fp2.write("nothing to say")
|
|
||||||
|
|
||||||
# this should trigger two ECORE_FILE_EVENT_CLOSED
|
|
||||||
fp1.close()
|
|
||||||
fp2.close()
|
|
||||||
|
|
||||||
# this should trigger two ECORE_FILE_EVENT_DELETED_FILE
|
|
||||||
os.remove(file1)
|
|
||||||
os.remove(file2)
|
|
||||||
|
|
||||||
# this should trigger one ECORE_FILE_EVENT_DELETED_SELF !!! we get two
|
|
||||||
os.rmdir(tmp_path)
|
|
||||||
|
|
||||||
|
|
||||||
class TestFileMonitor(unittest.TestCase):
|
class TestFileMonitor(unittest.TestCase):
|
||||||
|
|
||||||
|
def monitor_cb(self, event, path, tmp_path):
|
||||||
|
""" for reference:
|
||||||
|
if event == ecore.ECORE_FILE_EVENT_MODIFIED:
|
||||||
|
print("EVENT_MODIFIED: '%s'" % path)
|
||||||
|
elif event == ecore.ECORE_FILE_EVENT_CLOSED:
|
||||||
|
print("EVENT_CLOSED: '%s'" % path)
|
||||||
|
elif event == ecore.ECORE_FILE_EVENT_CREATED_FILE:
|
||||||
|
print("ECORE_FILE_EVENT_CREATED_FILE: '%s'" % path)
|
||||||
|
elif event == ecore.ECORE_FILE_EVENT_CREATED_DIRECTORY:
|
||||||
|
print("ECORE_FILE_EVENT_CREATED_DIRECTORY: '%s'" % path)
|
||||||
|
elif event == ecore.ECORE_FILE_EVENT_DELETED_FILE:
|
||||||
|
print("ECORE_FILE_EVENT_DELETED_FILE: '%s'" % path)
|
||||||
|
elif event == ecore.ECORE_FILE_EVENT_DELETED_DIRECTORY:
|
||||||
|
print("ECORE_FILE_EVENT_DELETED_DIRECTORY: '%s'" % path)
|
||||||
|
elif event == ecore.ECORE_FILE_EVENT_DELETED_SELF:
|
||||||
|
print("ECORE_FILE_EVENT_DELETED_SELF: '%s'" % path)
|
||||||
|
"""
|
||||||
|
self.counters[event] += 1
|
||||||
|
|
||||||
|
def do_stuff(self, tmp_path, fm):
|
||||||
|
folder1 = os.path.join(tmp_path, "folder1")
|
||||||
|
folder2 = os.path.join(tmp_path, "folder2")
|
||||||
|
file1 = os.path.join(tmp_path, "file1")
|
||||||
|
file2 = os.path.join(tmp_path, "file2")
|
||||||
|
|
||||||
|
# this should trigger two ECORE_FILE_EVENT_CREATED_DIRECTORY
|
||||||
|
os.mkdir(folder1)
|
||||||
|
os.mkdir(folder2)
|
||||||
|
|
||||||
|
# this should trigger two ECORE_FILE_EVENT_DELETED_DIRECTORY
|
||||||
|
os.rmdir(folder1)
|
||||||
|
os.rmdir(folder2)
|
||||||
|
|
||||||
|
# this should trigger two ECORE_FILE_EVENT_CREATED_FILE
|
||||||
|
fp1 = open(file1, 'a')
|
||||||
|
fp2 = open(file2, 'a')
|
||||||
|
|
||||||
|
# this should trigger two ECORE_FILE_EVENT_MODIFIED
|
||||||
|
fp1.write("nothing to say")
|
||||||
|
fp2.write("nothing to say")
|
||||||
|
|
||||||
|
# this should trigger two ECORE_FILE_EVENT_CLOSED
|
||||||
|
fp1.close()
|
||||||
|
fp2.close()
|
||||||
|
|
||||||
|
# this should trigger two ECORE_FILE_EVENT_DELETED_FILE
|
||||||
|
os.remove(file1)
|
||||||
|
os.remove(file2)
|
||||||
|
|
||||||
|
# this should trigger one ECORE_FILE_EVENT_DELETED_SELF !!! we get two
|
||||||
|
os.rmdir(tmp_path)
|
||||||
|
|
||||||
|
return ecore.ECORE_CALLBACK_CANCEL
|
||||||
|
|
||||||
def testInit(self):
|
def testInit(self):
|
||||||
|
self. counters = [0, 0, 0, 0, 0, 0 , 0, 0]
|
||||||
|
|
||||||
path = tempfile.mkdtemp()
|
path = tempfile.mkdtemp()
|
||||||
fm = ecore.FileMonitor(path, monitor_cb, path)
|
fm = ecore.FileMonitor(path, self.monitor_cb, path)
|
||||||
self.assertIsInstance(fm, ecore.FileMonitor)
|
self.assertIsInstance(fm, ecore.FileMonitor)
|
||||||
self.assertEqual(fm.path, path)
|
self.assertEqual(fm.path, path)
|
||||||
|
|
||||||
ecore.Timer(0.1, do_stuff, path, fm)
|
ecore.Timer(0.01, self.do_stuff, path, fm)
|
||||||
ecore.Timer(1.0, lambda: ecore.main_loop_quit())
|
t = ecore.Timer(1.0, ecore.main_loop_quit)
|
||||||
|
|
||||||
ecore.main_loop_begin()
|
ecore.main_loop_begin()
|
||||||
|
t.delete()
|
||||||
|
|
||||||
self.assertEqual(fm.path, path)
|
self.assertEqual(fm.path, path)
|
||||||
fm.delete()
|
fm.delete()
|
||||||
|
|
||||||
# FIXME: we receive two ECORE_FILE_EVENT_DELETED_SELF, it's wrong
|
# FIXME: we receive two ECORE_FILE_EVENT_DELETED_SELF, it's wrong
|
||||||
# should be [0, 2, 2, 2, 2, 1, 2, 2]
|
# should be [0, 2, 2, 2, 2, 1, 2, 2]
|
||||||
self.assertEqual(counters, [0, 2, 2, 2, 2, 2, 2, 2])
|
self.assertEqual(self.counters, [0, 2, 2, 2, 2, 2, 2, 2])
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
|
@ -8,6 +8,8 @@ import logging
|
||||||
from efl import ecore, ecore_con
|
from efl import ecore, ecore_con
|
||||||
|
|
||||||
|
|
||||||
|
TIMEOUT = 5.0 # seconds
|
||||||
|
|
||||||
class TestCon(unittest.TestCase):
|
class TestCon(unittest.TestCase):
|
||||||
|
|
||||||
def testLookup(self):
|
def testLookup(self):
|
||||||
|
@ -16,11 +18,18 @@ class TestCon(unittest.TestCase):
|
||||||
self.assertEqual(ip, '8.8.8.8')
|
self.assertEqual(ip, '8.8.8.8')
|
||||||
self.assertEqual(arg1, "arg1")
|
self.assertEqual(arg1, "arg1")
|
||||||
self.assertEqual(my_karg, 1234)
|
self.assertEqual(my_karg, 1234)
|
||||||
|
self.complete = True
|
||||||
ecore.main_loop_quit()
|
ecore.main_loop_quit()
|
||||||
|
|
||||||
|
self.complete = False
|
||||||
ecore_con.Lookup('google-public-dns-a.google.com',
|
ecore_con.Lookup('google-public-dns-a.google.com',
|
||||||
_dns_complete, "arg1", my_karg=1234)
|
_dns_complete, "arg1", my_karg=1234)
|
||||||
|
|
||||||
|
t = ecore.Timer(TIMEOUT, ecore.main_loop_quit)
|
||||||
ecore.main_loop_begin()
|
ecore.main_loop_begin()
|
||||||
|
t.delete()
|
||||||
|
|
||||||
|
self.assertTrue(self.complete)
|
||||||
|
|
||||||
def testUrl(self):
|
def testUrl(self):
|
||||||
self.complete_counter = 0
|
self.complete_counter = 0
|
||||||
|
@ -64,7 +73,9 @@ class TestCon(unittest.TestCase):
|
||||||
|
|
||||||
self.assertTrue(u.get()) #perform the GET request
|
self.assertTrue(u.get()) #perform the GET request
|
||||||
|
|
||||||
|
t = ecore.Timer(TIMEOUT, ecore.main_loop_quit)
|
||||||
ecore.main_loop_begin()
|
ecore.main_loop_begin()
|
||||||
|
t.delete()
|
||||||
|
|
||||||
self.assertEqual(u.status_code, 200) # assume net is ok
|
self.assertEqual(u.status_code, 200) # assume net is ok
|
||||||
self.assertEqual(self.complete_counter, 16)
|
self.assertEqual(self.complete_counter, 16)
|
||||||
|
@ -76,7 +87,6 @@ class TestCon(unittest.TestCase):
|
||||||
u.delete()
|
u.delete()
|
||||||
|
|
||||||
def testUrlDelete(self):
|
def testUrlDelete(self):
|
||||||
|
|
||||||
self.test_url1 = 'http://www.example.com'
|
self.test_url1 = 'http://www.example.com'
|
||||||
self.test_url2 = 'http://www.google.com'
|
self.test_url2 = 'http://www.google.com'
|
||||||
self.complete_counter = 0
|
self.complete_counter = 0
|
||||||
|
@ -85,11 +95,15 @@ class TestCon(unittest.TestCase):
|
||||||
self.assertIsInstance(event, ecore_con.EventUrlComplete)
|
self.assertIsInstance(event, ecore_con.EventUrlComplete)
|
||||||
self.assertEqual(event.url.url, self.test_url1)
|
self.assertEqual(event.url.url, self.test_url1)
|
||||||
self.complete_counter += 1
|
self.complete_counter += 1
|
||||||
|
if self.complete_counter >= 11:
|
||||||
|
ecore.main_loop_quit()
|
||||||
|
|
||||||
def _on_complete2(event):
|
def _on_complete2(event):
|
||||||
self.assertIsInstance(event, ecore_con.EventUrlComplete)
|
self.assertIsInstance(event, ecore_con.EventUrlComplete)
|
||||||
self.assertEqual(event.url.url, self.test_url2)
|
self.assertEqual(event.url.url, self.test_url2)
|
||||||
self.complete_counter += 10
|
self.complete_counter += 10
|
||||||
|
if self.complete_counter >= 11:
|
||||||
|
ecore.main_loop_quit()
|
||||||
|
|
||||||
u1 = ecore_con.Url(self.test_url1)
|
u1 = ecore_con.Url(self.test_url1)
|
||||||
u1.on_complete_event_add(_on_complete1)
|
u1.on_complete_event_add(_on_complete1)
|
||||||
|
@ -105,8 +119,9 @@ class TestCon(unittest.TestCase):
|
||||||
self.assertTrue(u1.get()) #perform the GET request
|
self.assertTrue(u1.get()) #perform the GET request
|
||||||
self.assertTrue(u2.get()) #perform the GET request
|
self.assertTrue(u2.get()) #perform the GET request
|
||||||
|
|
||||||
ecore.Timer(2.5, lambda: ecore.main_loop_quit())
|
t = ecore.Timer(TIMEOUT, ecore.main_loop_quit)
|
||||||
ecore.main_loop_begin()
|
ecore.main_loop_begin()
|
||||||
|
t.delete()
|
||||||
|
|
||||||
self.assertEqual(u1.status_code, 200) # assume net is ok
|
self.assertEqual(u1.status_code, 200) # assume net is ok
|
||||||
self.assertEqual(u2.status_code, 200) # assume net is ok
|
self.assertEqual(u2.status_code, 200) # assume net is ok
|
||||||
|
@ -117,8 +132,10 @@ class TestCon(unittest.TestCase):
|
||||||
|
|
||||||
def testUrlToFile(self):
|
def testUrlToFile(self):
|
||||||
self.test_url = 'http://www.example.com'
|
self.test_url = 'http://www.example.com'
|
||||||
|
self.complete = False
|
||||||
|
|
||||||
def _on_complete(event):
|
def _on_complete(event):
|
||||||
|
self.complete = True
|
||||||
ecore.main_loop_quit()
|
ecore.main_loop_quit()
|
||||||
|
|
||||||
fd, path = tempfile.mkstemp()
|
fd, path = tempfile.mkstemp()
|
||||||
|
@ -126,7 +143,11 @@ class TestCon(unittest.TestCase):
|
||||||
u.on_complete_event_add(_on_complete)
|
u.on_complete_event_add(_on_complete)
|
||||||
u.get()
|
u.get()
|
||||||
|
|
||||||
|
t = ecore.Timer(TIMEOUT, ecore.main_loop_quit)
|
||||||
ecore.main_loop_begin()
|
ecore.main_loop_begin()
|
||||||
|
t.delete()
|
||||||
|
|
||||||
|
self.assertEqual(self.complete, True)
|
||||||
self.assertEqual(u.status_code, 200) # assume net is ok
|
self.assertEqual(u.status_code, 200) # assume net is ok
|
||||||
self.assertEqual(os.path.getsize(path), u.received_bytes)
|
self.assertEqual(os.path.getsize(path), u.received_bytes)
|
||||||
os.unlink(path)
|
os.unlink(path)
|
||||||
|
@ -147,10 +168,12 @@ class TestCon(unittest.TestCase):
|
||||||
u.on_complete_event_add(_on_complete)
|
u.on_complete_event_add(_on_complete)
|
||||||
# u.post(self.data_to_post, "multipart/form-data")
|
# u.post(self.data_to_post, "multipart/form-data")
|
||||||
u.post(self.data_to_post, "text/txt")
|
u.post(self.data_to_post, "text/txt")
|
||||||
|
|
||||||
ecore.main_loop_begin()
|
|
||||||
self.assertEqual(u.status_code, 200) # assume net is ok
|
|
||||||
|
|
||||||
|
t = ecore.Timer(TIMEOUT, ecore.main_loop_quit)
|
||||||
|
ecore.main_loop_begin()
|
||||||
|
t.delete()
|
||||||
|
|
||||||
|
self.assertEqual(u.status_code, 200) # assume net is ok
|
||||||
u.delete()
|
u.delete()
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
Loading…
Reference in New Issue