diff --git a/quixote/html/test/utest_html.py b/quixote/html/test/test_html.py
similarity index 99%
rename from quixote/html/test/utest_html.py
rename to quixote/html/test/test_html.py
index 4b59903..682ac3b 100755
--- a/quixote/html/test/utest_html.py
+++ b/quixote/html/test/test_html.py
@@ -1,7 +1,7 @@
import sys
-from sancho.utest import UTest
from quixote.html import _py_htmltext
from quixote.html import href, url_with_query, url_quote, nl2br
+from quixote.test.utest import UTest
markupchars = '<>&"'
quotedchars = '<>&"'
@@ -340,7 +340,7 @@ def setup_c():
TemplateIO = _c_htmltext.TemplateIO
-if __name__ == "__main__":
+def test_all():
setup_py()
HTMLTest()
HTMLTextTest()
@@ -350,3 +350,6 @@ if __name__ == "__main__":
HTMLTest()
HTMLTextTest()
TemplateTest()
+
+if __name__ == "__main__":
+ test_all()
diff --git a/quixote/ptl/test/utest_ptl.py b/quixote/ptl/test/test_ptl.py
similarity index 96%
rename from quixote/ptl/test/utest_ptl.py
rename to quixote/ptl/test/test_ptl.py
index ecc50fd..050e5e8 100755
--- a/quixote/ptl/test/utest_ptl.py
+++ b/quixote/ptl/test/test_ptl.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python
-from sancho.utest import UTest
+from quixote.test.utest import UTest
from quixote.ptl.ptl_compile import compile_template
from io import StringIO
from quixote.html import TemplateIO, htmltext
@@ -53,6 +53,8 @@ class Test (UTest):
except SyntaxError as e:
assert e.lineno == 1
-if __name__ == "__main__":
+def test_all():
Test()
+if __name__ == "__main__":
+ test_all()
diff --git a/quixote/test/utest_request.py b/quixote/test/test_request.py
similarity index 96%
rename from quixote/test/utest_request.py
rename to quixote/test/test_request.py
index ba3f053..7942d6a 100755
--- a/quixote/test/utest_request.py
+++ b/quixote/test/test_request.py
@@ -1,4 +1,4 @@
-from sancho.utest import UTest
+from quixote.test.utest import UTest
from quixote.http_request import parse_cookies
@@ -39,5 +39,8 @@ class ParseCookiesTest (UTest):
parse_cookies('a="123')
parse_cookies('a=123"')
-if __name__ == "__main__":
+def test_all():
ParseCookiesTest()
+
+if __name__ == "__main__":
+ test_all()
diff --git a/quixote/test/utest.py b/quixote/test/utest.py
new file mode 100644
index 0000000..2d91557
--- /dev/null
+++ b/quixote/test/utest.py
@@ -0,0 +1,13 @@
+# Minimal class to make old Sancho tests work with py.test.
+import types
+
+class UTest:
+ def __init__(self):
+ print('Running %s:' % self.__class__.__name__)
+ for name in dir(self):
+ # Find all methods starting with check_, call them.
+ if name.startswith('check_'):
+ method = getattr(self, name)
+ if isinstance(method, types.MethodType):
+ print(' ', name)
+ method()