support/testing: add python-click tests
Use a simple script to check the basic usage. Since this package provides command line arguments, override run_sample_scripts to call the script with arguments and check the expected output. Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
parent
61b4b81c44
commit
887248d354
|
@ -328,6 +328,8 @@ tests.package.test_python_bitstring.TestPythonPy2Bitstring: *runtime_test
|
||||||
tests.package.test_python_bitstring.TestPythonPy3Bitstring: *runtime_test
|
tests.package.test_python_bitstring.TestPythonPy3Bitstring: *runtime_test
|
||||||
tests.package.test_python_cbor.TestPythonPy2Cbor: *runtime_test
|
tests.package.test_python_cbor.TestPythonPy2Cbor: *runtime_test
|
||||||
tests.package.test_python_cbor.TestPythonPy3Cbor: *runtime_test
|
tests.package.test_python_cbor.TestPythonPy3Cbor: *runtime_test
|
||||||
|
tests.package.test_python_click.TestPythonPy2Click: *runtime_test
|
||||||
|
tests.package.test_python_click.TestPythonPy3Click: *runtime_test
|
||||||
tests.package.test_python_crossbar.TestPythonPy3Crossbar: *runtime_test
|
tests.package.test_python_crossbar.TestPythonPy3Crossbar: *runtime_test
|
||||||
tests.package.test_python_cryptography.TestPythonPy2Cryptography: *runtime_test
|
tests.package.test_python_cryptography.TestPythonPy2Cryptography: *runtime_test
|
||||||
tests.package.test_python_cryptography.TestPythonPy3Cryptography: *runtime_test
|
tests.package.test_python_cryptography.TestPythonPy3Cryptography: *runtime_test
|
||||||
|
|
12
support/testing/tests/package/sample_python_click.py
Normal file
12
support/testing/tests/package/sample_python_click.py
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
import click
|
||||||
|
|
||||||
|
|
||||||
|
@click.command()
|
||||||
|
@click.argument("foo")
|
||||||
|
@click.option("--bar", is_flag=True, help="help for bar")
|
||||||
|
def main(foo, bar):
|
||||||
|
click.echo("{}, {}".format(foo, bar))
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
44
support/testing/tests/package/test_python_click.py
Normal file
44
support/testing/tests/package/test_python_click.py
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
from tests.package.test_python import TestPythonPackageBase
|
||||||
|
|
||||||
|
|
||||||
|
class TestPythonClick(TestPythonPackageBase):
|
||||||
|
sample_scripts = ["tests/package/sample_python_click.py"]
|
||||||
|
|
||||||
|
def run_sample_scripts(self):
|
||||||
|
cmd = self.interpreter + " sample_python_click.py --help"
|
||||||
|
output, exit_code = self.emulator.run(cmd)
|
||||||
|
self.assertIn("Usage:", output[0])
|
||||||
|
self.assertEqual(exit_code, 0)
|
||||||
|
|
||||||
|
cmd = self.interpreter + " sample_python_click.py 123"
|
||||||
|
output, exit_code = self.emulator.run(cmd)
|
||||||
|
self.assertEqual(output[0], "123, False")
|
||||||
|
self.assertEqual(exit_code, 0)
|
||||||
|
|
||||||
|
cmd = self.interpreter + " sample_python_click.py --bar 456"
|
||||||
|
output, exit_code = self.emulator.run(cmd)
|
||||||
|
self.assertEqual(output[0], "456, True")
|
||||||
|
self.assertEqual(exit_code, 0)
|
||||||
|
|
||||||
|
cmd = self.interpreter + " sample_python_click.py"
|
||||||
|
output, exit_code = self.emulator.run(cmd)
|
||||||
|
self.assertIn("Usage:", output[0])
|
||||||
|
self.assertEqual(exit_code, 2)
|
||||||
|
|
||||||
|
|
||||||
|
class TestPythonPy2Click(TestPythonClick):
|
||||||
|
__test__ = True
|
||||||
|
config = TestPythonClick.config + \
|
||||||
|
"""
|
||||||
|
BR2_PACKAGE_PYTHON=y
|
||||||
|
BR2_PACKAGE_PYTHON_CLICK=y
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
class TestPythonPy3Click(TestPythonClick):
|
||||||
|
__test__ = True
|
||||||
|
config = TestPythonClick.config + \
|
||||||
|
"""
|
||||||
|
BR2_PACKAGE_PYTHON3=y
|
||||||
|
BR2_PACKAGE_PYTHON_CLICK=y
|
||||||
|
"""
|
Loading…
Reference in a new issue