the great rename of bash8 -> bashate
Once upon a time there was an inside joke, now it's even more so, but at least it doesn't stomp on the namespace of bash. Change-Id: I57c5d564fc60d93d154e750ba628277c771d2e66
This commit is contained in:
parent
2dd066e13e
commit
a2815dd86f
@ -1,7 +1,7 @@
|
|||||||
[run]
|
[run]
|
||||||
branch = True
|
branch = True
|
||||||
source = bash8
|
source = bashate
|
||||||
omit = bash8/tests/*,bash8/openstack/*
|
omit = bashate/tests/*,bashate/openstack/*
|
||||||
|
|
||||||
[report]
|
[report]
|
||||||
ignore-errors = True
|
ignore-errors = True
|
@ -1,4 +1,4 @@
|
|||||||
bash8 Style Commandments
|
bashate Style Commandments
|
||||||
===============================================
|
===============================================
|
||||||
|
|
||||||
Read the OpenStack Style Commandments http://docs.openstack.org/developer/hacking/
|
Read the OpenStack Style Commandments http://docs.openstack.org/developer/hacking/
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
===============================
|
===============================
|
||||||
bash8
|
bashate
|
||||||
===============================
|
===============================
|
||||||
|
|
||||||
A pep8 equivalent for bash scripts
|
A pep8 equivalent for bash scripts
|
||||||
@ -10,7 +10,7 @@ projects. It started from humble beginnings in the DevStack project,
|
|||||||
and will continue to evolve over time.
|
and will continue to evolve over time.
|
||||||
|
|
||||||
- Free software: Apache license
|
- Free software: Apache license
|
||||||
- Documentation: http://docs.openstack.org/developer/bash8
|
- Documentation: http://docs.openstack.org/developer/bashate
|
||||||
- Source: http://git.openstack.org/cgit/openstack-dev/bash8
|
- Source: http://git.openstack.org/cgit/openstack-dev/bash8
|
||||||
- Bugs: http://bugs.launchpad.net/bash8
|
- Bugs: http://bugs.launchpad.net/bash8
|
||||||
|
|
||||||
|
@ -16,4 +16,4 @@ import pbr.version
|
|||||||
|
|
||||||
|
|
||||||
__version__ = pbr.version.VersionInfo(
|
__version__ = pbr.version.VersionInfo(
|
||||||
'bash8').version_string()
|
'bashate').version_string()
|
@ -12,7 +12,7 @@
|
|||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
# bash8 - a pep8 equivalent for bash scripts
|
# bashate - a pep8 equivalent for bash scripts
|
||||||
#
|
#
|
||||||
# this program attempts to be an automated style checker for bash scripts
|
# this program attempts to be an automated style checker for bash scripts
|
||||||
# to fill the same part of code review that pep8 does in most OpenStack
|
# to fill the same part of code review that pep8 does in most OpenStack
|
||||||
@ -170,7 +170,7 @@ def check_files(files, verbose):
|
|||||||
prev_file = fileinput.filename()
|
prev_file = fileinput.filename()
|
||||||
|
|
||||||
if verbose:
|
if verbose:
|
||||||
print("Running bash8 on %s" % fileinput.filename())
|
print("Running bashate on %s" % fileinput.filename())
|
||||||
|
|
||||||
# NOTE(sdague): multiline processing of heredocs is interesting
|
# NOTE(sdague): multiline processing of heredocs is interesting
|
||||||
if not in_multiline:
|
if not in_multiline:
|
||||||
@ -214,7 +214,7 @@ def main():
|
|||||||
check_files(opts.files, opts.verbose)
|
check_files(opts.files, opts.verbose)
|
||||||
|
|
||||||
if ERRORS > 0:
|
if ERRORS > 0:
|
||||||
print("%d bash8 error(s) found" % ERRORS)
|
print("%d bashate error(s) found" % ERRORS)
|
||||||
return 1
|
return 1
|
||||||
else:
|
else:
|
||||||
return 0
|
return 0
|
@ -13,55 +13,55 @@
|
|||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
test_bash8
|
test_bashate
|
||||||
----------------------------------
|
----------------------------------
|
||||||
|
|
||||||
Tests for `bash8` module.
|
Tests for `bashate` module.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import mock
|
import mock
|
||||||
|
|
||||||
from bash8 import bash8
|
from bashate import bashate
|
||||||
|
|
||||||
from bash8.tests import base
|
from bashate.tests import base
|
||||||
|
|
||||||
|
|
||||||
class TestBash8(base.TestCase):
|
class TestBashate(base.TestCase):
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TestBash8, self).setUp()
|
super(TestBashate, self).setUp()
|
||||||
|
|
||||||
# cleanup global IGNOREs
|
# cleanup global IGNOREs
|
||||||
def reset_ignores():
|
def reset_ignores():
|
||||||
bash8.IGNORE = None
|
bashate.IGNORE = None
|
||||||
self.addCleanup(reset_ignores)
|
self.addCleanup(reset_ignores)
|
||||||
|
|
||||||
def test_multi_ignore(self):
|
def test_multi_ignore(self):
|
||||||
bash8.register_ignores('E001|E011')
|
bashate.register_ignores('E001|E011')
|
||||||
bash8.check_no_trailing_whitespace("if ")
|
bashate.check_no_trailing_whitespace("if ")
|
||||||
bash8.check_if_then("if ")
|
bashate.check_if_then("if ")
|
||||||
self.assertEqual(bash8.ERRORS, 0)
|
self.assertEqual(bashate.ERRORS, 0)
|
||||||
|
|
||||||
def test_ignore(self):
|
def test_ignore(self):
|
||||||
bash8.register_ignores('E001')
|
bashate.register_ignores('E001')
|
||||||
bash8.check_no_trailing_whitespace("if ")
|
bashate.check_no_trailing_whitespace("if ")
|
||||||
self.assertEqual(bash8.ERRORS, 0)
|
self.assertEqual(bashate.ERRORS, 0)
|
||||||
|
|
||||||
@mock.patch('bash8.bash8.print_error')
|
@mock.patch('bashate.bashate.print_error')
|
||||||
def test_while_check_for_do(self, m_print_error):
|
def test_while_check_for_do(self, m_print_error):
|
||||||
test_line = 'while `do something args`'
|
test_line = 'while `do something args`'
|
||||||
bash8.check_for_do(test_line)
|
bashate.check_for_do(test_line)
|
||||||
|
|
||||||
m_print_error.assert_called_once_with(
|
m_print_error.assert_called_once_with(
|
||||||
'E010: Do not on same line as while', test_line)
|
'E010: Do not on same line as while', test_line)
|
||||||
|
|
||||||
|
|
||||||
class TestBash8Samples(base.TestCase):
|
class TestBashateSamples(base.TestCase):
|
||||||
"""End to end regression testing of bash8 against script samples."""
|
"""End to end regression testing of bashate against script samples."""
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TestBash8Samples, self).setUp()
|
super(TestBashateSamples, self).setUp()
|
||||||
log_error_patcher = mock.patch('bash8.bash8.log_error')
|
log_error_patcher = mock.patch('bashate.bashate.log_error')
|
||||||
self.m_log_error = log_error_patcher.start()
|
self.m_log_error = log_error_patcher.start()
|
||||||
self.addCleanup(log_error_patcher.stop)
|
self.addCleanup(log_error_patcher.stop)
|
||||||
|
|
||||||
@ -78,14 +78,14 @@ class TestBash8Samples(base.TestCase):
|
|||||||
(error, lineno))
|
(error, lineno))
|
||||||
|
|
||||||
def test_sample_E001(self):
|
def test_sample_E001(self):
|
||||||
test_file = 'bash8/tests/samples/E001_bad.sh'
|
test_file = 'bashate/tests/samples/E001_bad.sh'
|
||||||
bash8.check_files(test_file, False)
|
bashate.check_files(test_file, False)
|
||||||
|
|
||||||
self.assert_error_found('E001', 4)
|
self.assert_error_found('E001', 4)
|
||||||
|
|
||||||
def test_sample_E002(self):
|
def test_sample_E002(self):
|
||||||
test_file = 'bash8/tests/samples/E002_bad.sh'
|
test_file = 'bashate/tests/samples/E002_bad.sh'
|
||||||
bash8.check_files(test_file, False)
|
bashate.check_files(test_file, False)
|
||||||
|
|
||||||
self.assert_error_found('E002', 3)
|
self.assert_error_found('E002', 3)
|
||||||
|
|
||||||
@ -94,15 +94,15 @@ class TestBash8Samples(base.TestCase):
|
|||||||
|
|
||||||
This is a legacy compatibility check to make sure we still
|
This is a legacy compatibility check to make sure we still
|
||||||
catch the same errors as we did before the first 0.1.0
|
catch the same errors as we did before the first 0.1.0
|
||||||
release of the bash8 pypi package. There were no tests
|
release of the bashate pypi package. There were no tests
|
||||||
before this, so it is our baseline regression check.
|
before this, so it is our baseline regression check.
|
||||||
|
|
||||||
New checks shouldn't need to be added here, and should
|
New checks shouldn't need to be added here, and should
|
||||||
have their own separate unit test and/or sample file checks.
|
have their own separate unit test and/or sample file checks.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
test_file = 'bash8/tests/samples/legacy_sample.sh'
|
test_file = 'bashate/tests/samples/legacy_sample.sh'
|
||||||
bash8.check_files(test_file, False)
|
bashate.check_files(test_file, False)
|
||||||
|
|
||||||
# NOTE(mrodden): E012 actually requires iterating more than one
|
# NOTE(mrodden): E012 actually requires iterating more than one
|
||||||
# file to detect at the moment; this is bug
|
# file to detect at the moment; this is bug
|
@ -37,8 +37,8 @@ source_suffix = '.rst'
|
|||||||
master_doc = 'index'
|
master_doc = 'index'
|
||||||
|
|
||||||
# General information about the project.
|
# General information about the project.
|
||||||
project = u'bash8'
|
project = u'bashate'
|
||||||
copyright = u'2013, OpenStack Foundation'
|
copyright = u'2014, Bashate Authors'
|
||||||
|
|
||||||
# If true, '()' will be appended to :func: etc. cross-reference text.
|
# If true, '()' will be appended to :func: etc. cross-reference text.
|
||||||
add_function_parentheses = True
|
add_function_parentheses = True
|
||||||
@ -68,8 +68,8 @@ latex_documents = [
|
|||||||
('index',
|
('index',
|
||||||
'%s.tex' % project,
|
'%s.tex' % project,
|
||||||
u'%s Documentation' % project,
|
u'%s Documentation' % project,
|
||||||
u'OpenStack Foundation', 'manual'),
|
u'Bashate Authors', 'manual'),
|
||||||
]
|
]
|
||||||
|
|
||||||
# Example configuration for intersphinx: refer to the Python standard library.
|
# Example configuration for intersphinx: refer to the Python standard library.
|
||||||
#intersphinx_mapping = {'http://docs.python.org/': None}
|
#intersphinx_mapping = {'http://docs.python.org/': None}
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
.. bash8 documentation master file, created by
|
.. bashate documentation master file, created by
|
||||||
sphinx-quickstart on Tue Jul 9 22:26:36 2013.
|
sphinx-quickstart on Tue Jul 9 22:26:36 2013.
|
||||||
You can adapt this file completely to your liking, but it should at least
|
You can adapt this file completely to your liking, but it should at least
|
||||||
contain the root `toctree` directive.
|
contain the root `toctree` directive.
|
||||||
|
|
||||||
Welcome to bash8's documentation!
|
Welcome to bashate's documentation!
|
||||||
========================================================
|
========================================================
|
||||||
|
|
||||||
Contents:
|
Contents:
|
||||||
|
@ -4,9 +4,9 @@ Installation
|
|||||||
|
|
||||||
At the command line::
|
At the command line::
|
||||||
|
|
||||||
$ pip install bash8
|
$ pip install bashate
|
||||||
|
|
||||||
Or, if you have virtualenvwrapper installed::
|
Or, if you have virtualenvwrapper installed::
|
||||||
|
|
||||||
$ mkvirtualenv bash8
|
$ mkvirtualenv bashate
|
||||||
$ pip install bash8
|
$ pip install bashate
|
||||||
|
@ -2,6 +2,6 @@
|
|||||||
Usage
|
Usage
|
||||||
========
|
========
|
||||||
|
|
||||||
To use bash8 in a project::
|
To use bashate in a project::
|
||||||
|
|
||||||
import bash8
|
import bashate
|
||||||
|
@ -3,4 +3,4 @@
|
|||||||
# The list of modules to copy from oslo-incubator.git
|
# The list of modules to copy from oslo-incubator.git
|
||||||
|
|
||||||
# The base module to hold the copy of openstack.common
|
# The base module to hold the copy of openstack.common
|
||||||
base=bash8
|
base=bashate
|
19
setup.cfg
19
setup.cfg
@ -1,5 +1,5 @@
|
|||||||
[metadata]
|
[metadata]
|
||||||
name = bash8
|
name = bashate
|
||||||
summary = A pep8 equivalent for bash scripts
|
summary = A pep8 equivalent for bash scripts
|
||||||
description-file =
|
description-file =
|
||||||
README.rst
|
README.rst
|
||||||
@ -18,14 +18,15 @@ classifier =
|
|||||||
Programming Language :: Python :: 2.6
|
Programming Language :: Python :: 2.6
|
||||||
Programming Language :: Python :: 3
|
Programming Language :: Python :: 3
|
||||||
Programming Language :: Python :: 3.3
|
Programming Language :: Python :: 3.3
|
||||||
|
Programming Language :: Python :: 3.4
|
||||||
|
|
||||||
[files]
|
[files]
|
||||||
packages =
|
packages =
|
||||||
bash8
|
bashate
|
||||||
|
|
||||||
[entry_points]
|
[entry_points]
|
||||||
console_scripts =
|
console_scripts =
|
||||||
bash8 = bash8.bash8:main
|
bashate = bashate.bashate:main
|
||||||
|
|
||||||
[build_sphinx]
|
[build_sphinx]
|
||||||
source-dir = doc/source
|
source-dir = doc/source
|
||||||
@ -36,15 +37,15 @@ all_files = 1
|
|||||||
upload-dir = doc/build/html
|
upload-dir = doc/build/html
|
||||||
|
|
||||||
[compile_catalog]
|
[compile_catalog]
|
||||||
directory = bash8/locale
|
directory = bashate/locale
|
||||||
domain = bash8
|
domain = bashate
|
||||||
|
|
||||||
[update_catalog]
|
[update_catalog]
|
||||||
domain = bash8
|
domain = bashate
|
||||||
output_dir = bash8/locale
|
output_dir = bashate/locale
|
||||||
input_file = bash8/locale/bash8.pot
|
input_file = bashate/locale/bashate.pot
|
||||||
|
|
||||||
[extract_messages]
|
[extract_messages]
|
||||||
keywords = _ gettext ngettext l_ lazy_gettext
|
keywords = _ gettext ngettext l_ lazy_gettext
|
||||||
mapping_file = babel.cfg
|
mapping_file = babel.cfg
|
||||||
output_file = bash8/locale/bash8.pot
|
output_file = bashate/locale/bashate.pot
|
||||||
|
Loading…
Reference in New Issue
Block a user