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>
This commit is contained in:
parent
0d896cf007
commit
1bd9e9c199
@ -316,6 +316,8 @@ tests.package.test_ipython.TestIPythonPy2: *runtime_test
|
||||
tests.package.test_ipython.TestIPythonPy3: *runtime_test
|
||||
tests.package.test_python.TestPython2: *runtime_test
|
||||
tests.package.test_python.TestPython3: *runtime_test
|
||||
tests.package.test_python_argh.TestPythonPy2Argh: *runtime_test
|
||||
tests.package.test_python_argh.TestPythonPy3Argh: *runtime_test
|
||||
tests.package.test_python_autobahn.TestPythonPy2Autobahn: *runtime_test
|
||||
tests.package.test_python_autobahn.TestPythonPy3Autobahn: *runtime_test
|
||||
tests.package.test_python_crossbar.TestPythonPy3Crossbar: *runtime_test
|
||||
|
10
support/testing/tests/package/sample_python_argh.py
Normal file
10
support/testing/tests/package/sample_python_argh.py
Normal file
@ -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)
|
45
support/testing/tests/package/test_python_argh.py
Normal file
45
support/testing/tests/package/test_python_argh.py
Normal file
@ -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
|
||||
"""
|
Loading…
Reference in New Issue
Block a user