2017-03-25 05:00:42 +01:00
|
|
|
[tox]
|
2017-03-26 04:39:24 +02:00
|
|
|
envlist =
|
2020-06-13 17:27:01 +02:00
|
|
|
py{py3}-{test,pylint,flake8,vulture}
|
Fix tox and finally make Travis green (#29)
* Ignore all flake8 warnings - one by one
Without ignoring, there are by far more than 1000 linting issues.
Fixing these warnings means possibly changing almost every line of
code, as single warnings can effect more than one line.
Doing this in one pull request is generally no good idea, and especially
not now, as the test suite is currently broken.
Instead of just deactivating flake8, or ignoring its exit code, the
warnings are ignored one by one.
This means, when one wants to work on the linting issues, one can just
remove one ignored warning, and fix the problems - which is not too much
work at once, and leads to an managable diff.
modified: tox.ini
* Unpin dependencies for mypy run
... as they could not be installed due to compilation errors.
modified: tox.ini
* Fix syntax error for mypy
When new code was added via
https://github.com/jtesta/ssh-audit/commit/af663da83811ad7c40bcd5ca411ad27ceafbc134
the type hint was moved further down and so caused a syntax error, as
type hints have to follow the function declaration directly.
Now, the the type linter finally works and shows 187 errors.
modified: ssh-audit.py
* Update .gitignore for mypy
modified: .gitignore
* Let tox not fail on mypy errors
Currently, there are almost 200 typing related errors.
Instead of letting the tox run fail, the errors are still shown, but
the exit code gets ignored for now.
This way one can fix them one by one - if wanted.
modified: tox.ini
* Let tox not fail on pylint errors
Currently, there are more than 100 linting related errors.
Most of them will be fixed when flake8 gets fixed.
Instead of letting the tox run fail, the errors are still shown, but the
exit code gets ignored for now.
This way, one can fix them one by one.
modified: tox.ini
* Let vulture only fail on 100% confidence
Vulture is a tool to find dead code. Unlike Flake8, which also finds
unused imports and variables, Vulture does some guess work and finally
outputs a list of possible dead code with a confidence marker.
Already the first result ...
"ssh-audit.py:48: unused import 'Dict' (90% confidence)"
... is a false-positive.
As Flake8 also does a good job in detecting unused code, it makes not
much sense to let tox fail when vulture fails.
Instead of deactivating vulture, it was configured in a way to only
report results with 100% confidence.
modified: tox.ini
* Make timeout_set optional
When timeout_set was introduced in
https://github.com/jtesta/ssh-audit/commit/1ec13c653e5a465d14231f875ad42c23c347b400
the tests were not updated, which instantiated the Socket class.
While the commit message read "A timeout can now be specified", the
code enforced a `timeout_set`.
`timeout_set` now is `False` by default.
modified: ssh-audit.py
* Set default values for Socket's `ipvo` and `timeout`
Commit
https://github.com/jtesta/ssh-audit/commit/f44663bfc4a7c70f9a61a8304fd6f16d945403d8
introduced two new arguments to the Socket class, but did not update
the tests, which still relied on the socket class to only require two arguments.
While for `ipvo`the default of `None` is obvious, as in `__init__` it is
checked for it, for `timeout` it was not that obvious.
Luckily, in the README a default of 5 (seconds) is mentioned.
modified: ssh-audit.py
* Un-comment exception handling
While working on commit
https://github.com/jtesta/ssh-audit/commit/fd3a1f7d4171636f79384bc8c74e1248d9c82a66
possibly it was forgotten to undo the commenting of the exception
handling for the case, when the Socket class was instantiated with a
missing `host` argument.
This broke the `test_invalid_host` test.
modified: ssh-audit.py
* Skip `test_ssh2_server_simple` temporarily
After fixing all the other tests and make tox run again, there is one
failing test left, which unfortunately is not super easy to fix without
further research (at least not for me).
I marked `test_ssh2_server_simple` to be skipped in test runs
(temporarily), so at least, when working on new features, there is
working test suite, now.
modified: test/test_ssh2.py
* Do not pin pytest and coverage version
... but do use pytest < 6, as this version will have a breaking change
with junit/Jenkins integration
Also see https://github.com/jtesta/ssh-audit/issues/34
* Drop unsupported Python versions
... except Python 2.7, as this will need also changes to the source
code, and this pull request is already big enough.
Also, support for Python 3.8 was added.
The Travis configuration was simplified a lot, by leveraging the tox
configuration.
Also, the mac builds have been dropped, as they all took almost an hour
each, they failed and I have no experience on how to fix them.
The `appveyor` build only has been updated to reflect the updated Python
versions, as I have no access to the status page and no experience with
this build environment.
Also, removed call to `coveralls`, which seems to be a leftover from
the old repository.
modified: .appveyor.yml
modified: .travis.yml
modified: packages/setup.py
deleted: test/tools/ci-linux.sh
modified: tox.ini
2020-06-08 22:38:22 +02:00
|
|
|
py{35,36,37,38}-{test,mypy,pylint,flake8,vulture}
|
2017-03-26 04:39:24 +02:00
|
|
|
cov
|
2017-03-25 05:00:42 +01:00
|
|
|
skipsdist = true
|
|
|
|
skip_missing_interpreters = true
|
|
|
|
|
|
|
|
[testenv]
|
|
|
|
deps =
|
Fix tox and finally make Travis green (#29)
* Ignore all flake8 warnings - one by one
Without ignoring, there are by far more than 1000 linting issues.
Fixing these warnings means possibly changing almost every line of
code, as single warnings can effect more than one line.
Doing this in one pull request is generally no good idea, and especially
not now, as the test suite is currently broken.
Instead of just deactivating flake8, or ignoring its exit code, the
warnings are ignored one by one.
This means, when one wants to work on the linting issues, one can just
remove one ignored warning, and fix the problems - which is not too much
work at once, and leads to an managable diff.
modified: tox.ini
* Unpin dependencies for mypy run
... as they could not be installed due to compilation errors.
modified: tox.ini
* Fix syntax error for mypy
When new code was added via
https://github.com/jtesta/ssh-audit/commit/af663da83811ad7c40bcd5ca411ad27ceafbc134
the type hint was moved further down and so caused a syntax error, as
type hints have to follow the function declaration directly.
Now, the the type linter finally works and shows 187 errors.
modified: ssh-audit.py
* Update .gitignore for mypy
modified: .gitignore
* Let tox not fail on mypy errors
Currently, there are almost 200 typing related errors.
Instead of letting the tox run fail, the errors are still shown, but
the exit code gets ignored for now.
This way one can fix them one by one - if wanted.
modified: tox.ini
* Let tox not fail on pylint errors
Currently, there are more than 100 linting related errors.
Most of them will be fixed when flake8 gets fixed.
Instead of letting the tox run fail, the errors are still shown, but the
exit code gets ignored for now.
This way, one can fix them one by one.
modified: tox.ini
* Let vulture only fail on 100% confidence
Vulture is a tool to find dead code. Unlike Flake8, which also finds
unused imports and variables, Vulture does some guess work and finally
outputs a list of possible dead code with a confidence marker.
Already the first result ...
"ssh-audit.py:48: unused import 'Dict' (90% confidence)"
... is a false-positive.
As Flake8 also does a good job in detecting unused code, it makes not
much sense to let tox fail when vulture fails.
Instead of deactivating vulture, it was configured in a way to only
report results with 100% confidence.
modified: tox.ini
* Make timeout_set optional
When timeout_set was introduced in
https://github.com/jtesta/ssh-audit/commit/1ec13c653e5a465d14231f875ad42c23c347b400
the tests were not updated, which instantiated the Socket class.
While the commit message read "A timeout can now be specified", the
code enforced a `timeout_set`.
`timeout_set` now is `False` by default.
modified: ssh-audit.py
* Set default values for Socket's `ipvo` and `timeout`
Commit
https://github.com/jtesta/ssh-audit/commit/f44663bfc4a7c70f9a61a8304fd6f16d945403d8
introduced two new arguments to the Socket class, but did not update
the tests, which still relied on the socket class to only require two arguments.
While for `ipvo`the default of `None` is obvious, as in `__init__` it is
checked for it, for `timeout` it was not that obvious.
Luckily, in the README a default of 5 (seconds) is mentioned.
modified: ssh-audit.py
* Un-comment exception handling
While working on commit
https://github.com/jtesta/ssh-audit/commit/fd3a1f7d4171636f79384bc8c74e1248d9c82a66
possibly it was forgotten to undo the commenting of the exception
handling for the case, when the Socket class was instantiated with a
missing `host` argument.
This broke the `test_invalid_host` test.
modified: ssh-audit.py
* Skip `test_ssh2_server_simple` temporarily
After fixing all the other tests and make tox run again, there is one
failing test left, which unfortunately is not super easy to fix without
further research (at least not for me).
I marked `test_ssh2_server_simple` to be skipped in test runs
(temporarily), so at least, when working on new features, there is
working test suite, now.
modified: test/test_ssh2.py
* Do not pin pytest and coverage version
... but do use pytest < 6, as this version will have a breaking change
with junit/Jenkins integration
Also see https://github.com/jtesta/ssh-audit/issues/34
* Drop unsupported Python versions
... except Python 2.7, as this will need also changes to the source
code, and this pull request is already big enough.
Also, support for Python 3.8 was added.
The Travis configuration was simplified a lot, by leveraging the tox
configuration.
Also, the mac builds have been dropped, as they all took almost an hour
each, they failed and I have no experience on how to fix them.
The `appveyor` build only has been updated to reflect the updated Python
versions, as I have no access to the status page and no experience with
this build environment.
Also, removed call to `coveralls`, which seems to be a leftover from
the old repository.
modified: .appveyor.yml
modified: .travis.yml
modified: packages/setup.py
deleted: test/tools/ci-linux.sh
modified: tox.ini
2020-06-08 22:38:22 +02:00
|
|
|
test: pytest<6.0
|
2017-03-26 04:39:24 +02:00
|
|
|
test,cov: {[testenv:cov]deps}
|
Fix tox and finally make Travis green (#29)
* Ignore all flake8 warnings - one by one
Without ignoring, there are by far more than 1000 linting issues.
Fixing these warnings means possibly changing almost every line of
code, as single warnings can effect more than one line.
Doing this in one pull request is generally no good idea, and especially
not now, as the test suite is currently broken.
Instead of just deactivating flake8, or ignoring its exit code, the
warnings are ignored one by one.
This means, when one wants to work on the linting issues, one can just
remove one ignored warning, and fix the problems - which is not too much
work at once, and leads to an managable diff.
modified: tox.ini
* Unpin dependencies for mypy run
... as they could not be installed due to compilation errors.
modified: tox.ini
* Fix syntax error for mypy
When new code was added via
https://github.com/jtesta/ssh-audit/commit/af663da83811ad7c40bcd5ca411ad27ceafbc134
the type hint was moved further down and so caused a syntax error, as
type hints have to follow the function declaration directly.
Now, the the type linter finally works and shows 187 errors.
modified: ssh-audit.py
* Update .gitignore for mypy
modified: .gitignore
* Let tox not fail on mypy errors
Currently, there are almost 200 typing related errors.
Instead of letting the tox run fail, the errors are still shown, but
the exit code gets ignored for now.
This way one can fix them one by one - if wanted.
modified: tox.ini
* Let tox not fail on pylint errors
Currently, there are more than 100 linting related errors.
Most of them will be fixed when flake8 gets fixed.
Instead of letting the tox run fail, the errors are still shown, but the
exit code gets ignored for now.
This way, one can fix them one by one.
modified: tox.ini
* Let vulture only fail on 100% confidence
Vulture is a tool to find dead code. Unlike Flake8, which also finds
unused imports and variables, Vulture does some guess work and finally
outputs a list of possible dead code with a confidence marker.
Already the first result ...
"ssh-audit.py:48: unused import 'Dict' (90% confidence)"
... is a false-positive.
As Flake8 also does a good job in detecting unused code, it makes not
much sense to let tox fail when vulture fails.
Instead of deactivating vulture, it was configured in a way to only
report results with 100% confidence.
modified: tox.ini
* Make timeout_set optional
When timeout_set was introduced in
https://github.com/jtesta/ssh-audit/commit/1ec13c653e5a465d14231f875ad42c23c347b400
the tests were not updated, which instantiated the Socket class.
While the commit message read "A timeout can now be specified", the
code enforced a `timeout_set`.
`timeout_set` now is `False` by default.
modified: ssh-audit.py
* Set default values for Socket's `ipvo` and `timeout`
Commit
https://github.com/jtesta/ssh-audit/commit/f44663bfc4a7c70f9a61a8304fd6f16d945403d8
introduced two new arguments to the Socket class, but did not update
the tests, which still relied on the socket class to only require two arguments.
While for `ipvo`the default of `None` is obvious, as in `__init__` it is
checked for it, for `timeout` it was not that obvious.
Luckily, in the README a default of 5 (seconds) is mentioned.
modified: ssh-audit.py
* Un-comment exception handling
While working on commit
https://github.com/jtesta/ssh-audit/commit/fd3a1f7d4171636f79384bc8c74e1248d9c82a66
possibly it was forgotten to undo the commenting of the exception
handling for the case, when the Socket class was instantiated with a
missing `host` argument.
This broke the `test_invalid_host` test.
modified: ssh-audit.py
* Skip `test_ssh2_server_simple` temporarily
After fixing all the other tests and make tox run again, there is one
failing test left, which unfortunately is not super easy to fix without
further research (at least not for me).
I marked `test_ssh2_server_simple` to be skipped in test runs
(temporarily), so at least, when working on new features, there is
working test suite, now.
modified: test/test_ssh2.py
* Do not pin pytest and coverage version
... but do use pytest < 6, as this version will have a breaking change
with junit/Jenkins integration
Also see https://github.com/jtesta/ssh-audit/issues/34
* Drop unsupported Python versions
... except Python 2.7, as this will need also changes to the source
code, and this pull request is already big enough.
Also, support for Python 3.8 was added.
The Travis configuration was simplified a lot, by leveraging the tox
configuration.
Also, the mac builds have been dropped, as they all took almost an hour
each, they failed and I have no experience on how to fix them.
The `appveyor` build only has been updated to reflect the updated Python
versions, as I have no access to the status page and no experience with
this build environment.
Also, removed call to `coveralls`, which seems to be a leftover from
the old repository.
modified: .appveyor.yml
modified: .travis.yml
modified: packages/setup.py
deleted: test/tools/ci-linux.sh
modified: tox.ini
2020-06-08 22:38:22 +02:00
|
|
|
test,py{35,36,37,38}-{type,mypy}: colorama
|
|
|
|
py{35,36,37,38}-{type,mypy}: {[testenv:mypy]deps}
|
2020-06-13 17:27:01 +02:00
|
|
|
py{py3,35,36,37,38}-{lint,pylint},lint: {[testenv:pylint]deps}
|
|
|
|
py{py3,35,36,37,38}-{lint,flake8},lint: {[testenv:flake8]deps}
|
|
|
|
py{py3,35,36,37,38}-{lint,vulture},lint: {[testenv:vulture]deps}
|
2017-03-25 05:00:42 +01:00
|
|
|
setenv =
|
|
|
|
SSHAUDIT = {toxinidir}/ssh-audit.py
|
2017-03-26 04:39:24 +02:00
|
|
|
test: COVERAGE_FILE = {toxinidir}/.coverage.{envname}
|
|
|
|
type,mypy: MYPYPATH = {toxinidir}/test/stubs
|
2017-04-04 23:56:17 +02:00
|
|
|
type,mypy: MYPYHTML = {toxinidir}/reports/html/mypy
|
2017-03-25 05:00:42 +01:00
|
|
|
commands =
|
2017-04-04 23:56:17 +02:00
|
|
|
test: coverage run --source ssh-audit -m -- \
|
|
|
|
test: pytest -v --junitxml={toxinidir}/reports/junit.{envname}.xml {posargs:test}
|
2017-03-26 04:39:24 +02:00
|
|
|
test: coverage report --show-missing
|
2017-04-04 23:56:17 +02:00
|
|
|
test: coverage html -d {toxinidir}/reports/html/coverage.{envname}
|
2020-06-17 04:54:39 +02:00
|
|
|
py{35,36,37,38}-{type,mypy}: {[testenv:mypy]commands}
|
2020-06-13 17:27:01 +02:00
|
|
|
py{py3,35,36,37,38}-{lint,pylint},lint: {[testenv:pylint]commands}
|
|
|
|
py{py3,35,36,37,38}-{lint,flake8},lint: {[testenv:flake8]commands}
|
|
|
|
py{py3,35,36,37,38}-{lint,vulture},lint: {[testenv:vulture]commands}
|
2017-03-26 04:39:24 +02:00
|
|
|
ignore_outcome =
|
|
|
|
type: true
|
|
|
|
lint: true
|
2017-03-25 05:00:42 +01:00
|
|
|
|
|
|
|
[testenv:cov]
|
|
|
|
deps =
|
Fix tox and finally make Travis green (#29)
* Ignore all flake8 warnings - one by one
Without ignoring, there are by far more than 1000 linting issues.
Fixing these warnings means possibly changing almost every line of
code, as single warnings can effect more than one line.
Doing this in one pull request is generally no good idea, and especially
not now, as the test suite is currently broken.
Instead of just deactivating flake8, or ignoring its exit code, the
warnings are ignored one by one.
This means, when one wants to work on the linting issues, one can just
remove one ignored warning, and fix the problems - which is not too much
work at once, and leads to an managable diff.
modified: tox.ini
* Unpin dependencies for mypy run
... as they could not be installed due to compilation errors.
modified: tox.ini
* Fix syntax error for mypy
When new code was added via
https://github.com/jtesta/ssh-audit/commit/af663da83811ad7c40bcd5ca411ad27ceafbc134
the type hint was moved further down and so caused a syntax error, as
type hints have to follow the function declaration directly.
Now, the the type linter finally works and shows 187 errors.
modified: ssh-audit.py
* Update .gitignore for mypy
modified: .gitignore
* Let tox not fail on mypy errors
Currently, there are almost 200 typing related errors.
Instead of letting the tox run fail, the errors are still shown, but
the exit code gets ignored for now.
This way one can fix them one by one - if wanted.
modified: tox.ini
* Let tox not fail on pylint errors
Currently, there are more than 100 linting related errors.
Most of them will be fixed when flake8 gets fixed.
Instead of letting the tox run fail, the errors are still shown, but the
exit code gets ignored for now.
This way, one can fix them one by one.
modified: tox.ini
* Let vulture only fail on 100% confidence
Vulture is a tool to find dead code. Unlike Flake8, which also finds
unused imports and variables, Vulture does some guess work and finally
outputs a list of possible dead code with a confidence marker.
Already the first result ...
"ssh-audit.py:48: unused import 'Dict' (90% confidence)"
... is a false-positive.
As Flake8 also does a good job in detecting unused code, it makes not
much sense to let tox fail when vulture fails.
Instead of deactivating vulture, it was configured in a way to only
report results with 100% confidence.
modified: tox.ini
* Make timeout_set optional
When timeout_set was introduced in
https://github.com/jtesta/ssh-audit/commit/1ec13c653e5a465d14231f875ad42c23c347b400
the tests were not updated, which instantiated the Socket class.
While the commit message read "A timeout can now be specified", the
code enforced a `timeout_set`.
`timeout_set` now is `False` by default.
modified: ssh-audit.py
* Set default values for Socket's `ipvo` and `timeout`
Commit
https://github.com/jtesta/ssh-audit/commit/f44663bfc4a7c70f9a61a8304fd6f16d945403d8
introduced two new arguments to the Socket class, but did not update
the tests, which still relied on the socket class to only require two arguments.
While for `ipvo`the default of `None` is obvious, as in `__init__` it is
checked for it, for `timeout` it was not that obvious.
Luckily, in the README a default of 5 (seconds) is mentioned.
modified: ssh-audit.py
* Un-comment exception handling
While working on commit
https://github.com/jtesta/ssh-audit/commit/fd3a1f7d4171636f79384bc8c74e1248d9c82a66
possibly it was forgotten to undo the commenting of the exception
handling for the case, when the Socket class was instantiated with a
missing `host` argument.
This broke the `test_invalid_host` test.
modified: ssh-audit.py
* Skip `test_ssh2_server_simple` temporarily
After fixing all the other tests and make tox run again, there is one
failing test left, which unfortunately is not super easy to fix without
further research (at least not for me).
I marked `test_ssh2_server_simple` to be skipped in test runs
(temporarily), so at least, when working on new features, there is
working test suite, now.
modified: test/test_ssh2.py
* Do not pin pytest and coverage version
... but do use pytest < 6, as this version will have a breaking change
with junit/Jenkins integration
Also see https://github.com/jtesta/ssh-audit/issues/34
* Drop unsupported Python versions
... except Python 2.7, as this will need also changes to the source
code, and this pull request is already big enough.
Also, support for Python 3.8 was added.
The Travis configuration was simplified a lot, by leveraging the tox
configuration.
Also, the mac builds have been dropped, as they all took almost an hour
each, they failed and I have no experience on how to fix them.
The `appveyor` build only has been updated to reflect the updated Python
versions, as I have no access to the status page and no experience with
this build environment.
Also, removed call to `coveralls`, which seems to be a leftover from
the old repository.
modified: .appveyor.yml
modified: .travis.yml
modified: packages/setup.py
deleted: test/tools/ci-linux.sh
modified: tox.ini
2020-06-08 22:38:22 +02:00
|
|
|
coverage
|
2017-03-25 05:00:42 +01:00
|
|
|
setenv =
|
|
|
|
COVERAGE_FILE = {toxinidir}/.coverage
|
|
|
|
commands =
|
|
|
|
coverage erase
|
|
|
|
coverage combine
|
|
|
|
coverage report --show-missing
|
2017-04-04 23:56:17 +02:00
|
|
|
coverage xml -i -o {toxinidir}/reports/coverage.xml
|
|
|
|
coverage html -d {toxinidir}/reports/html/coverage
|
2017-03-25 05:00:42 +01:00
|
|
|
|
|
|
|
[testenv:mypy]
|
|
|
|
deps =
|
Fix tox and finally make Travis green (#29)
* Ignore all flake8 warnings - one by one
Without ignoring, there are by far more than 1000 linting issues.
Fixing these warnings means possibly changing almost every line of
code, as single warnings can effect more than one line.
Doing this in one pull request is generally no good idea, and especially
not now, as the test suite is currently broken.
Instead of just deactivating flake8, or ignoring its exit code, the
warnings are ignored one by one.
This means, when one wants to work on the linting issues, one can just
remove one ignored warning, and fix the problems - which is not too much
work at once, and leads to an managable diff.
modified: tox.ini
* Unpin dependencies for mypy run
... as they could not be installed due to compilation errors.
modified: tox.ini
* Fix syntax error for mypy
When new code was added via
https://github.com/jtesta/ssh-audit/commit/af663da83811ad7c40bcd5ca411ad27ceafbc134
the type hint was moved further down and so caused a syntax error, as
type hints have to follow the function declaration directly.
Now, the the type linter finally works and shows 187 errors.
modified: ssh-audit.py
* Update .gitignore for mypy
modified: .gitignore
* Let tox not fail on mypy errors
Currently, there are almost 200 typing related errors.
Instead of letting the tox run fail, the errors are still shown, but
the exit code gets ignored for now.
This way one can fix them one by one - if wanted.
modified: tox.ini
* Let tox not fail on pylint errors
Currently, there are more than 100 linting related errors.
Most of them will be fixed when flake8 gets fixed.
Instead of letting the tox run fail, the errors are still shown, but the
exit code gets ignored for now.
This way, one can fix them one by one.
modified: tox.ini
* Let vulture only fail on 100% confidence
Vulture is a tool to find dead code. Unlike Flake8, which also finds
unused imports and variables, Vulture does some guess work and finally
outputs a list of possible dead code with a confidence marker.
Already the first result ...
"ssh-audit.py:48: unused import 'Dict' (90% confidence)"
... is a false-positive.
As Flake8 also does a good job in detecting unused code, it makes not
much sense to let tox fail when vulture fails.
Instead of deactivating vulture, it was configured in a way to only
report results with 100% confidence.
modified: tox.ini
* Make timeout_set optional
When timeout_set was introduced in
https://github.com/jtesta/ssh-audit/commit/1ec13c653e5a465d14231f875ad42c23c347b400
the tests were not updated, which instantiated the Socket class.
While the commit message read "A timeout can now be specified", the
code enforced a `timeout_set`.
`timeout_set` now is `False` by default.
modified: ssh-audit.py
* Set default values for Socket's `ipvo` and `timeout`
Commit
https://github.com/jtesta/ssh-audit/commit/f44663bfc4a7c70f9a61a8304fd6f16d945403d8
introduced two new arguments to the Socket class, but did not update
the tests, which still relied on the socket class to only require two arguments.
While for `ipvo`the default of `None` is obvious, as in `__init__` it is
checked for it, for `timeout` it was not that obvious.
Luckily, in the README a default of 5 (seconds) is mentioned.
modified: ssh-audit.py
* Un-comment exception handling
While working on commit
https://github.com/jtesta/ssh-audit/commit/fd3a1f7d4171636f79384bc8c74e1248d9c82a66
possibly it was forgotten to undo the commenting of the exception
handling for the case, when the Socket class was instantiated with a
missing `host` argument.
This broke the `test_invalid_host` test.
modified: ssh-audit.py
* Skip `test_ssh2_server_simple` temporarily
After fixing all the other tests and make tox run again, there is one
failing test left, which unfortunately is not super easy to fix without
further research (at least not for me).
I marked `test_ssh2_server_simple` to be skipped in test runs
(temporarily), so at least, when working on new features, there is
working test suite, now.
modified: test/test_ssh2.py
* Do not pin pytest and coverage version
... but do use pytest < 6, as this version will have a breaking change
with junit/Jenkins integration
Also see https://github.com/jtesta/ssh-audit/issues/34
* Drop unsupported Python versions
... except Python 2.7, as this will need also changes to the source
code, and this pull request is already big enough.
Also, support for Python 3.8 was added.
The Travis configuration was simplified a lot, by leveraging the tox
configuration.
Also, the mac builds have been dropped, as they all took almost an hour
each, they failed and I have no experience on how to fix them.
The `appveyor` build only has been updated to reflect the updated Python
versions, as I have no access to the status page and no experience with
this build environment.
Also, removed call to `coveralls`, which seems to be a leftover from
the old repository.
modified: .appveyor.yml
modified: .travis.yml
modified: packages/setup.py
deleted: test/tools/ci-linux.sh
modified: tox.ini
2020-06-08 22:38:22 +02:00
|
|
|
colorama
|
|
|
|
lxml
|
|
|
|
mypy
|
2017-03-25 05:00:42 +01:00
|
|
|
commands =
|
Fix tox and finally make Travis green (#29)
* Ignore all flake8 warnings - one by one
Without ignoring, there are by far more than 1000 linting issues.
Fixing these warnings means possibly changing almost every line of
code, as single warnings can effect more than one line.
Doing this in one pull request is generally no good idea, and especially
not now, as the test suite is currently broken.
Instead of just deactivating flake8, or ignoring its exit code, the
warnings are ignored one by one.
This means, when one wants to work on the linting issues, one can just
remove one ignored warning, and fix the problems - which is not too much
work at once, and leads to an managable diff.
modified: tox.ini
* Unpin dependencies for mypy run
... as they could not be installed due to compilation errors.
modified: tox.ini
* Fix syntax error for mypy
When new code was added via
https://github.com/jtesta/ssh-audit/commit/af663da83811ad7c40bcd5ca411ad27ceafbc134
the type hint was moved further down and so caused a syntax error, as
type hints have to follow the function declaration directly.
Now, the the type linter finally works and shows 187 errors.
modified: ssh-audit.py
* Update .gitignore for mypy
modified: .gitignore
* Let tox not fail on mypy errors
Currently, there are almost 200 typing related errors.
Instead of letting the tox run fail, the errors are still shown, but
the exit code gets ignored for now.
This way one can fix them one by one - if wanted.
modified: tox.ini
* Let tox not fail on pylint errors
Currently, there are more than 100 linting related errors.
Most of them will be fixed when flake8 gets fixed.
Instead of letting the tox run fail, the errors are still shown, but the
exit code gets ignored for now.
This way, one can fix them one by one.
modified: tox.ini
* Let vulture only fail on 100% confidence
Vulture is a tool to find dead code. Unlike Flake8, which also finds
unused imports and variables, Vulture does some guess work and finally
outputs a list of possible dead code with a confidence marker.
Already the first result ...
"ssh-audit.py:48: unused import 'Dict' (90% confidence)"
... is a false-positive.
As Flake8 also does a good job in detecting unused code, it makes not
much sense to let tox fail when vulture fails.
Instead of deactivating vulture, it was configured in a way to only
report results with 100% confidence.
modified: tox.ini
* Make timeout_set optional
When timeout_set was introduced in
https://github.com/jtesta/ssh-audit/commit/1ec13c653e5a465d14231f875ad42c23c347b400
the tests were not updated, which instantiated the Socket class.
While the commit message read "A timeout can now be specified", the
code enforced a `timeout_set`.
`timeout_set` now is `False` by default.
modified: ssh-audit.py
* Set default values for Socket's `ipvo` and `timeout`
Commit
https://github.com/jtesta/ssh-audit/commit/f44663bfc4a7c70f9a61a8304fd6f16d945403d8
introduced two new arguments to the Socket class, but did not update
the tests, which still relied on the socket class to only require two arguments.
While for `ipvo`the default of `None` is obvious, as in `__init__` it is
checked for it, for `timeout` it was not that obvious.
Luckily, in the README a default of 5 (seconds) is mentioned.
modified: ssh-audit.py
* Un-comment exception handling
While working on commit
https://github.com/jtesta/ssh-audit/commit/fd3a1f7d4171636f79384bc8c74e1248d9c82a66
possibly it was forgotten to undo the commenting of the exception
handling for the case, when the Socket class was instantiated with a
missing `host` argument.
This broke the `test_invalid_host` test.
modified: ssh-audit.py
* Skip `test_ssh2_server_simple` temporarily
After fixing all the other tests and make tox run again, there is one
failing test left, which unfortunately is not super easy to fix without
further research (at least not for me).
I marked `test_ssh2_server_simple` to be skipped in test runs
(temporarily), so at least, when working on new features, there is
working test suite, now.
modified: test/test_ssh2.py
* Do not pin pytest and coverage version
... but do use pytest < 6, as this version will have a breaking change
with junit/Jenkins integration
Also see https://github.com/jtesta/ssh-audit/issues/34
* Drop unsupported Python versions
... except Python 2.7, as this will need also changes to the source
code, and this pull request is already big enough.
Also, support for Python 3.8 was added.
The Travis configuration was simplified a lot, by leveraging the tox
configuration.
Also, the mac builds have been dropped, as they all took almost an hour
each, they failed and I have no experience on how to fix them.
The `appveyor` build only has been updated to reflect the updated Python
versions, as I have no access to the status page and no experience with
this build environment.
Also, removed call to `coveralls`, which seems to be a leftover from
the old repository.
modified: .appveyor.yml
modified: .travis.yml
modified: packages/setup.py
deleted: test/tools/ci-linux.sh
modified: tox.ini
2020-06-08 22:38:22 +02:00
|
|
|
-mypy \
|
2017-03-25 05:00:42 +01:00
|
|
|
--show-error-context \
|
|
|
|
--config-file {toxinidir}/tox.ini \
|
2017-03-26 04:39:24 +02:00
|
|
|
--html-report {env:MYPYHTML}.py3.{envname} \
|
2017-03-25 05:00:42 +01:00
|
|
|
{posargs:{env:SSHAUDIT}}
|
|
|
|
|
|
|
|
[testenv:pylint]
|
|
|
|
deps =
|
|
|
|
mccabe
|
|
|
|
pylint
|
|
|
|
commands =
|
Fix tox and finally make Travis green (#29)
* Ignore all flake8 warnings - one by one
Without ignoring, there are by far more than 1000 linting issues.
Fixing these warnings means possibly changing almost every line of
code, as single warnings can effect more than one line.
Doing this in one pull request is generally no good idea, and especially
not now, as the test suite is currently broken.
Instead of just deactivating flake8, or ignoring its exit code, the
warnings are ignored one by one.
This means, when one wants to work on the linting issues, one can just
remove one ignored warning, and fix the problems - which is not too much
work at once, and leads to an managable diff.
modified: tox.ini
* Unpin dependencies for mypy run
... as they could not be installed due to compilation errors.
modified: tox.ini
* Fix syntax error for mypy
When new code was added via
https://github.com/jtesta/ssh-audit/commit/af663da83811ad7c40bcd5ca411ad27ceafbc134
the type hint was moved further down and so caused a syntax error, as
type hints have to follow the function declaration directly.
Now, the the type linter finally works and shows 187 errors.
modified: ssh-audit.py
* Update .gitignore for mypy
modified: .gitignore
* Let tox not fail on mypy errors
Currently, there are almost 200 typing related errors.
Instead of letting the tox run fail, the errors are still shown, but
the exit code gets ignored for now.
This way one can fix them one by one - if wanted.
modified: tox.ini
* Let tox not fail on pylint errors
Currently, there are more than 100 linting related errors.
Most of them will be fixed when flake8 gets fixed.
Instead of letting the tox run fail, the errors are still shown, but the
exit code gets ignored for now.
This way, one can fix them one by one.
modified: tox.ini
* Let vulture only fail on 100% confidence
Vulture is a tool to find dead code. Unlike Flake8, which also finds
unused imports and variables, Vulture does some guess work and finally
outputs a list of possible dead code with a confidence marker.
Already the first result ...
"ssh-audit.py:48: unused import 'Dict' (90% confidence)"
... is a false-positive.
As Flake8 also does a good job in detecting unused code, it makes not
much sense to let tox fail when vulture fails.
Instead of deactivating vulture, it was configured in a way to only
report results with 100% confidence.
modified: tox.ini
* Make timeout_set optional
When timeout_set was introduced in
https://github.com/jtesta/ssh-audit/commit/1ec13c653e5a465d14231f875ad42c23c347b400
the tests were not updated, which instantiated the Socket class.
While the commit message read "A timeout can now be specified", the
code enforced a `timeout_set`.
`timeout_set` now is `False` by default.
modified: ssh-audit.py
* Set default values for Socket's `ipvo` and `timeout`
Commit
https://github.com/jtesta/ssh-audit/commit/f44663bfc4a7c70f9a61a8304fd6f16d945403d8
introduced two new arguments to the Socket class, but did not update
the tests, which still relied on the socket class to only require two arguments.
While for `ipvo`the default of `None` is obvious, as in `__init__` it is
checked for it, for `timeout` it was not that obvious.
Luckily, in the README a default of 5 (seconds) is mentioned.
modified: ssh-audit.py
* Un-comment exception handling
While working on commit
https://github.com/jtesta/ssh-audit/commit/fd3a1f7d4171636f79384bc8c74e1248d9c82a66
possibly it was forgotten to undo the commenting of the exception
handling for the case, when the Socket class was instantiated with a
missing `host` argument.
This broke the `test_invalid_host` test.
modified: ssh-audit.py
* Skip `test_ssh2_server_simple` temporarily
After fixing all the other tests and make tox run again, there is one
failing test left, which unfortunately is not super easy to fix without
further research (at least not for me).
I marked `test_ssh2_server_simple` to be skipped in test runs
(temporarily), so at least, when working on new features, there is
working test suite, now.
modified: test/test_ssh2.py
* Do not pin pytest and coverage version
... but do use pytest < 6, as this version will have a breaking change
with junit/Jenkins integration
Also see https://github.com/jtesta/ssh-audit/issues/34
* Drop unsupported Python versions
... except Python 2.7, as this will need also changes to the source
code, and this pull request is already big enough.
Also, support for Python 3.8 was added.
The Travis configuration was simplified a lot, by leveraging the tox
configuration.
Also, the mac builds have been dropped, as they all took almost an hour
each, they failed and I have no experience on how to fix them.
The `appveyor` build only has been updated to reflect the updated Python
versions, as I have no access to the status page and no experience with
this build environment.
Also, removed call to `coveralls`, which seems to be a leftover from
the old repository.
modified: .appveyor.yml
modified: .travis.yml
modified: packages/setup.py
deleted: test/tools/ci-linux.sh
modified: tox.ini
2020-06-08 22:38:22 +02:00
|
|
|
-pylint \
|
2017-03-25 05:00:42 +01:00
|
|
|
--rcfile tox.ini \
|
|
|
|
--load-plugins=pylint.extensions.bad_builtin \
|
|
|
|
--load-plugins=pylint.extensions.check_elif \
|
|
|
|
--load-plugins=pylint.extensions.mccabe \
|
|
|
|
{posargs:{env:SSHAUDIT}}
|
|
|
|
|
|
|
|
[testenv:flake8]
|
|
|
|
deps =
|
|
|
|
flake8
|
|
|
|
commands =
|
2020-06-09 23:54:07 +02:00
|
|
|
flake8 {posargs:{env:SSHAUDIT} {toxinidir}/packages/setup.py {toxinidir}/test} --statistics
|
2017-03-25 05:00:42 +01:00
|
|
|
|
|
|
|
[testenv:vulture]
|
2017-03-26 04:39:24 +02:00
|
|
|
deps =
|
|
|
|
vulture
|
2017-03-25 05:00:42 +01:00
|
|
|
commands =
|
|
|
|
python -c "import sys; from subprocess import Popen, PIPE; \
|
Fix tox and finally make Travis green (#29)
* Ignore all flake8 warnings - one by one
Without ignoring, there are by far more than 1000 linting issues.
Fixing these warnings means possibly changing almost every line of
code, as single warnings can effect more than one line.
Doing this in one pull request is generally no good idea, and especially
not now, as the test suite is currently broken.
Instead of just deactivating flake8, or ignoring its exit code, the
warnings are ignored one by one.
This means, when one wants to work on the linting issues, one can just
remove one ignored warning, and fix the problems - which is not too much
work at once, and leads to an managable diff.
modified: tox.ini
* Unpin dependencies for mypy run
... as they could not be installed due to compilation errors.
modified: tox.ini
* Fix syntax error for mypy
When new code was added via
https://github.com/jtesta/ssh-audit/commit/af663da83811ad7c40bcd5ca411ad27ceafbc134
the type hint was moved further down and so caused a syntax error, as
type hints have to follow the function declaration directly.
Now, the the type linter finally works and shows 187 errors.
modified: ssh-audit.py
* Update .gitignore for mypy
modified: .gitignore
* Let tox not fail on mypy errors
Currently, there are almost 200 typing related errors.
Instead of letting the tox run fail, the errors are still shown, but
the exit code gets ignored for now.
This way one can fix them one by one - if wanted.
modified: tox.ini
* Let tox not fail on pylint errors
Currently, there are more than 100 linting related errors.
Most of them will be fixed when flake8 gets fixed.
Instead of letting the tox run fail, the errors are still shown, but the
exit code gets ignored for now.
This way, one can fix them one by one.
modified: tox.ini
* Let vulture only fail on 100% confidence
Vulture is a tool to find dead code. Unlike Flake8, which also finds
unused imports and variables, Vulture does some guess work and finally
outputs a list of possible dead code with a confidence marker.
Already the first result ...
"ssh-audit.py:48: unused import 'Dict' (90% confidence)"
... is a false-positive.
As Flake8 also does a good job in detecting unused code, it makes not
much sense to let tox fail when vulture fails.
Instead of deactivating vulture, it was configured in a way to only
report results with 100% confidence.
modified: tox.ini
* Make timeout_set optional
When timeout_set was introduced in
https://github.com/jtesta/ssh-audit/commit/1ec13c653e5a465d14231f875ad42c23c347b400
the tests were not updated, which instantiated the Socket class.
While the commit message read "A timeout can now be specified", the
code enforced a `timeout_set`.
`timeout_set` now is `False` by default.
modified: ssh-audit.py
* Set default values for Socket's `ipvo` and `timeout`
Commit
https://github.com/jtesta/ssh-audit/commit/f44663bfc4a7c70f9a61a8304fd6f16d945403d8
introduced two new arguments to the Socket class, but did not update
the tests, which still relied on the socket class to only require two arguments.
While for `ipvo`the default of `None` is obvious, as in `__init__` it is
checked for it, for `timeout` it was not that obvious.
Luckily, in the README a default of 5 (seconds) is mentioned.
modified: ssh-audit.py
* Un-comment exception handling
While working on commit
https://github.com/jtesta/ssh-audit/commit/fd3a1f7d4171636f79384bc8c74e1248d9c82a66
possibly it was forgotten to undo the commenting of the exception
handling for the case, when the Socket class was instantiated with a
missing `host` argument.
This broke the `test_invalid_host` test.
modified: ssh-audit.py
* Skip `test_ssh2_server_simple` temporarily
After fixing all the other tests and make tox run again, there is one
failing test left, which unfortunately is not super easy to fix without
further research (at least not for me).
I marked `test_ssh2_server_simple` to be skipped in test runs
(temporarily), so at least, when working on new features, there is
working test suite, now.
modified: test/test_ssh2.py
* Do not pin pytest and coverage version
... but do use pytest < 6, as this version will have a breaking change
with junit/Jenkins integration
Also see https://github.com/jtesta/ssh-audit/issues/34
* Drop unsupported Python versions
... except Python 2.7, as this will need also changes to the source
code, and this pull request is already big enough.
Also, support for Python 3.8 was added.
The Travis configuration was simplified a lot, by leveraging the tox
configuration.
Also, the mac builds have been dropped, as they all took almost an hour
each, they failed and I have no experience on how to fix them.
The `appveyor` build only has been updated to reflect the updated Python
versions, as I have no access to the status page and no experience with
this build environment.
Also, removed call to `coveralls`, which seems to be a leftover from
the old repository.
modified: .appveyor.yml
modified: .travis.yml
modified: packages/setup.py
deleted: test/tools/ci-linux.sh
modified: tox.ini
2020-06-08 22:38:22 +02:00
|
|
|
a = ['vulture', '--min-confidence', '100'] + r'{posargs:{env:SSHAUDIT}}'.split(' '); \
|
2017-03-25 05:00:42 +01:00
|
|
|
o = Popen(a, shell=False, stdout=PIPE).communicate()[0]; \
|
2017-03-25 07:33:16 +01:00
|
|
|
l = [x for x in o.split(b'\n') if x and b'Unused import' not in x]; \
|
|
|
|
print(b'\n'.join(l).decode('utf-8')); \
|
2017-03-25 05:00:42 +01:00
|
|
|
sys.exit(1 if len(l) > 0 else 0)"
|
|
|
|
|
|
|
|
|
|
|
|
[mypy]
|
Re-enable mypy options (#43)
* Convert type comments to annotations
Notes:
- variable annotations are only possible for Python 3.6 and upwards
- class names as a result of a function have to be quoted
cf https://www.python.org/dev/peps/pep-0563/#enabling-the-future-behavior-in-python-3-7
This is ongoing work for #32
modified: ssh-audit.py
* Do not use variable annotation
... as this feature works only for Python 3.6 and above only.
modified: ssh-audit.py
* Re-enable strict_optional
`None` is a valid return type for mypy, even when you specify a certain
type. `strict_optional` makes sure that only the annotated return type
is actually returned.
modified: tox.ini
* Re-enable `warn_unused_ignores`
Quote from mypy docs:
This flag will make mypy report an error whenever your code uses a
`# type: ignore` comment on a line that is not actually generating
an error message.
modified: tox.ini
* Re-enable `warn_return_any`
Quote from the documenation:
"This flag causes mypy to generate a warning when returning a value with
type Any from a function declared with a non-Any return type."
modified: tox.ini
* Re-enable `warn_redundant_casts`
Quote from the documentation:
"This flag will make mypy report an error whenever your code uses an
unnecessary cast that can safely be removed."
modified: tox.ini
* Remove `warn_incomplete_stub`
... as the documentation says
"This flag is mainly intended to be used by people who want contribute
to typeshed and would like a convenient way to find gaps and omissions."
modified: tox.ini
* Re-enable `disallow_subclassing_any`
Quote from the documentation:
"This flag reports an error whenever a class subclasses a value of type
Any."
modified: tox.ini
* Re-enable `follow_imports`
... and set it to `normal`.
For more information, see
https://mypy.readthedocs.io/en/latest/running_mypy.html#follow-imports
modified: tox.ini
* Re-enable `ignore_missing_imports`
Quote from the documentation:
"This flag makes mypy ignore all missing imports. It is equivalent to
adding # type: ignore comments to all unresolved imports within your
codebase."
modified: tox.ini
* Fix arguments for Kex initialization
`follows` has to be a boolean, but an int was provided.
This worked, as in Python boolean is a subtype of int.
modified: ssh-audit.py
* Do not uncomment `check_untyped_defs` yet
modified: tox.ini
* Change KexDH.__ed25519_pubkey's default type
It was initialized with 0 (int), and later it gets set with bytes.
Now, it gets initialized with None, and thus gets the type
Optional[bytes].
Optional means None or the named type.
modified: ssh-audit.py
* Fix whitespace
modified: tox.ini
* Add type annotation for main function
modified: ssh-audit.py
* Add type annotation for KexDH.set_params
modified: ssh-audit.py
* Add type annotation for Kex.set_rsa_key_size
modified: ssh-audit.py
* Add type annotation for Kex.rsa_key_sizes
modified: ssh-audit.py
* Add type annotation for Kex.set_dh_modulus_size
modified: ssh-audit.py
* Add type annotation to Kex.dh_modulus_sizes
modified: ssh-audit.py
* Add type annotation for Kex.set_host_key
modified: ssh-audit.py
* Add type annotation for Kex.host_keys
modified: ssh-audit.py
* Add type annotation for HostKeyTest.run
modified: ssh-audit.py
* Add static typing to HostKeyTest.perform_test
This revealed a small oversight in the guard protecting the call to
perform_test.
modified: ssh-audit.py
* Add type annotation for GexTest.reconnect
modified: ssh-audit.py
* Add type annotation for GexTest.run
modified: ssh-audit.py
* Add type annotation for ReadBuf.reset
modified: ssh-audit.py
* Add type annoation for WriteBuf.reset
modified: ssh-audit.py
* Add type annotation to Socket.listen_and_accept
modified: ssh-audit.py
* Move comment for is_connected into docstring.
modified: ssh-audit.py
* Add type annotation for Socket.is_connected
modified: ssh-audit.py
* Add type annotation for Socket.close
modified: ssh-audit.py
* Do not commit breakpoint
modified: ssh-audit.py
* Add annotations for KexDH key size handling
modified: ssh-audit.py
* Add type annotation for KexDH.get_ca_size
modified: ssh-audit.py
* Add type annotation to output_info
modified: ssh-audit.py
* Add type annotation for KexDH.__get_bytes
modified: ssh-audit.py
* Add type annotation to KexGroup14.__init__
modified: ssh-audit.py
* Add type annotation for KexGroup14_SHA256.__init__
modified: ssh-audit.py
* Add type annotation for KexGroup16_SHA512.__init__
modified: ssh-audit.py
* Add type annotation for KexGroup18_SHA512.__init__
modified: ssh-audit.py
* Add type annotation for KexCurve25519_SHA256.__init__
modified: ssh-audit.py
* Add type annotation for KexNISTP256.__init__
modified: ssh-audit.py
* Add type annotations to several init methods
modified: ssh-audit.py
* Add type annotataion for KexGroupExchange.send_init_gex
modified: ssh-audit.py
* Add type annotation for KexGroupExchange.__init__
modified: ssh-audit.py
* Add type annotation to KexCurve25519_SHA256.send_init
modified: ssh-audit.py
* Add type annotation for KexNISTP256.sent_init
modified: ssh-audit.py
* Add type annotation for KexNISTP384.send_init
modified: ssh-audit.py
* Add type annotation for KexNISTP521.send_init
modified: ssh-audit.py
* Add type annotation for KexGroupExchange.send_init
modified: ssh-audit.py
* Add type annotation to KexDH.get_dh_modulus_size
modified: ssh-audit.py
* Delete unused variables KexDH.__f and f_len
__f was initialized as int, then assigned to bytes, but never used.
f_len assigned an int, but not all.
modified: ssh-audit.py
* Delete unused variables KexDH.__h_sig and h_sig_len
modified: ssh-audit.py
* Add type annotation for KexDH.__hostkey_type
modified: ssh-audit.py
2020-06-28 05:54:34 +02:00
|
|
|
ignore_missing_imports = False
|
|
|
|
follow_imports = normal
|
2020-07-01 19:00:44 +02:00
|
|
|
disallow_incomplete_defs = True
|
|
|
|
disallow_untyped_calls = True
|
|
|
|
disallow_untyped_decorators = True
|
|
|
|
disallow_untyped_defs = True
|
|
|
|
check_untyped_defs = True
|
Re-enable mypy options (#43)
* Convert type comments to annotations
Notes:
- variable annotations are only possible for Python 3.6 and upwards
- class names as a result of a function have to be quoted
cf https://www.python.org/dev/peps/pep-0563/#enabling-the-future-behavior-in-python-3-7
This is ongoing work for #32
modified: ssh-audit.py
* Do not use variable annotation
... as this feature works only for Python 3.6 and above only.
modified: ssh-audit.py
* Re-enable strict_optional
`None` is a valid return type for mypy, even when you specify a certain
type. `strict_optional` makes sure that only the annotated return type
is actually returned.
modified: tox.ini
* Re-enable `warn_unused_ignores`
Quote from mypy docs:
This flag will make mypy report an error whenever your code uses a
`# type: ignore` comment on a line that is not actually generating
an error message.
modified: tox.ini
* Re-enable `warn_return_any`
Quote from the documenation:
"This flag causes mypy to generate a warning when returning a value with
type Any from a function declared with a non-Any return type."
modified: tox.ini
* Re-enable `warn_redundant_casts`
Quote from the documentation:
"This flag will make mypy report an error whenever your code uses an
unnecessary cast that can safely be removed."
modified: tox.ini
* Remove `warn_incomplete_stub`
... as the documentation says
"This flag is mainly intended to be used by people who want contribute
to typeshed and would like a convenient way to find gaps and omissions."
modified: tox.ini
* Re-enable `disallow_subclassing_any`
Quote from the documentation:
"This flag reports an error whenever a class subclasses a value of type
Any."
modified: tox.ini
* Re-enable `follow_imports`
... and set it to `normal`.
For more information, see
https://mypy.readthedocs.io/en/latest/running_mypy.html#follow-imports
modified: tox.ini
* Re-enable `ignore_missing_imports`
Quote from the documentation:
"This flag makes mypy ignore all missing imports. It is equivalent to
adding # type: ignore comments to all unresolved imports within your
codebase."
modified: tox.ini
* Fix arguments for Kex initialization
`follows` has to be a boolean, but an int was provided.
This worked, as in Python boolean is a subtype of int.
modified: ssh-audit.py
* Do not uncomment `check_untyped_defs` yet
modified: tox.ini
* Change KexDH.__ed25519_pubkey's default type
It was initialized with 0 (int), and later it gets set with bytes.
Now, it gets initialized with None, and thus gets the type
Optional[bytes].
Optional means None or the named type.
modified: ssh-audit.py
* Fix whitespace
modified: tox.ini
* Add type annotation for main function
modified: ssh-audit.py
* Add type annotation for KexDH.set_params
modified: ssh-audit.py
* Add type annotation for Kex.set_rsa_key_size
modified: ssh-audit.py
* Add type annotation for Kex.rsa_key_sizes
modified: ssh-audit.py
* Add type annotation for Kex.set_dh_modulus_size
modified: ssh-audit.py
* Add type annotation to Kex.dh_modulus_sizes
modified: ssh-audit.py
* Add type annotation for Kex.set_host_key
modified: ssh-audit.py
* Add type annotation for Kex.host_keys
modified: ssh-audit.py
* Add type annotation for HostKeyTest.run
modified: ssh-audit.py
* Add static typing to HostKeyTest.perform_test
This revealed a small oversight in the guard protecting the call to
perform_test.
modified: ssh-audit.py
* Add type annotation for GexTest.reconnect
modified: ssh-audit.py
* Add type annotation for GexTest.run
modified: ssh-audit.py
* Add type annotation for ReadBuf.reset
modified: ssh-audit.py
* Add type annoation for WriteBuf.reset
modified: ssh-audit.py
* Add type annotation to Socket.listen_and_accept
modified: ssh-audit.py
* Move comment for is_connected into docstring.
modified: ssh-audit.py
* Add type annotation for Socket.is_connected
modified: ssh-audit.py
* Add type annotation for Socket.close
modified: ssh-audit.py
* Do not commit breakpoint
modified: ssh-audit.py
* Add annotations for KexDH key size handling
modified: ssh-audit.py
* Add type annotation for KexDH.get_ca_size
modified: ssh-audit.py
* Add type annotation to output_info
modified: ssh-audit.py
* Add type annotation for KexDH.__get_bytes
modified: ssh-audit.py
* Add type annotation to KexGroup14.__init__
modified: ssh-audit.py
* Add type annotation for KexGroup14_SHA256.__init__
modified: ssh-audit.py
* Add type annotation for KexGroup16_SHA512.__init__
modified: ssh-audit.py
* Add type annotation for KexGroup18_SHA512.__init__
modified: ssh-audit.py
* Add type annotation for KexCurve25519_SHA256.__init__
modified: ssh-audit.py
* Add type annotation for KexNISTP256.__init__
modified: ssh-audit.py
* Add type annotations to several init methods
modified: ssh-audit.py
* Add type annotataion for KexGroupExchange.send_init_gex
modified: ssh-audit.py
* Add type annotation for KexGroupExchange.__init__
modified: ssh-audit.py
* Add type annotation to KexCurve25519_SHA256.send_init
modified: ssh-audit.py
* Add type annotation for KexNISTP256.sent_init
modified: ssh-audit.py
* Add type annotation for KexNISTP384.send_init
modified: ssh-audit.py
* Add type annotation for KexNISTP521.send_init
modified: ssh-audit.py
* Add type annotation for KexGroupExchange.send_init
modified: ssh-audit.py
* Add type annotation to KexDH.get_dh_modulus_size
modified: ssh-audit.py
* Delete unused variables KexDH.__f and f_len
__f was initialized as int, then assigned to bytes, but never used.
f_len assigned an int, but not all.
modified: ssh-audit.py
* Delete unused variables KexDH.__h_sig and h_sig_len
modified: ssh-audit.py
* Add type annotation for KexDH.__hostkey_type
modified: ssh-audit.py
2020-06-28 05:54:34 +02:00
|
|
|
disallow_subclassing_any = True
|
|
|
|
warn_redundant_casts = True
|
|
|
|
warn_return_any = True
|
2020-07-01 19:00:44 +02:00
|
|
|
warn_unreachable = True
|
Re-enable mypy options (#43)
* Convert type comments to annotations
Notes:
- variable annotations are only possible for Python 3.6 and upwards
- class names as a result of a function have to be quoted
cf https://www.python.org/dev/peps/pep-0563/#enabling-the-future-behavior-in-python-3-7
This is ongoing work for #32
modified: ssh-audit.py
* Do not use variable annotation
... as this feature works only for Python 3.6 and above only.
modified: ssh-audit.py
* Re-enable strict_optional
`None` is a valid return type for mypy, even when you specify a certain
type. `strict_optional` makes sure that only the annotated return type
is actually returned.
modified: tox.ini
* Re-enable `warn_unused_ignores`
Quote from mypy docs:
This flag will make mypy report an error whenever your code uses a
`# type: ignore` comment on a line that is not actually generating
an error message.
modified: tox.ini
* Re-enable `warn_return_any`
Quote from the documenation:
"This flag causes mypy to generate a warning when returning a value with
type Any from a function declared with a non-Any return type."
modified: tox.ini
* Re-enable `warn_redundant_casts`
Quote from the documentation:
"This flag will make mypy report an error whenever your code uses an
unnecessary cast that can safely be removed."
modified: tox.ini
* Remove `warn_incomplete_stub`
... as the documentation says
"This flag is mainly intended to be used by people who want contribute
to typeshed and would like a convenient way to find gaps and omissions."
modified: tox.ini
* Re-enable `disallow_subclassing_any`
Quote from the documentation:
"This flag reports an error whenever a class subclasses a value of type
Any."
modified: tox.ini
* Re-enable `follow_imports`
... and set it to `normal`.
For more information, see
https://mypy.readthedocs.io/en/latest/running_mypy.html#follow-imports
modified: tox.ini
* Re-enable `ignore_missing_imports`
Quote from the documentation:
"This flag makes mypy ignore all missing imports. It is equivalent to
adding # type: ignore comments to all unresolved imports within your
codebase."
modified: tox.ini
* Fix arguments for Kex initialization
`follows` has to be a boolean, but an int was provided.
This worked, as in Python boolean is a subtype of int.
modified: ssh-audit.py
* Do not uncomment `check_untyped_defs` yet
modified: tox.ini
* Change KexDH.__ed25519_pubkey's default type
It was initialized with 0 (int), and later it gets set with bytes.
Now, it gets initialized with None, and thus gets the type
Optional[bytes].
Optional means None or the named type.
modified: ssh-audit.py
* Fix whitespace
modified: tox.ini
* Add type annotation for main function
modified: ssh-audit.py
* Add type annotation for KexDH.set_params
modified: ssh-audit.py
* Add type annotation for Kex.set_rsa_key_size
modified: ssh-audit.py
* Add type annotation for Kex.rsa_key_sizes
modified: ssh-audit.py
* Add type annotation for Kex.set_dh_modulus_size
modified: ssh-audit.py
* Add type annotation to Kex.dh_modulus_sizes
modified: ssh-audit.py
* Add type annotation for Kex.set_host_key
modified: ssh-audit.py
* Add type annotation for Kex.host_keys
modified: ssh-audit.py
* Add type annotation for HostKeyTest.run
modified: ssh-audit.py
* Add static typing to HostKeyTest.perform_test
This revealed a small oversight in the guard protecting the call to
perform_test.
modified: ssh-audit.py
* Add type annotation for GexTest.reconnect
modified: ssh-audit.py
* Add type annotation for GexTest.run
modified: ssh-audit.py
* Add type annotation for ReadBuf.reset
modified: ssh-audit.py
* Add type annoation for WriteBuf.reset
modified: ssh-audit.py
* Add type annotation to Socket.listen_and_accept
modified: ssh-audit.py
* Move comment for is_connected into docstring.
modified: ssh-audit.py
* Add type annotation for Socket.is_connected
modified: ssh-audit.py
* Add type annotation for Socket.close
modified: ssh-audit.py
* Do not commit breakpoint
modified: ssh-audit.py
* Add annotations for KexDH key size handling
modified: ssh-audit.py
* Add type annotation for KexDH.get_ca_size
modified: ssh-audit.py
* Add type annotation to output_info
modified: ssh-audit.py
* Add type annotation for KexDH.__get_bytes
modified: ssh-audit.py
* Add type annotation to KexGroup14.__init__
modified: ssh-audit.py
* Add type annotation for KexGroup14_SHA256.__init__
modified: ssh-audit.py
* Add type annotation for KexGroup16_SHA512.__init__
modified: ssh-audit.py
* Add type annotation for KexGroup18_SHA512.__init__
modified: ssh-audit.py
* Add type annotation for KexCurve25519_SHA256.__init__
modified: ssh-audit.py
* Add type annotation for KexNISTP256.__init__
modified: ssh-audit.py
* Add type annotations to several init methods
modified: ssh-audit.py
* Add type annotataion for KexGroupExchange.send_init_gex
modified: ssh-audit.py
* Add type annotation for KexGroupExchange.__init__
modified: ssh-audit.py
* Add type annotation to KexCurve25519_SHA256.send_init
modified: ssh-audit.py
* Add type annotation for KexNISTP256.sent_init
modified: ssh-audit.py
* Add type annotation for KexNISTP384.send_init
modified: ssh-audit.py
* Add type annotation for KexNISTP521.send_init
modified: ssh-audit.py
* Add type annotation for KexGroupExchange.send_init
modified: ssh-audit.py
* Add type annotation to KexDH.get_dh_modulus_size
modified: ssh-audit.py
* Delete unused variables KexDH.__f and f_len
__f was initialized as int, then assigned to bytes, but never used.
f_len assigned an int, but not all.
modified: ssh-audit.py
* Delete unused variables KexDH.__h_sig and h_sig_len
modified: ssh-audit.py
* Add type annotation for KexDH.__hostkey_type
modified: ssh-audit.py
2020-06-28 05:54:34 +02:00
|
|
|
warn_unused_ignores = True
|
|
|
|
strict_optional = True
|
2020-07-01 19:00:44 +02:00
|
|
|
strict_equality = True
|
|
|
|
strict = True
|
2017-03-25 05:00:42 +01:00
|
|
|
|
|
|
|
[pylint]
|
|
|
|
reports = no
|
|
|
|
#output-format = colorized
|
|
|
|
indent-string = \t
|
2017-03-26 04:54:14 +02:00
|
|
|
disable =
|
2020-06-13 17:27:01 +02:00
|
|
|
bad-continuation,
|
|
|
|
broad-except,
|
|
|
|
fixme,
|
|
|
|
invalid-name,
|
|
|
|
line-too-long,
|
|
|
|
missing-docstring,
|
|
|
|
mixed-indentation,
|
2020-06-30 21:53:50 +02:00
|
|
|
no-else-raise,
|
2020-06-13 17:27:01 +02:00
|
|
|
no-else-return,
|
|
|
|
too-complex,
|
2020-06-30 21:53:50 +02:00
|
|
|
too-many-boolean-expressions,
|
2020-06-13 17:27:01 +02:00
|
|
|
too-many-branches,
|
|
|
|
too-many-instance-attributes,
|
|
|
|
too-many-lines,
|
|
|
|
too-many-locals,
|
2020-06-30 21:53:50 +02:00
|
|
|
too-many-statements
|
2017-03-25 05:00:42 +01:00
|
|
|
max-complexity = 15
|
|
|
|
max-args = 8
|
|
|
|
max-locals = 20
|
|
|
|
max-returns = 6
|
|
|
|
max-branches = 15
|
|
|
|
max-statements = 60
|
|
|
|
max-parents = 7
|
|
|
|
max-attributes = 8
|
|
|
|
min-public-methods = 1
|
|
|
|
max-public-methods = 20
|
|
|
|
max-bool-expr = 5
|
|
|
|
max-nested-blocks = 6
|
|
|
|
max-line-length = 80
|
2017-04-10 12:20:02 +02:00
|
|
|
ignore-long-lines = ^\s*(#\s+type:\s+.*|[A-Z0-9_]+\s+=\s+.*|('.*':\s+)?\[.*\],?|assert\s+.*)$
|
2017-03-25 05:00:42 +01:00
|
|
|
max-module-lines = 2500
|
|
|
|
|
|
|
|
[flake8]
|
|
|
|
ignore =
|
2020-06-09 23:54:07 +02:00
|
|
|
E241, # multiple spaces after operator; should be kept for tabular data
|
2020-06-30 21:53:50 +02:00
|
|
|
E303, # too many blank lines
|
2020-06-09 23:54:07 +02:00
|
|
|
E501, # line too long
|
2020-06-30 21:53:50 +02:00
|
|
|
|
|
|
|
[pytest]
|
|
|
|
junit_family = xunit1
|