support/testing: add runtime test for Crudini (py2 and py3)

This also adds the new tests to the gitlab CI configuration.

Signed-off-by: Titouan Christophe <titouan.christophe@railnova.eu>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Titouan Christophe 2020-02-05 15:11:49 +01:00 committed by Thomas Petazzoni
parent 7e9e199816
commit 1b2319f931
3 changed files with 52 additions and 0 deletions

View File

@ -375,6 +375,8 @@ tests.init.test_systemd.TestInitSystemSystemdRwFull: { extends: .runtime_test }
tests.init.test_systemd.TestInitSystemSystemdRwIfupdown: { extends: .runtime_test }
tests.init.test_systemd.TestInitSystemSystemdRwNetworkd: { extends: .runtime_test }
tests.package.test_atop.TestAtop: { extends: .runtime_test }
tests.package.test_crudini.TestCrudiniPy2: { extends: .runtime_test }
tests.package.test_crudini.TestCrudiniPy3: { extends: .runtime_test }
tests.package.test_docker_compose.TestDockerCompose: { extends: .runtime_test }
tests.package.test_dropbear.TestDropbear: { extends: .runtime_test }
tests.package.test_glxinfo.TestGlxinfo: { extends: .runtime_test }

View File

@ -2460,6 +2460,7 @@ F: package/mosquitto/
F: package/python-avro/
F: package/redis/
F: package/waf/
F: support/testing/tests/package/test_crudini.py
N: Trent Piepho <tpiepho@impinj.com>
F: package/libp11/

View File

@ -0,0 +1,49 @@
import os
from tests.package.test_python import TestPythonPackageBase
INI_FILE_CONTENT = """
[section]
param = this-is-the-magic-value
other = dont care
"""
class TestCrudiniBase(TestPythonPackageBase):
config = TestPythonPackageBase.config + \
"""
BR2_PACKAGE_CRUDINI=y
"""
def test_run(self):
img = os.path.join(self.builddir, "images", "rootfs.cpio")
self.emulator.boot(arch="armv5", kernel="builtin",
options=["-initrd", img])
self.emulator.login()
# 1. Create some sample .ini file
cmd = "echo -e '%s' > config.ini" % INI_FILE_CONTENT
_, ret = self.emulator.run(cmd)
self.assertEqual(ret, 0)
# 2. Attempt to get the value
out, ret = self.emulator.run("crudini --get config.ini section param")
self.assertEqual(ret, 0)
self.assertEqual(out, ['this-is-the-magic-value'])
class TestCrudiniPy2(TestCrudiniBase):
__test__ = True
config = TestCrudiniBase.config + \
"""
BR2_PACKAGE_PYTHON=y
"""
class TestCrudiniPy3(TestCrudiniBase):
__test__ = True
config = TestCrudiniBase.config + \
"""
BR2_PACKAGE_PYTHON3=y
"""