diff options
author | Igor Murashkin <iam@google.com> | 2018-08-14 12:48:35 -0700 |
---|---|---|
committer | Igor Murashkin <iam@google.com> | 2018-08-14 12:52:02 -0700 |
commit | 5d278fdc0aca6e137221b44e66305d6747b8b9c7 (patch) | |
tree | 93c86b4bf506379a03191de729ff286965577bca | |
parent | 1277061b73a1c286ff193a3cf3d34ec49cb24c8d (diff) | |
download | funcsigs-5d278fdc0aca6e137221b44e66305d6747b8b9c7.tar.gz |
android: Add build `py-funcsigs` and unit testsmaster-cuttlefish-testing-release
Needed as a dependency for pytest.
Bug: 112283442
-rw-r--r-- | Android.bp | 59 | ||||
-rw-r--r-- | Android_tests.py | 33 | ||||
-rw-r--r-- | funcsigs/Android.bp | 30 |
3 files changed, 122 insertions, 0 deletions
diff --git a/Android.bp b/Android.bp new file mode 100644 index 0000000..c4787f0 --- /dev/null +++ b/Android.bp @@ -0,0 +1,59 @@ +// Copyright 2018 Google Inc. All rights reserved. +// +// 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. + +python_test { + name: "py2-funcsigs-tests", + // use _ instead of . in the name to avoid error: + // error: external/python/funcsigs/Android.bp:18:7: module "py2-funcsigs-tests" variant + // "linux_glibc_x86_64_PY2": srcs: the path "Android.tests.py" contains invalid token "Android.tests". + main: "Android_tests.py", + srcs: [ + // important: the tests must be run as if they were in the 'tests' module + // (i.e. from external/python/funcsigs) otherwise one of the tests will fail. + "tests/*.py", + "Android_tests.py", + ], + host_supported: true, + libs: ["py-funcsigs"], + version: { + py2: { + enabled: true, + }, + py3: { + enabled: false, + }, + }, + // required for tests.test_funcsigs.TestFunctionSignatures + data: ["README.rst"], +} + +python_test { + name: "py3-funcsigs-tests", + main: "Android_tests.py", + srcs: [ + "tests/*.py", + "Android_tests.py", + ], + host_supported: true, + libs: ["py-funcsigs"], + version: { + py2: { + enabled: false, + }, + py3: { + enabled: true, + }, + }, + data: ["README.rst"], +} diff --git a/Android_tests.py b/Android_tests.py new file mode 100644 index 0000000..ac84729 --- /dev/null +++ b/Android_tests.py @@ -0,0 +1,33 @@ +# Copyright 2018 Google Inc. All rights reserved. +# +# 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. + +import os +import sys +import unittest + +# this runs any test*.py files located anywhere in this subtree +if __name__ == '__main__': + test_loader = unittest.defaultTestLoader + # output is normal text formatting (as if running from a CLI), prints to stderr + test_runner = unittest.TextTestRunner(stream=sys.stderr) + + # look at tests relative to the dir of this file. + this_dir = os.path.dirname(os.path.abspath(__file__)) + + # automagically find all tests recursively whose file name matches test*.py + test_suite = test_loader.discover(this_dir, pattern='test*.py') + + # execute all the found tests + test_runner.run(test_suite) + diff --git a/funcsigs/Android.bp b/funcsigs/Android.bp new file mode 100644 index 0000000..acee033 --- /dev/null +++ b/funcsigs/Android.bp @@ -0,0 +1,30 @@ +// Copyright 2018 Google Inc. All rights reserved. +// +// 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. + +python_library { + name: "py-funcsigs", + host_supported: true, + srcs: [ + "*.py", + ], + version: { + py2: { + enabled: true, + }, + py3: { + enabled: true, + }, + }, + pkg_path: "funcsigs", +} |