*: Drop nose dependency
authorW. Trevor King <wking@tremily.us>
Wed, 25 Apr 2018 21:03:32 +0000 (14:03 -0700)
committerW. Trevor King <wking@tremily.us>
Wed, 25 Apr 2018 21:10:24 +0000 (14:10 -0700)
And use Python's unittest discovery instead.  The load_tests link
between the doctests and unittest is based on [1].

[1]: https://docs.python.org/3.6/library/doctest.html#unittest-api

README
pyassuan/test_common.py [new file with mode: 0644]
pyassuan/test_error.py [new file with mode: 0644]
pyassuan/test_server.py [new file with mode: 0644]

diff --git a/README b/README
index 5c5bcc3fbc9e941608fccd6584fed6a0ed85fba0..613c90c0c1e95b72c2102f6ac6e74c476a280742 100644 (file)
--- a/README
+++ b/README
@@ -50,20 +50,17 @@ Checkout the docstrings and the examples in ``bin``.
 Testing
 =======
 
-Run the internal unit tests using nose_::
+Run the internal unit tests with `Python 3.2+'s unittest discovery`__::
 
-  $ nosetests --with-doctest --doctest-tests pyassuan
-
-If a Python-3-version of ``nosetests`` is not the default on your
-system, you may need to try something like::
-
-  $ nosetests-3.3 --with-doctest --doctest-tests pyassuan
+  $ python -m unittest discover
 
 To test running servers by hand, you can use `gpg-connect-agent`_.
 Despite the name, this program can connect to any Assuan server::
 
   $ gpg-connect-agent --raw-socket name
 
+__ unittest-discovery_
+
 Licence
 =======
 
@@ -87,7 +84,8 @@ wking@tremily.us
 .. _wtk overlay: http://blog.tremily.us/posts/Gentoo_overlay/
 .. _Git: http://git-scm.com/
 .. _homepage: http://blog.tremily.us/posts/pyassuan/
-.. _nose: http://readthedocs.org/docs/nose/en/latest/
 .. _gpg-connect-agent:
   http://www.gnupg.org/documentation/manuals/gnupg-devel/gpg_002dconnect_002dagent.html
+.. _unittest-discovery:
+  https://docs.python.org/3.5/library/unittest.html#unittest-test-discovery
 .. _GNU General Public License Version 3: http://www.gnu.org/licenses/gpl.html
diff --git a/pyassuan/test_common.py b/pyassuan/test_common.py
new file mode 100644 (file)
index 0000000..1f9d7dd
--- /dev/null
@@ -0,0 +1,25 @@
+# Copyright (C) 2018 W. Trevor King <wking@tremily.us>
+#
+# This file is part of pyassuan.
+#
+# pyassuan 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.
+#
+# pyassuan 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
+# pyassuan.  If not, see <http://www.gnu.org/licenses/>.
+
+import doctest
+import unittest
+
+from . import common
+
+
+def load_tests(loader, tests, ignore):
+    tests.addTests(doctest.DocTestSuite(common))
+    return tests
diff --git a/pyassuan/test_error.py b/pyassuan/test_error.py
new file mode 100644 (file)
index 0000000..f2cc0f5
--- /dev/null
@@ -0,0 +1,25 @@
+# Copyright (C) 2018 W. Trevor King <wking@tremily.us>
+#
+# This file is part of pyassuan.
+#
+# pyassuan 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.
+#
+# pyassuan 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
+# pyassuan.  If not, see <http://www.gnu.org/licenses/>.
+
+import doctest
+import unittest
+
+from . import error
+
+
+def load_tests(loader, tests, ignore):
+    tests.addTests(doctest.DocTestSuite(error))
+    return tests
diff --git a/pyassuan/test_server.py b/pyassuan/test_server.py
new file mode 100644 (file)
index 0000000..bd70225
--- /dev/null
@@ -0,0 +1,25 @@
+# Copyright (C) 2018 W. Trevor King <wking@tremily.us>
+#
+# This file is part of pyassuan.
+#
+# pyassuan 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.
+#
+# pyassuan 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
+# pyassuan.  If not, see <http://www.gnu.org/licenses/>.
+
+import doctest
+import unittest
+
+from . import server
+
+
+def load_tests(loader, tests, ignore):
+    tests.addTests(doctest.DocTestSuite(server))
+    return tests