Commit graph

20936 commits

Author SHA1 Message Date
Matt Martz
8c6c2caf61 Still scan modules with no extension assuming they are python. Fixes #8 2016-10-13 14:22:34 +01:00
Matt Martz
e9de4d136f Better tab checking, since we care about any tabs in the line, not just in initial indentation 2016-10-13 14:22:34 +01:00
Matt Martz
72690c89bd Try to parse RETURN as YAML 2016-10-13 14:22:34 +01:00
Matt Martz
2218e763f8 Get the index of the tab, not the line itself 2016-10-13 14:22:34 +01:00
Matt Martz
e3dbe85f25 Check the version_added value 2016-10-13 14:22:34 +01:00
Matt Martz
86c50839bd We are using enumerate to get line numbers, so we need to add 1 since it is 0 offset 2016-10-13 14:22:34 +01:00
Matt Martz
1464f246a3 Add a version 2016-10-13 14:22:34 +01:00
Matt Martz
cbe7052ebe get_docstring has changed output, rework code to get exception raised by get_docstring 2016-10-13 14:22:34 +01:00
Matt Martz
4d24f3ba61 Don't abspath things, and don't do root based magic 2016-10-13 14:22:34 +01:00
Matt Martz
2ce2b7a416 Detect duplicate globals from basic.py 2016-10-13 14:22:34 +01:00
Matt Martz
3760ae3bfe Add option for regex pattern exclusions for file paths 2016-10-13 14:22:34 +01:00
Matt Martz
cf9b22103d Warnings should not increment the exit status 2016-10-13 14:22:34 +01:00
Matt Martz
95c9e11cba Give line no and column for indentation 2016-10-13 14:22:34 +01:00
Matt Martz
cb87eeccad Catch the traceback from get_docstring so we can output it in the correct spot 2016-10-13 14:22:34 +01:00
Matt Martz
6b02c1c261 Print the modules path, so it's easier to go find that module 2016-10-13 14:22:34 +01:00
Matt Martz
48ce4b7d70 Don't trace if we check a non python module for just docs 2016-10-13 14:22:34 +01:00
Matt Martz
d488bd57cc Don't check docs only files for a proper interpreter line 2016-10-13 14:22:34 +01:00
Matt Martz
117ecc1e9b Update import for REPLACER_WINDOWS 2016-10-13 14:22:34 +01:00
Matt Martz
da3ce668fa Check for tabbed indentation 2016-10-13 14:22:34 +01:00
Matt Martz
b794d92991 Update BLACKLISTs 2016-10-13 14:22:34 +01:00
Matt Martz
dcb17e1800 Only run the interpreter check once 2016-10-13 14:22:34 +01:00
Matt Martz
4f9b6899fe Add some basic support for powershell modules 2016-10-13 14:22:34 +01:00
Matt Martz
0386aa2643 Allow running against a single file 2016-10-13 14:22:34 +01:00
Matt Martz
efd8787e0b flake8 cleanup 2016-10-13 14:22:34 +01:00
Matt Martz
90c469d8ec Require some module_utils imports to be at the bottom 2016-10-13 14:22:34 +01:00
Matt Martz
8ff644680d Check for missing GPLv3 license header in module. Fixes #4 2016-10-13 14:22:34 +01:00
Matt Martz
4c8c0b035f Check for sys.exit. Fixes #5 2016-10-13 14:22:34 +01:00
Matt Martz
823e3c72d3 Track errors/warnings and exit with a code equal to the total 2016-10-13 14:22:34 +01:00
Matt Martz
b121d202f5 Um, that was dumb, and apparently not tested, good job self. 2016-10-13 14:22:34 +01:00
Matt Martz
58703e47ac Make module_utils imports not at bottom a warning 2016-10-13 14:22:34 +01:00
Matt Martz
af6dde6eae Add warning for json import. Fixes #2 2016-10-13 14:22:34 +01:00
Matt Martz
074e4ad47f rstrip modules path, to prevent some strange scenario with .git 2016-10-13 14:22:34 +01:00
Matt Martz
46670598aa Add interpreter check. Fixes #1 2016-10-13 14:22:34 +01:00
Matt Martz
f0413bfd45 pep8 cleanup 2016-10-13 14:22:34 +01:00
Toshio Kuratomi
b6c1bcb64d Some checks that the modules are also python modules
* Pull some logic into a Validator base class
* Add a PythonPackageValidator that checks directories are python
  packages
