summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorhut <hut@lavabit.com>2010-06-07 15:53:01 +0200
committerhut <hut@lavabit.com>2010-06-07 19:55:28 +0200
commit85fd52880db93c6cd01f2c459eb46e6dd35d777c (patch)
tree191c4ffbf69c74121643c3bc899aafd1b399a695
parent9fbe3adac3c0a15a778721b3fc72c789c125b2b8 (diff)
downloadranger-85fd52880db93c6cd01f2c459eb46e6dd35d777c.tar.gz
simplified all_tests.py, moved to test/
-rw-r--r--Makefile4
-rw-r--r--test/__init__.py52
-rwxr-xr-xtest/all_benchmarks.py (renamed from all_benchmarks.py)0
-rwxr-xr-xtest/all_tests.py (renamed from all_tests.py)17
-rw-r--r--test/bm_loader.py2
l---------test/ranger1
-rw-r--r--test/tc_bookmarks.py2
-rw-r--r--test/tc_colorscheme.py2
-rw-r--r--test/tc_direction.py2
-rw-r--r--test/tc_directory.py2
-rw-r--r--test/tc_displayable.py4
-rw-r--r--test/tc_ext.py1
-rw-r--r--test/tc_history.py2
-rw-r--r--test/tc_keyapi.py2
-rw-r--r--test/tc_loader.py4
-rw-r--r--test/tc_newkeys.py3
-rw-r--r--test/tc_signal.py1
-rw-r--r--test/tc_ui.py6
-rw-r--r--test/tc_utfwidth.py2
-rw-r--r--test/testlib.py (renamed from test/test.py)33
20 files changed, 44 insertions, 98 deletions
diff --git a/Makefile b/Makefile
index 6a103a02..a5589803 100644
--- a/Makefile
+++ b/Makefile
@@ -100,10 +100,10 @@ cleandoc:
 	test -d $(DOCDIR) && rm -f -- $(DOCDIR)/*.html
 
 test:
-	@$(PYTHON) all_tests.py 1
+	@$(PYTHON) test/all_tests.py 1
 
 bm:
-	@$(PYTHON) all_benchmarks.py $(BMCOUNT)
+	@$(PYTHON) test/all_benchmarks.py $(BMCOUNT)
 
 snapshot:
 	git archive HEAD | gzip > $(NAME)-$(VERSION)-$(shell git rev-parse HEAD | cut -b 1-8).tar.gz
diff --git a/test/__init__.py b/test/__init__.py
index d87d1fc2..e69de29b 100644
--- a/test/__init__.py
+++ b/test/__init__.py
@@ -1,52 +0,0 @@
-# Copyright (C) 2009, 2010  Roman Zimbelmann <romanz@lavabit.com>
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-import os, sys
-
-__all__ = [ x[0:x.index('.')] \
-		for x in os.listdir(os.path.dirname(__file__)) \
-		if x.startswith('tc_') or x.startswith('bm_')]
-
-def TODO(fnc):
-	def result(*arg, **kw):
-		try:
-			fnc(*arg, **kw)
-		except:
-			pass # failure expected
-	return result
-
-def init():
-	sys.path.append(os.path.abspath(os.path.join(sys.path[0], '..')))
-
-class Fake(object):
-	def __getattr__(self, attrname):
-		val = Fake()
-		self.__dict__[attrname] = val
-		return val
-
-	def __call__(self, *_, **__):
-		return Fake()
-
-	def __clear__(self):
-		self.__dict__.clear()
-
-	def __iter__(self):
-		return iter(())
-
-class OK(Exception):
-	pass
-
-def raise_ok(*_, **__):
-	raise OK()
diff --git a/all_benchmarks.py b/test/all_benchmarks.py
index 73316658..73316658 100755
--- a/all_benchmarks.py
+++ b/test/all_benchmarks.py
diff --git a/all_tests.py b/test/all_tests.py
index 90926918..dff49b60 100755
--- a/all_tests.py
+++ b/test/all_tests.py
@@ -17,20 +17,17 @@
 """Run all the tests inside the test/ directory as a test suite."""
 if __name__ == '__main__':
 	import unittest
-	from test import *
-	from sys import exit, argv
+	import sys
+	import os
 
 	try:
-		verbosity = int(argv[1])
+		verbosity = int(sys.argv[1])
 	except IndexError:
 		verbosity = 2
 
-	tests = []
-	for key, val in vars().copy().items():
-		if key.startswith('tc_'):
-			tests.extend(v for k,v in vars(val).items() if type(v) == type)
-
-	suite = unittest.TestSuite(map(unittest.makeSuite, tests))
+	ls = os.listdir(sys.path[0])
+	paths = [p[:-3] for p in ls if p[:3] == 'tc_' and p[-3:] == '.py']
+	suite = unittest.TestLoader().loadTestsFromNames(paths)
 	result = unittest.TextTestRunner(verbosity=verbosity).run(suite)
 	if len(result.errors) + len(result.failures) > 0:
-		exit(1)
+		sys.exit(1)
diff --git a/test/bm_loader.py b/test/bm_loader.py
index 745e6f3b..968640a5 100644
--- a/test/bm_loader.py
+++ b/test/bm_loader.py
@@ -18,7 +18,7 @@ from ranger.fsobject import Directory, File
 from ranger.ext.openstruct import OpenStruct
 import os.path
 from ranger.shared import FileManagerAware, SettingsAware
-from test import Fake
+from testlib import Fake
 from os.path import realpath, join, dirname
 from subprocess import Popen, PIPE
 TESTDIR = realpath(join(dirname(__file__), '/usr/include'))
diff --git a/test/ranger b/test/ranger
new file mode 120000
index 00000000..5459458c
--- /dev/null
+++ b/test/ranger
@@ -0,0 +1 @@
+../ranger
\ No newline at end of file
diff --git a/test/tc_bookmarks.py b/test/tc_bookmarks.py
index f45ba061..9b41f1c6 100644
--- a/test/tc_bookmarks.py
+++ b/test/tc_bookmarks.py
@@ -13,8 +13,6 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-if __name__ == '__main__': from __init__ import init; init()
-
 from os.path import realpath, join, dirname
 import unittest
 import os
diff --git a/test/tc_colorscheme.py b/test/tc_colorscheme.py
index dbaac1f9..8d6adee6 100644
--- a/test/tc_colorscheme.py
+++ b/test/tc_colorscheme.py
@@ -13,8 +13,6 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-if __name__ == '__main__': from __init__ import init; init()
-
 from unittest import TestCase, main
 import random
 import ranger.colorschemes
diff --git a/test/tc_direction.py b/test/tc_direction.py
index f45b4b36..5c1776cf 100644
--- a/test/tc_direction.py
+++ b/test/tc_direction.py
@@ -13,8 +13,6 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-if __name__ == '__main__': from __init__ import init; init()
-
 import unittest
 from ranger.ext.direction import Direction
 from ranger.ext.openstruct import OpenStruct
diff --git a/test/tc_directory.py b/test/tc_directory.py
index 024ebc9d..a702c4db 100644
--- a/test/tc_directory.py
+++ b/test/tc_directory.py
@@ -13,8 +13,6 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-if __name__ == '__main__': from __init__ import init; init()
-
 import sys
 from os.path import realpath, join, dirname
 
diff --git a/test/tc_displayable.py b/test/tc_displayable.py
index 50f37845..1c66a40e 100644
--- a/test/tc_displayable.py
+++ b/test/tc_displayable.py
@@ -13,14 +13,12 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-if __name__ == '__main__': from __init__ import init; init()
-
 import unittest
 import curses
 from random import randint
 
 from ranger.gui.displayable import Displayable, DisplayableContainer
-from test import Fake, OK, raise_ok, TODO
+from testlib import Fake, OK, raise_ok, TODO
 
 class TestWithFakeCurses(unittest.TestCase):
 	def setUp(self):
diff --git a/test/tc_ext.py b/test/tc_ext.py
index b8094233..919f35a2 100644
--- a/test/tc_ext.py
+++ b/test/tc_ext.py
@@ -13,7 +13,6 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-if __name__ == '__main__': from __init__ import init; init()
 import unittest
 from collections import deque
 
diff --git a/test/tc_history.py b/test/tc_history.py
index d027231a..33784e14 100644
--- a/test/tc_history.py
+++ b/test/tc_history.py
@@ -13,8 +13,6 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-if __name__ == '__main__': from __init__ import init; init()
-
 from ranger.container import History
 from unittest import TestCase, main
 import unittest
diff --git a/test/tc_keyapi.py b/test/tc_keyapi.py
index 2f522173..48282a7d 100644
--- a/test/tc_keyapi.py
+++ b/test/tc_keyapi.py
@@ -13,8 +13,6 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-if __name__ == '__main__': from __init__ import init; init()
-
 from unittest import TestCase, main
 
 class Test(TestCase):
diff --git a/test/tc_loader.py b/test/tc_loader.py
index 53ac5617..9f7f7322 100644
--- a/test/tc_loader.py
+++ b/test/tc_loader.py
@@ -13,13 +13,11 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-if __name__ == '__main__': from __init__ import init; init()
-
 import unittest
 import os
 from os.path import realpath, join, dirname
 
-from test import Fake
+from testlib import Fake
 from ranger.shared import FileManagerAware, SettingsAware
 from ranger.core.loader import Loader
 from ranger.fsobject import Directory, File
diff --git a/test/tc_newkeys.py b/test/tc_newkeys.py
index c7a33025..fd856f17 100644
--- a/test/tc_newkeys.py
+++ b/test/tc_newkeys.py
@@ -14,10 +14,9 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-if __name__ == '__main__': from __init__ import init; init()
 from unittest import TestCase, main
 
-from test import TODO
+from testlib import TODO
 from ranger.ext.tree import Tree
 from ranger.container.keymap import *
 from ranger.container.keybuffer import KeyBuffer
diff --git a/test/tc_signal.py b/test/tc_signal.py
index 35b4eebe..f31681f4 100644
--- a/test/tc_signal.py
+++ b/test/tc_signal.py
@@ -13,7 +13,6 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-if __name__ == '__main__': from __init__ import init; init()
 import unittest
 import gc
 from ranger.ext.signal_dispatcher import *
diff --git a/test/tc_ui.py b/test/tc_ui.py
index 3c659459..dc8d669d 100644
--- a/test/tc_ui.py
+++ b/test/tc_ui.py
@@ -13,14 +13,12 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-if __name__ == '__main__': from __init__ import init; init()
-
 import unittest
 import curses
 
 from ranger.gui import ui
 
-from test import Fake, OK, raise_ok
+from testlib import Fake, OK, raise_ok
 
 ui.curses = Fake()
 
@@ -39,7 +37,7 @@ class Test(unittest.TestCase):
 
 	def tearDown(self):
 		self.ui.destroy()
-	
+
 	def test_passing(self):
 		# Test whether certain method calls are passed to widgets
 		widget = self.ui.widget
diff --git a/test/tc_utfwidth.py b/test/tc_utfwidth.py
index d8ffbe1d..2aa5fa6d 100644
--- a/test/tc_utfwidth.py
+++ b/test/tc_utfwidth.py
@@ -14,8 +14,6 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-if __name__ == '__main__': from __init__ import init; init()
-
 from unittest import TestCase, main
 from ranger.ext.utfwidth import *
 
diff --git a/test/test.py b/test/testlib.py
index d0a69e5a..29dd9e07 100644
--- a/test/test.py
+++ b/test/testlib.py
@@ -13,8 +13,31 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-"""Workaround to allow running single test cases directly"""
-try:
-	from __init__ import init, Fake, OK, raise_ok, TODO
-except:
-	from test import init, Fake, OK, raise_ok, TODO
+def TODO(fnc):
+	def result(*arg, **kw):
+		try:
+			fnc(*arg, **kw)
+		except:
+			pass # failure expected
+	return result
+
+class Fake(object):
+	def __getattr__(self, attrname):
+		val = Fake()
+		self.__dict__[attrname] = val
+		return val
+
+	def __call__(self, *_, **__):
+		return Fake()
+
+	def __clear__(self):
+		self.__dict__.clear()
+
+	def __iter__(self):
+		return iter(())
+
+class OK(Exception):
+	pass
+
+def raise_ok(*_, **__):
+	raise OK()