diff --git a/.travis.yml b/.travis.yml index 1b8bb62..e505083 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,20 +3,14 @@ sudo: false dist: bionic # 18.04 python: - 2.7 - - 3.6 - 3.7 - pypy3 if: (type = push AND branch IN (master)) OR (type = pull_request) -cache: pip -before_install: - - export PIP_USE_MIRRORS=true - - pip install -U pip setuptools - - pip install -U pytest mock # https://github.com/travis-ci/travis-ci/issues/4873 - - pip install coveralls - - git config --global user.name 'travis-ci' - - git config --global user.email 'travis@nowhere.edu' +cache: + - pip install: - - "pip install -e ." -script: coverage run --source=cihai_cli setup.py test + - pip install -e . + - pip install -r requirements/test.txt +script: py.test --cov=cihai_cli after_success: - bash <(curl -s https://codecov.io/bash) diff --git a/Pipfile b/Pipfile index ff44651..8533929 100644 --- a/Pipfile +++ b/Pipfile @@ -13,6 +13,8 @@ pytest = "*" cihai-cli = {path = ".",editable = true} black = "==19.10b0" sphinx-issues = "*" +pytest-cov = "*" +coverage = "*" [packages] cihai = "~=0.9.0" diff --git a/Pipfile.lock b/Pipfile.lock index 0c1f832..2dcc4c1 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "e87b39795381a758e9157f7d60b9a43ce63b2fa8d5157bc6e6b16ff374d9c7ff" + "sha256": "91ffe4d949f2f8d8cbd35a45b62eb1a1e5df1034edc0a5b6ce772f98b5223225" }, "pipfile-spec": 6, "requires": { @@ -53,20 +53,20 @@ }, "pyyaml": { "hashes": [ - "sha256:0e7f69397d53155e55d10ff68fdfb2cf630a35e6daf65cf0bdeaf04f127c09dc", - "sha256:2e9f0b7c5914367b0916c3c104a024bb68f269a486b9d04a2e8ac6f6597b7803", - "sha256:35ace9b4147848cafac3db142795ee42deebe9d0dad885ce643928e88daebdcc", - "sha256:38a4f0d114101c58c0f3a88aeaa44d63efd588845c5a2df5290b73db8f246d15", - "sha256:483eb6a33b671408c8529106df3707270bfacb2447bf8ad856a4b4f57f6e3075", - "sha256:4b6be5edb9f6bb73680f5bf4ee08ff25416d1400fbd4535fe0069b2994da07cd", - "sha256:7f38e35c00e160db592091751d385cd7b3046d6d51f578b29943225178257b31", - "sha256:8100c896ecb361794d8bfdb9c11fce618c7cf83d624d73d5ab38aef3bc82d43f", - "sha256:c0ee8eca2c582d29c3c2ec6e2c4f703d1b7f1fb10bc72317355a746057e7346c", - "sha256:e4c015484ff0ff197564917b4b4246ca03f411b9bd7f16e02a2f586eb48b6d04", - "sha256:ebc4ed52dcc93eeebeae5cf5deb2ae4347b3a81c3fa12b0b8c976544829396a4" + "sha256:21a8e19e2007a4047ffabbd8f0ee32c0dabae3b7f4b6c645110ae53e7714b470", + "sha256:74ad685bfb065f4bdd36d24aa97092f04bcbb1179b5ffdd3d5f994023fb8c292", + "sha256:79c3ba1da22e61c2a71aaa382c57518ab492278c8974c40187b900b50f3e0282", + "sha256:94ad913ab3fd967d14ecffda8182d7d0e1f7dd919b352773c492ec51890d3224", + "sha256:998db501e3a627c3e5678d6505f0e182d1529545df289db036cdc717f35d8058", + "sha256:9b69d4645bff5820713e8912bc61c4277dc127a6f8c197b52b6436503c42600f", + "sha256:9da13b536533518343a04f3c6564782ec8a13c705310b26b4832d77fa4d92a47", + "sha256:a76159f13b47fb44fb2acac8fef798a1940dd31b4acec6f4560bd11b2d92d31b", + "sha256:a9e9175c1e47a089a2b45d9e2afc6aae1f1f725538c32eec761894a42ba1227f", + "sha256:ea51ce7b96646ecd3bb12c2702e570c2bd7dd4d9f146db7fa83c5008ede35f66", + "sha256:ffbaaa05de60fc444eda3f6300d1af27d965b09b67f1fb4ebcc88dd0fb4ab1b4" ], "index": "pypi", - "version": "==5.2" + "version": "==5.3b1" }, "sqlalchemy": { "hashes": [ @@ -151,6 +151,13 @@ ], "version": "==3.0.4" }, + "cihai": { + "hashes": [ + "sha256:7e085dd8b4af6383f56b5230377577f1408c86f1d337b2537e267cc357e14322" + ], + "index": "pypi", + "version": "==0.9.0.post1" + }, "cihai-cli": { "editable": true, "path": "." @@ -163,6 +170,50 @@ "index": "pypi", "version": "==7.0" }, + "colorama": { + "hashes": [ + "sha256:7d73d2a99753107a36ac6b455ee49046802e59d9d076ef8e47b61499fa29afff", + "sha256:e96da0d330793e2cb9485e9ddfd918d456036c7149416295932478192f4436a1" + ], + "version": "==0.4.3" + }, + "coverage": { + "hashes": [ + "sha256:0101888bd1592a20ccadae081ba10e8b204d20235d18d05c6f7d5e904a38fc10", + "sha256:04b961862334687549eb91cd5178a6fbe977ad365bddc7c60f2227f2f9880cf4", + "sha256:1ca43dbd739c0fc30b0a3637a003a0d2c7edc1dd618359d58cc1e211742f8bd1", + "sha256:1cbb88b34187bdb841f2599770b7e6ff8e259dc3bb64fc7893acf44998acf5f8", + "sha256:232f0b52a5b978288f0bbc282a6c03fe48cd19a04202df44309919c142b3bb9c", + "sha256:24bcfa86fd9ce86b73a8368383c39d919c497a06eebb888b6f0c12f13e920b1a", + "sha256:25b8f60b5c7da71e64c18888f3067d5b6f1334b9681876b2fb41eea26de881ae", + "sha256:2714160a63da18aed9340c70ed514973971ee7e665e6b336917ff4cca81a25b1", + "sha256:2ca2cd5264e84b2cafc73f0045437f70c6378c0d7dbcddc9ee3fe192c1e29e5d", + "sha256:2cc707fc9aad2592fc686d63ef72dc0031fc98b6fb921d2f5395d9ab84fbc3ef", + "sha256:348630edea485f4228233c2f310a598abf8afa5f8c716c02a9698089687b6085", + "sha256:40fbfd6b044c9db13aeec1daf5887d322c710d811f944011757526ef6e323fd9", + "sha256:46c9c6a1d1190c0b75ec7c0f339088309952b82ae8d67a79ff1319eb4e749b96", + "sha256:591506e088901bdc25620c37aec885e82cc896528f28c57e113751e3471fc314", + "sha256:5ac71bba1e07eab403b082c4428f868c1c9e26a21041436b4905c4c3d4e49b08", + "sha256:5f622f19abda4e934938e24f1d67599249abc201844933a6f01aaa8663094489", + "sha256:65bead1ac8c8930cf92a1ccaedcce19a57298547d5d1db5c9d4d068a0675c38b", + "sha256:7362a7f829feda10c7265b553455de596b83d1623b3d436b6d3c51c688c57bf6", + "sha256:7f2675750c50151f806070ec11258edf4c328340916c53bac0adbc465abd6b1e", + "sha256:960d7f42277391e8b1c0b0ae427a214e1b31a1278de6b73f8807b20c2e913bba", + "sha256:a50b0888d8a021a3342d36a6086501e30de7d840ab68fca44913e97d14487dc1", + "sha256:b7dbc5e8c39ea3ad3db22715f1b5401cd698a621218680c6daf42c2f9d36e205", + "sha256:bb3d29df5d07d5399d58a394d0ef50adf303ab4fbf66dfd25b9ef258effcb692", + "sha256:c0fff2733f7c2950f58a4fd09b5db257b00c6fec57bf3f68c5bae004d804b407", + "sha256:c792d3707a86c01c02607ae74364854220fb3e82735f631cd0a345dea6b4cee5", + "sha256:c90bda74e16bcd03861b09b1d37c0a4158feda5d5a036bb2d6e58de6ff65793e", + "sha256:cfce79ce41cc1a1dc7fc85bb41eeeb32d34a4cf39a645c717c0550287e30ff06", + "sha256:eeafb646f374988c22c8e6da5ab9fb81367ecfe81c70c292623373d2a021b1a1", + "sha256:f425f50a6dd807cb9043d15a4fcfba3b5874a54d9587ccbb748899f70dc18c47", + "sha256:fcd4459fe35a400b8f416bc57906862693c9f88b66dc925e7f2a933e77f6b18b", + "sha256:ff3936dd5feaefb4f91c8c1f50a06c588b5dc69fba4f7d9c79a6617ad80bb7df" + ], + "index": "pypi", + "version": "==5.0.1" + }, "docutils": { "hashes": [ "sha256:6dd0078bcfecbef00123531c6b0ca38460b291334ef8dd05c00e060e90ead6ce", @@ -199,6 +250,14 @@ ], "version": "==1.1.0" }, + "importlib-metadata": { + "hashes": [ + "sha256:073a852570f92da5f744a3472af1b61e28e9f78ccf0c9117658dc32b15de7b45", + "sha256:d95141fbfa7ef2ec65cfd945e2af7e5a6ddbd7c8d9a25e66ff3be8e3daf9f60f" + ], + "markers": "python_version < '3.8'", + "version": "==1.3.0" + }, "isort": { "hashes": [ "sha256:54da7e92468955c4fceacd0c86bd0ec997b0e1ee80d97f67c35a78b719dccab1", @@ -214,6 +273,12 @@ ], "version": "==2.10.3" }, + "kaptan": { + "hashes": [ + "sha256:1abd1f56731422fce5af1acc28801677a51e56f5d3c3e8636db761ed143c3dd2" + ], + "version": "==0.5.12" + }, "markupsafe": { "hashes": [ "sha256:00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473", @@ -331,6 +396,14 @@ "index": "pypi", "version": "==5.3.2" }, + "pytest-cov": { + "hashes": [ + "sha256:cc6742d8bac45070217169f5f72ceee1e0e55b0221f54bcf24845972d3a47f2b", + "sha256:cdbdef4f870408ebdbfeb44e63e07eb18bb4619fae852f6e760645fa36172626" + ], + "index": "pypi", + "version": "==2.8.1" + }, "pytz": { "hashes": [ "sha256:1c557d7d0e871de1f5ccd5833f60fb2550652da6be2693c1e02300743d21500d", @@ -338,6 +411,23 @@ ], "version": "==2019.3" }, + "pyyaml": { + "hashes": [ + "sha256:21a8e19e2007a4047ffabbd8f0ee32c0dabae3b7f4b6c645110ae53e7714b470", + "sha256:74ad685bfb065f4bdd36d24aa97092f04bcbb1179b5ffdd3d5f994023fb8c292", + "sha256:79c3ba1da22e61c2a71aaa382c57518ab492278c8974c40187b900b50f3e0282", + "sha256:94ad913ab3fd967d14ecffda8182d7d0e1f7dd919b352773c492ec51890d3224", + "sha256:998db501e3a627c3e5678d6505f0e182d1529545df289db036cdc717f35d8058", + "sha256:9b69d4645bff5820713e8912bc61c4277dc127a6f8c197b52b6436503c42600f", + "sha256:9da13b536533518343a04f3c6564782ec8a13c705310b26b4832d77fa4d92a47", + "sha256:a76159f13b47fb44fb2acac8fef798a1940dd31b4acec6f4560bd11b2d92d31b", + "sha256:a9e9175c1e47a089a2b45d9e2afc6aae1f1f725538c32eec761894a42ba1227f", + "sha256:ea51ce7b96646ecd3bb12c2702e570c2bd7dd4d9f146db7fa83c5008ede35f66", + "sha256:ffbaaa05de60fc444eda3f6300d1af27d965b09b67f1fb4ebcc88dd0fb4ab1b4" + ], + "index": "pypi", + "version": "==5.3b1" + }, "regex": { "hashes": [ "sha256:032fdcc03406e1a6485ec09b826eac78732943840c4b29e503b789716f051d8d", @@ -451,6 +541,12 @@ ], "version": "==1.1.3" }, + "sqlalchemy": { + "hashes": [ + "sha256:bfb8f464a5000b567ac1d350b9090cf081180ec1ab4aa87e7bca12dab25320ec" + ], + "version": "==1.3.12" + }, "toml": { "hashes": [ "sha256:229f81c57791a41d65e399fc06bf0848bab550a9dfd5ed66df18ce5f05e73d5c", @@ -483,6 +579,18 @@ ], "version": "==1.4.0" }, + "unicodecsv": { + "hashes": [ + "sha256:018c08037d48649a0412063ff4eda26eaa81eff1546dbffa51fa5293276ff7fc" + ], + "version": "==0.14.1" + }, + "unihan-etl": { + "hashes": [ + "sha256:1f2451616002659141c10e62beedc6ad6d1afb5224a380d52ac09214b56b19ad" + ], + "version": "==0.10.3" + }, "urllib3": { "hashes": [ "sha256:a8a318824cc77d1fd4b2bec2ded92646630d7fe8619497b142c84a9e6f5a7293", @@ -496,6 +604,19 @@ "sha256:f4ebe71925af7b40a864553f761ed559b43544f8f71746c2d756c7fe788ade7c" ], "version": "==0.1.7" + }, + "zhon": { + "hashes": [ + "sha256:793723575c46f10ace8846c579ce740b04c73e2aa583e04e000aedbd4a47f87f" + ], + "version": "==1.1.5" + }, + "zipp": { + "hashes": [ + "sha256:3718b1cbcd963c7d4c5511a8240812904164b7f381b647143a89d3b98f9bcd8e", + "sha256:f06903e9f1f43b12d371004b4ac7b06ab39a44adc747266928ae6debfa7b3335" + ], + "version": "==0.6.0" } } } diff --git a/requirements/test.txt b/requirements/test.txt index 0aae82a..826ee70 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -1 +1,3 @@ -pytest<=5.1.0 +pytest<=6 +pytest-cov +coverage diff --git a/setup.py b/setup.py index 90503b6..28d3ab1 100755 --- a/setup.py +++ b/setup.py @@ -4,7 +4,6 @@ import sys from setuptools import setup -from setuptools.command.test import test as TestCommand about = {} with open("cihai_cli/__about__.py") as fp: @@ -22,22 +21,6 @@ readme = open('README.rst').read() history = open('CHANGES').read().replace('.. :changelog:', '') - - -class PyTest(TestCommand): - user_options = [('pytest-args=', 'a', "Arguments to pass to py.test")] - - def initialize_options(self): - TestCommand.initialize_options(self) - self.pytest_args = [] - - def run_tests(self): - import pytest - - errno = pytest.main(self.pytest_args) - sys.exit(errno) - - setup( name=about['__title__'], version=about['__version__'], @@ -57,7 +40,6 @@ def run_tests(self): include_package_data=True, install_requires=install_reqs, tests_require=tests_reqs, - cmdclass={'test': PyTest}, zip_safe=False, keywords=about['__title__'], entry_points=dict(console_scripts=['cihai=cihai_cli.cli:cli']),