* Handle files that have python syntax errors
* Report modules that do not have a .py extension
2016-10-13 14:22:34 +01:00
Matt Martz
7a8862975e Fix try/except HAS_ logic 2016-10-13 14:22:34 +01:00
Matt Martz
b608194e59 Make call to main() not at bottom an error 2016-10-13 14:22:34 +01:00
Matt Martz
bfab54e8f4 Initial commit 2016-10-13 14:22:34 +01:00
Matt Clay
374e4348e4 Split out var_blending test into targets dir. (#17996) 2016-10-12 22:22:46 -07:00
Matt Clay
410b96d716 Clean up integration tests. (#17991) 2016-10-12 19:33:12 -07:00
Peter Sprygada
65ea24f4bb adds log message for successful connection and disconnection (#17993)
The network module will now log a message when it connects to a remote host
successfully and specify the transport used.  It will also log a message
when the module discconnect() method is called.
2016-10-12 21:47:58 -04:00
Peter Sprygada
3badb212fb fixes issue in eos shared module for earlier versions of EOS (#17980)
Earlier versions of EOS that do not support config sessions would
create an exception.  This fix will now check if the device supports
sessions and if it doesn't, it will fall back to not using sessions
2016-10-12 20:16:20 -04:00
Toshio Kuratomi
33f5c25f41 Update submodule refs to pickup firewalld fix 2016-10-12 15:16:40 -07:00
Matt Clay
80a5c70ad7 Split integration tests out from Makefile. (#17976) 2016-10-12 14:57:53 -07:00
Toshio Kuratomi
bf3d546d9a Only dispkay failure to use cryptography at a higher verbosity
Fixes #17982
2016-10-12 10:48:36 -07:00
scottb
6be09ee866 Merge pull request #17973 from cgwalters/docs-playbook-loop
docs: Tweak sentence for interaction of loops + register
2016-10-11 23:34:06 -07:00
Toshio Kuratomi
e5478a212f Update submodule refs 2016-10-11 16:13:11 -07:00
Colin Walters
ec06278204 docs: Tweak sentence for interaction of loops + register
The previous version had an extra `during a loop` and the comma broke
the sentence in the middle weirdly.  I think this new version reads
better.
2016-10-11 14:56:42 -04:00
stephane
a32e48555d Correct delegated_host_name check
In fb50698da3 a check for delegated_host_name being defined was added. Make this
check safer as it breaks some playbooks.
2016-10-11 11:15:53 -07:00
Bruno Rocha
b06fb2022c Fix unbound method call for JSONEncoder (#17970)
* Fix unbound method call for JSONEncoder

The way it is currently it will lead to unbound method error

```python
In [1]: import json

In [2]: json.JSONEncoder.default('object_here')
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-2-872fdacfda50> in <module>()
----> 1 json.JSONEncoder.default('object_here')

TypeError: unbound method default() must be called with JSONEncoder instance as first argument (got str instance instead)

```

But what is really wanted is to let the json module to raise the "is not serializable error" which demands a bounded instance of `JSONEncoder()`

```python
In [3]: json.JSONEncoder().default('object_here')
---------------------------------------------------------------------------
TypeError: 'object_here' is not JSON serializable 

```


BTW: I think it would try to call `.to_json` of object before raising as it is a common pattern.

* Calling JSONEncoder bounded `default` method using super()
2016-10-11 08:31:53 -07:00