diff options
author | Ricardo Martincoski <ricardo.martincoski@gmail.com> | 2018-11-16 01:57:21 -0200 |
---|---|---|
committer | Thomas Petazzoni <thomas.petazzoni@bootlin.com> | 2018-11-23 22:05:46 +0100 |
commit | 1bd9e9c199a334a035e9b4690135fdaf849b3d76 (patch) | |
tree | 26fb82c6940ae31e1da9f2e7a7a077b6e6a81663 /support/testing | |
parent | 0d896cf007920e01fc9104f98c8f4d3734a6f245 (diff) | |
download | buildroot-1bd9e9c199a334a035e9b4690135fdaf849b3d76.tar.gz buildroot-1bd9e9c199a334a035e9b4690135fdaf849b3d76.zip |
support/testing: add python-argh 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>
Diffstat (limited to 'support/testing')
-rw-r--r-- | support/testing/tests/package/sample_python_argh.py | 10 | ||||
-rw-r--r-- | support/testing/tests/package/test_python_argh.py | 45 |
2 files changed, 55 insertions, 0 deletions
diff --git a/support/testing/tests/package/sample_python_argh.py b/support/testing/tests/package/sample_python_argh.py new file mode 100644 index 0000000000..48247bf604 --- /dev/null +++ b/support/testing/tests/package/sample_python_argh.py @@ -0,0 +1,10 @@ +import argh + + +@argh.arg("foo", help="help for foo") +@argh.arg("--bar", help="help for bar") +def main(foo, bar=False): + print("{}, {}".format(foo, bar)) + + +argh.dispatch_command(main) diff --git a/support/testing/tests/package/test_python_argh.py b/support/testing/tests/package/test_python_argh.py new file mode 100644 index 0000000000..de4b4cbe74 --- /dev/null +++ b/support/testing/tests/package/test_python_argh.py @@ -0,0 +1,45 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonArgh(TestPythonPackageBase): + config = TestPythonPackageBase.config + sample_scripts = ["tests/package/sample_python_argh.py"] + + def run_sample_scripts(self): + cmd = self.interpreter + " sample_python_argh.py -h" + output, exit_code = self.emulator.run(cmd) + self.assertIn("usage:", output[0]) + self.assertEqual(exit_code, 0) + + cmd = self.interpreter + " sample_python_argh.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_argh.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_argh.py" + output, exit_code = self.emulator.run(cmd) + self.assertIn("usage:", output[0]) + self.assertEqual(exit_code, 2) + + +class TestPythonPy2Argh(TestPythonArgh): + __test__ = True + config = TestPythonArgh.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_ARGH=y + """ + + +class TestPythonPy3Argh(TestPythonArgh): + __test__ = True + config = TestPythonArgh.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_ARGH=y + """ |