summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiri Moskovcak <jmoskovc@redhat.com>2010-11-15 16:25:29 +0100
committerJiri Moskovcak <jmoskovc@redhat.com>2010-11-15 16:25:29 +0100
commitfb6dd0fe741142df1931005f0a8d8df100579774 (patch)
tree820f71df29513ac3750990b6615594e45a57a662
parentdd3fb694bfcae95a91650b0b85ed4ad8340d61a8 (diff)
downloadabrt-fb6dd0fe741142df1931005f0a8d8df100579774.tar.gz
abrt-fb6dd0fe741142df1931005f0a8d8df100579774.tar.xz
abrt-fb6dd0fe741142df1931005f0a8d8df100579774.zip
rm abrt_test.py
-rw-r--r--tests/abrt_test.py123
1 files changed, 0 insertions, 123 deletions
diff --git a/tests/abrt_test.py b/tests/abrt_test.py
deleted file mode 100644
index e6680228..00000000
--- a/tests/abrt_test.py
+++ /dev/null
@@ -1,123 +0,0 @@
-import unittest
-import sys
-import rpm
-from subprocess import Popen, PIPE
-import os
-import gobject
-
-PROGNAME = "abrt_test"
-
-sys.path.append("../src/gui")
-import CCDBusBackend
-
-def info_msg(fmt, *args):
- sys.stdout.write("%s: %s\n" % (PROGNAME, fmt % args))
-
-def log1(message):
- pass
-
-
-CRASH = "crash"
-TIMEOUT = "timeout"
-
-# prevent creating daemon twice
-# otherwise we get can't create signal..
-daemon = None
-def get_daemon():
- global daemon
- if not daemon:
- daemon = CCDBusBackend.DBusManager()
- return daemon
-
-class TestCrash(unittest.TestCase):
- def setUp(self):
- #Test.__init__(self)
- #print "setUp TestCrash"
- self.daemon = get_daemon()
- self.package_nvr = None
- self.timeout = None
- self.result = None
- self.timeout = None
- self.loop = gobject.MainLoop()
- self.crash_signal = self.daemon.connect("crash", self.on_crash)
-
-
- def get_package(self, filename):
- ts = rpm.TransactionSet()
- mi = ts.dbMatch(rpm.RPMTAG_BASENAMES, filename)
- for h in mi:
- package = h['nvr']
- log1("Killing %s from package %s" % (filename, package))
- return package
-
- def on_timeout(self, test, critical):
- #info_msg("Test has timed out")
- if critical:
- #info_msg("[ FAILED ]")
- self.result = TIMEOUT
- self.loop.quit()
-
- def on_crash(self, daemon, crashed_package_nvr, uuid, uid):
- if self.timeout:
- #print "removing source id: %i" % self.timeout
- gobject.source_remove(self.timeout)
-
- log1("got crash signal")
- self.loop.quit()
- self.assertEqual(self.package_nvr, crashed_package_nvr,
- "expected: %s, got: %s" % (crashed_package_nvr, self.package_nvr))
- self.result = CRASH
-
-class TestCompiled(TestCrash):
- #def __init__(self):
- #TestCrash.__init__(self)
-
- def setUp(self):
- #info_msg("C/C++ crash detection")
- TestCrash.setUp(self)
-
- def kill_sleep(self):
- # kill runs sleep 100 and sends a SEGV to it"
- self.timeout = gobject.timeout_add(5000, self.on_timeout, "c/c++", True)
- app_to_kill = "/bin/sleep"
- self.package_nvr = self.get_package(app_to_kill)
- pid = Popen([app_to_kill,"100"], stdout=PIPE, bufsize=-1).pid
- os.kill(pid, 11)
- return False
-
- def test_c_cpp_crash(self):
- gobject.timeout_add(5, self.kill_sleep)
- self.loop.run()
- self.assertEqual(self.result, CRASH, "expected: %s, got: %s" % (CRASH, self.result))
-
- def test_timeout_on_repeat(self):
- #info_msg("testing repeated crash - should timedout")
- gobject.timeout_add(5, self.kill_sleep)
- self.loop.run()
- self.assertEqual(self.result, TIMEOUT, "expected: %s, got: %s" % (TIMEOUT, self.result))
-
- #def runTest(self):
- # info_msg("Testing C/C++")
-
- def tearDown(self):
- self.daemon.disconnect(self.crash_signal)
-
-class TestPython(TestCrash):
- def test_catch_exception(self):
- pass
-
- def test_pyhook(self):
- # TODO: how to test the hook with default config?
- # we need broken signed package...
- pass
-
-if __name__ == "__main__":
- try:
- # finds every instance of class TestCompiled and run every method
- # called test_*
- suite = unittest.TestLoader().loadTestsFromTestCase(TestCompiled)
- unittest.TextTestRunner(verbosity=2).run(suite)
- suite = unittest.TestLoader().loadTestsFromTestCase(TestPython)
- unittest.TextTestRunner(verbosity=2).run(suite)
- except KeyboardInterrupt:
- sys.exit()