@@ -30,7 +30,7 @@ Alternatively, get the latest development version:: | |||||
python setup.py install | python setup.py install | ||||
You can run the comprehensive unit testing suite with | You can run the comprehensive unit testing suite with | ||||
``python setup.py test -q``. | |||||
``python -m unittest discover``. | |||||
Usage | Usage | ||||
----- | ----- | ||||
@@ -13,9 +13,10 @@ environment: | |||||
global: | global: | ||||
# See: http://stackoverflow.com/a/13751649/163740 | # See: http://stackoverflow.com/a/13751649/163740 | ||||
WRAPPER: "cmd /E:ON /V:ON /C .\\scripts\\win_wrapper.cmd" | WRAPPER: "cmd /E:ON /V:ON /C .\\scripts\\win_wrapper.cmd" | ||||
PIP: "%WRAPPER% %PYTHON%\\python.exe -m pip" | |||||
SETUPPY: "%WRAPPER% %PYTHON%\\python.exe setup.py --with-extension" | |||||
TWINE: "%WRAPPER% %PYTHON%\\python.exe -m twine" | |||||
PYEXE: "%WRAPPER% %PYTHON%\\python.exe" | |||||
SETUPPY: "%PYEXE% setup.py --with-extension" | |||||
PIP: "%PYEXE% -m pip" | |||||
TWINE: "%PYEXE% -m twine" | |||||
PYPI_USERNAME: "earwigbot" | PYPI_USERNAME: "earwigbot" | ||||
PYPI_PASSWORD: | PYPI_PASSWORD: | ||||
secure: gOIcvPxSC2ujuhwOzwj3v8xjq3CCYd8keFWVnguLM+gcL0e02qshDHy7gwZZwj0+ | secure: gOIcvPxSC2ujuhwOzwj3v8xjq3CCYd8keFWVnguLM+gcL0e02qshDHy7gwZZwj0+ | ||||
@@ -67,9 +68,10 @@ install: | |||||
build_script: | build_script: | ||||
- "%SETUPPY% build" | - "%SETUPPY% build" | ||||
- "%SETUPPY% install --user" | |||||
test_script: | test_script: | ||||
- "%SETUPPY% -q test" | |||||
- "%PYEXE% -m unittest discover" | |||||
after_test: | after_test: | ||||
- "%SETUPPY% bdist_wheel" | - "%SETUPPY% bdist_wheel" | ||||
@@ -28,7 +28,7 @@ Alternatively, get the latest development version:: | |||||
python setup.py install | python setup.py install | ||||
You can run the comprehensive unit testing suite with | You can run the comprehensive unit testing suite with | ||||
``python setup.py test -q``. | |||||
``python -m unittest discover``. | |||||
.. _Python Package Index: https://pypi.org/ | .. _Python Package Index: https://pypi.org/ | ||||
.. _get pip: https://pypi.org/project/pip/ | .. _get pip: https://pypi.org/project/pip/ | ||||
@@ -133,7 +133,8 @@ test_release() { | |||||
rm mwparserfromhell.tar.gz mwparserfromhell.tar.gz.asc | rm mwparserfromhell.tar.gz mwparserfromhell.tar.gz.asc | ||||
cd mwparserfromhell-$VERSION | cd mwparserfromhell-$VERSION | ||||
echo "Running unit tests..." | echo "Running unit tests..." | ||||
python setup.py -q test | |||||
python setup.py -q install | |||||
python -m unittest discover | |||||
if [[ "$?" != "0" ]]; then | if [[ "$?" != "0" ]]; then | ||||
echo "*** ERROR: Unit tests failed!" | echo "*** ERROR: Unit tests failed!" | ||||
deactivate | deactivate | ||||
@@ -20,10 +20,11 @@ | |||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
# SOFTWARE. | # SOFTWARE. | ||||
from __future__ import print_function, unicode_literals | |||||
from __future__ import unicode_literals | |||||
import codecs | import codecs | ||||
from os import listdir, path | from os import listdir, path | ||||
import sys | import sys | ||||
import warnings | |||||
from mwparserfromhell.compat import py3k, str | from mwparserfromhell.compat import py3k, str | ||||
from mwparserfromhell.parser import tokens | from mwparserfromhell.parser import tokens | ||||
@@ -98,19 +99,19 @@ class TokenizerTestCase(object): | |||||
except _TestParseError as err: | except _TestParseError as err: | ||||
if data["name"]: | if data["name"]: | ||||
error = "Could not parse test '{0}' in '{1}':\n\t{2}" | error = "Could not parse test '{0}' in '{1}':\n\t{2}" | ||||
print(error.format(data["name"], filename, err)) | |||||
warnings.warn(error.format(data["name"], filename, err)) | |||||
else: | else: | ||||
error = "Could not parse a test in '{0}':\n\t{1}" | error = "Could not parse a test in '{0}':\n\t{1}" | ||||
print(error.format(filename, err)) | |||||
warnings.warn(error.format(filename, err)) | |||||
continue | continue | ||||
if not data["name"]: | if not data["name"]: | ||||
error = "A test in '{0}' was ignored because it lacked a name" | error = "A test in '{0}' was ignored because it lacked a name" | ||||
print(error.format(filename)) | |||||
warnings.warn(error.format(filename)) | |||||
continue | continue | ||||
if data["input"] is None or data["output"] is None: | if data["input"] is None or data["output"] is None: | ||||
error = "Test '{}' in '{}' was ignored because it lacked an input or an output" | error = "Test '{}' in '{}' was ignored because it lacked an input or an output" | ||||
print(error.format(data["name"], filename)) | |||||
warnings.warn(error.format(data["name"], filename)) | |||||
continue | continue | ||||
number = str(counter).zfill(digits) | number = str(counter).zfill(digits) | ||||