diff --git a/package.xml b/package.xml index a5cff84..f026cab 100644 --- a/package.xml +++ b/package.xml @@ -13,6 +13,11 @@ https://github.com/ros/rosdistro/blob/master/rosdep/python.yaml --> + ament_copyright + ament_flake8 + ament_pep257 + python3-pytest + ament_python diff --git a/setup.py b/setup.py index d4b8330..eab091c 100644 --- a/setup.py +++ b/setup.py @@ -1,3 +1,4 @@ +from setuptools import find_packages from setuptools import setup package_name = 'tracetools_analysis' @@ -5,7 +6,7 @@ package_name = 'tracetools_analysis' setup( name=package_name, version='0.1.0', - packages=[package_name], + packages=find_packages(exclude=['test']), data_files=[ ('share/' + package_name, ['package.xml']), ], @@ -18,4 +19,5 @@ setup( f'process = {package_name}.process:main', ], }, + tests_require=['pytest'], ) diff --git a/test/test_copyright.py b/test/test_copyright.py new file mode 100644 index 0000000..cf0fae3 --- /dev/null +++ b/test/test_copyright.py @@ -0,0 +1,23 @@ +# Copyright 2017 Open Source Robotics Foundation, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from ament_copyright.main import main +import pytest + + +@pytest.mark.copyright +@pytest.mark.linter +def test_copyright(): + rc = main(argv=['.', 'test']) + assert rc == 0, 'Found errors' diff --git a/test/test_flake8.py b/test/test_flake8.py new file mode 100644 index 0000000..eff8299 --- /dev/null +++ b/test/test_flake8.py @@ -0,0 +1,23 @@ +# Copyright 2017 Open Source Robotics Foundation, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from ament_flake8.main import main +import pytest + + +@pytest.mark.flake8 +@pytest.mark.linter +def test_flake8(): + rc = main(argv=[]) + assert rc == 0, 'Found errors' diff --git a/test/test_pep257.py b/test/test_pep257.py new file mode 100644 index 0000000..3aeb4d3 --- /dev/null +++ b/test/test_pep257.py @@ -0,0 +1,23 @@ +# Copyright 2015 Open Source Robotics Foundation, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from ament_pep257.main import main +import pytest + + +@pytest.mark.linter +@pytest.mark.pep257 +def test_pep257(): + rc = main(argv=[]) + assert rc == 0, 'Found code style errors / warnings'