From e8f3ae69fc7e40fffdb8f755702eb11f86383e37 Mon Sep 17 00:00:00 2001 From: jvoisin Date: Thu, 13 Dec 2012 21:58:05 +0100 Subject: Enhance the way test.py reports failed tests --- test/clitest.py | 15 +++++++-------- test/libtest.py | 7 +++---- test/test.py | 13 ++++++------- 3 files changed, 16 insertions(+), 19 deletions(-) (limited to 'test') diff --git a/test/clitest.py b/test/clitest.py index a818b5d..da2fc08 100644 --- a/test/clitest.py +++ b/test/clitest.py @@ -93,14 +93,13 @@ class TestFileAttributes(unittest.TestCase): self.assertEqual(stdout.strip('\n'), 'Unable to pocess %s' % 'ilikecookies') -def main(): - suite = unittest.TestSuite() - suite.addTest(unittest.makeSuite(TestRemovecli)) - suite.addTest(unittest.makeSuite(TestListcli)) - suite.addTest(unittest.makeSuite(TestisCleancli)) - test_result = unittest.TextTestRunner(verbosity=test.VERBOSITY).run(suite) - return len(test_result.failures) +def get_tests(): + Suite = unittest.TestSuite() + Suite.addTest(unittest.makeSuite(TestRemovecli)) + Suite.addTest(unittest.makeSuite(TestListcli)) + Suite.addTest(unittest.makeSuite(TestisCleancli)) + return Suite if __name__ == '__main__': - sys.exit(main()) + unittest.TextTestRunner(verbosity=test.VERBOSITY).run(get_tests()) diff --git a/test/libtest.py b/test/libtest.py index 9a833f1..5f4ff7a 100644 --- a/test/libtest.py +++ b/test/libtest.py @@ -78,15 +78,14 @@ class TestFileAttributes(unittest.TestCase): self.assertFalse(mat.create_class_file('ilikecookies', False, True)) -def main(): +def get_tests(): Suite = unittest.TestSuite() Suite.addTest(unittest.makeSuite(TestRemovelib)) Suite.addTest(unittest.makeSuite(TestListlib)) Suite.addTest(unittest.makeSuite(TestisCleanlib)) Suite.addTest(unittest.makeSuite(TestFileAttributes)) - test_result = unittest.TextTestRunner(verbosity=test.VERBOSITY).run(Suite) - return len(test_result.failures) + return Suite if __name__ == '__main__': - sys.exit(main()) + unittest.TextTestRunner(verbosity=test.VERBOSITY).run(get_tests()) diff --git a/test/test.py b/test/test.py index f09e1c5..de6048c 100644 --- a/test/test.py +++ b/test/test.py @@ -15,6 +15,7 @@ import tempfile import unittest import subprocess import sys +import test VERBOSITY = 3 @@ -72,14 +73,12 @@ def main(): import clitest import libtest - failed_tests = 0 + Suite = unittest.TestSuite() + Suite.addTests(clitest.get_tests()) + Suite.addTests(libtest.get_tests()) + + unittest.TextTestRunner(verbosity=test.VERBOSITY).run(Suite) - print('Running cli related tests:\n') - failed_tests += clitest.main() - print('\nRunning library related tests:\n') - failed_tests += libtest.main() - print('\nTotal failed tests: ' + str(failed_tests)) - return failed_tests if __name__ == '__main__': sys.exit(main()) -- cgit v1.3 From d937b7e865490a80c2bff0ca161288f323313c1b Mon Sep 17 00:00:00 2001 From: jvoisin Date: Thu, 13 Dec 2012 22:10:59 +0100 Subject: Specify exceptions types --- test/test.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'test') diff --git a/test/test.py b/test/test.py index de6048c..cbee609 100644 --- a/test/test.py +++ b/test/test.py @@ -15,7 +15,6 @@ import tempfile import unittest import subprocess import sys -import test VERBOSITY = 3 @@ -30,18 +29,18 @@ try: # PDF render processing import poppler import cairo import pdfrw -except: +except ImportError: FILE_LIST.remove(('clean é.pdf', 'dirty é.pdf')) try: # python-mutagen : audio file format import mutagen -except: +except ImportError: pass # since wr don't have any ogg for now #FILE_LIST.remove(('clean.ogg', 'dirty.ogg')) try: # file format exclusively managed by exiftool subprocess.Popen('exiftool', stdout=open('/dev/null')) -except: +except OSError: pass # None for now @@ -73,11 +72,11 @@ def main(): import clitest import libtest - Suite = unittest.TestSuite() - Suite.addTests(clitest.get_tests()) - Suite.addTests(libtest.get_tests()) + suite = unittest.TestSuite() + suite.addTests(clitest.get_tests()) + suite.addTests(libtest.get_tests()) - unittest.TextTestRunner(verbosity=test.VERBOSITY).run(Suite) + unittest.TextTestRunner(verbosity=VERBOSITY).run(suite) if __name__ == '__main__': -- cgit v1.3 From dae41c8e7d2cfce4e7f6a6a2bd27e0c018cd6a60 Mon Sep 17 00:00:00 2001 From: jvoisin Date: Thu, 13 Dec 2012 22:22:02 +0100 Subject: Improve style and pylint's note --- test/clitest.py | 27 +++++++++++++++------------ test/libtest.py | 13 +++++++------ test/test.py | 15 +++++---------- 3 files changed, 27 insertions(+), 28 deletions(-) (limited to 'test') diff --git a/test/clitest.py b/test/clitest.py index da2fc08..0b041b9 100644 --- a/test/clitest.py +++ b/test/clitest.py @@ -43,8 +43,8 @@ class TestListcli(test.MATTest): proc = subprocess.Popen(['../mat', '-d', clean], stdout=subprocess.PIPE) stdout, _ = proc.communicate() - self.assertEqual(stdout.strip('\n'), "[+] File %s :\nNo harmful \ -metadata found" % clean) + self.assertEqual(str(stdout).strip('\n'), "[+] File %s \ +:\nNo harmful metadata found" % clean) def test_list_dirty(self): '''check if get_meta returns all the expected meta''' @@ -52,7 +52,7 @@ metadata found" % clean) proc = subprocess.Popen(['../mat', '-d', dirty], stdout=subprocess.PIPE) stdout, _ = proc.communicate() - self.assertNotEqual(stdout, "[+] File %s" % dirty) + self.assertNotEqual(str(stdout), "[+] File %s" % dirty) class TestisCleancli(test.MATTest): @@ -65,7 +65,7 @@ class TestisCleancli(test.MATTest): proc = subprocess.Popen(['../mat', '-c', clean], stdout=subprocess.PIPE) stdout, _ = proc.communicate() - self.assertEqual(stdout.strip('\n'), '[+] %s is clean' % clean) + self.assertEqual(str(stdout).strip('\n'), '[+] %s is clean' % clean) def test_dirty(self): '''test is_clean on dirty files''' @@ -73,7 +73,7 @@ class TestisCleancli(test.MATTest): proc = subprocess.Popen(['../mat', '-c', dirty], stdout=subprocess.PIPE) stdout, _ = proc.communicate() - self.assertEqual(stdout.strip('\n'), '[+] %s is not clean' % dirty) + self.assertEqual(str(stdout).strip('\n'), '[+] %s is not clean' % dirty) class TestFileAttributes(unittest.TestCase): @@ -81,24 +81,27 @@ class TestFileAttributes(unittest.TestCase): test various stuffs about files (readable, writable, exist, ...) ''' def test_not_writtable(self): + ''' test MAT's behaviour on non-writable file''' proc = subprocess.Popen(['../mat', 'not_writtable'], stdout=subprocess.PIPE) stdout, _ = proc.communicate() - self.assertEqual(stdout.strip('\n'), 'Unable to pocess %s' % 'not_writtable') + self.assertEqual(str(stdout).strip('\n'), 'Unable to process %s' % 'not_writtable') def test_not_exist(self): + ''' test MAT's behaviour on non-existent file''' proc = subprocess.Popen(['../mat', 'ilikecookies'], stdout=subprocess.PIPE) stdout, _ = proc.communicate() - self.assertEqual(stdout.strip('\n'), 'Unable to pocess %s' % 'ilikecookies') + self.assertEqual(str(stdout).strip('\n'), 'Unable to process %s' % 'ilikecookies') def get_tests(): - Suite = unittest.TestSuite() - Suite.addTest(unittest.makeSuite(TestRemovecli)) - Suite.addTest(unittest.makeSuite(TestListcli)) - Suite.addTest(unittest.makeSuite(TestisCleancli)) - return Suite + ''' Return every clitests''' + suite = unittest.TestSuite() + suite.addTest(unittest.makeSuite(TestRemovecli)) + suite.addTest(unittest.makeSuite(TestListcli)) + suite.addTest(unittest.makeSuite(TestisCleancli)) + return suite if __name__ == '__main__': diff --git a/test/libtest.py b/test/libtest.py index 5f4ff7a..2f0ee8f 100644 --- a/test/libtest.py +++ b/test/libtest.py @@ -79,12 +79,13 @@ class TestFileAttributes(unittest.TestCase): def get_tests(): - Suite = unittest.TestSuite() - Suite.addTest(unittest.makeSuite(TestRemovelib)) - Suite.addTest(unittest.makeSuite(TestListlib)) - Suite.addTest(unittest.makeSuite(TestisCleanlib)) - Suite.addTest(unittest.makeSuite(TestFileAttributes)) - return Suite + ''' Return every libtests''' + suite = unittest.TestSuite() + suite.addTest(unittest.makeSuite(TestRemovelib)) + suite.addTest(unittest.makeSuite(TestListlib)) + suite.addTest(unittest.makeSuite(TestisCleanlib)) + suite.addTest(unittest.makeSuite(TestFileAttributes)) + return suite if __name__ == '__main__': diff --git a/test/test.py b/test/test.py index cbee609..675c4f9 100644 --- a/test/test.py +++ b/test/test.py @@ -14,7 +14,6 @@ import glob import tempfile import unittest import subprocess -import sys VERBOSITY = 3 @@ -68,16 +67,12 @@ class MATTest(unittest.TestCase): shutil.rmtree(self.tmpdir) -def main(): +if __name__ == '__main__': import clitest import libtest - suite = unittest.TestSuite() - suite.addTests(clitest.get_tests()) - suite.addTests(libtest.get_tests()) - - unittest.TextTestRunner(verbosity=VERBOSITY).run(suite) + SUITE = unittest.TestSuite() + SUITE.addTests(clitest.get_tests()) + SUITE.addTests(libtest.get_tests()) - -if __name__ == '__main__': - sys.exit(main()) + unittest.TextTestRunner(verbosity=VERBOSITY).run(SUITE) -- cgit v1.3