xref: /OK3568_Linux_fs/buildroot/support/testing/tests/package/test_crudini.py (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyunimport os
2*4882a593Smuzhiyunfrom tests.package.test_python import TestPythonPackageBase
3*4882a593Smuzhiyun
4*4882a593Smuzhiyun
5*4882a593SmuzhiyunINI_FILE_CONTENT = """
6*4882a593Smuzhiyun[section]
7*4882a593Smuzhiyunparam = this-is-the-magic-value
8*4882a593Smuzhiyunother = dont care
9*4882a593Smuzhiyun"""
10*4882a593Smuzhiyun
11*4882a593Smuzhiyun
12*4882a593Smuzhiyunclass TestCrudiniBase(TestPythonPackageBase):
13*4882a593Smuzhiyun    config = TestPythonPackageBase.config + \
14*4882a593Smuzhiyun        """
15*4882a593Smuzhiyun        BR2_PACKAGE_CRUDINI=y
16*4882a593Smuzhiyun        """
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun    def test_run(self):
19*4882a593Smuzhiyun        img = os.path.join(self.builddir, "images", "rootfs.cpio")
20*4882a593Smuzhiyun        self.emulator.boot(arch="armv5", kernel="builtin",
21*4882a593Smuzhiyun                           options=["-initrd", img])
22*4882a593Smuzhiyun
23*4882a593Smuzhiyun        self.emulator.login()
24*4882a593Smuzhiyun
25*4882a593Smuzhiyun        # 1. Create some sample .ini file
26*4882a593Smuzhiyun        cmd = "echo -e '%s' > config.ini" % INI_FILE_CONTENT
27*4882a593Smuzhiyun        _, ret = self.emulator.run(cmd)
28*4882a593Smuzhiyun        self.assertEqual(ret, 0)
29*4882a593Smuzhiyun
30*4882a593Smuzhiyun        # 2. Attempt to get the value
31*4882a593Smuzhiyun        out, ret = self.emulator.run("crudini --get config.ini section param")
32*4882a593Smuzhiyun        self.assertEqual(ret, 0)
33*4882a593Smuzhiyun        self.assertEqual(out, ['this-is-the-magic-value'])
34*4882a593Smuzhiyun
35*4882a593Smuzhiyun
36*4882a593Smuzhiyunclass TestCrudiniPy2(TestCrudiniBase):
37*4882a593Smuzhiyun    __test__ = True
38*4882a593Smuzhiyun    config = TestCrudiniBase.config + \
39*4882a593Smuzhiyun        """
40*4882a593Smuzhiyun        BR2_PACKAGE_PYTHON=y
41*4882a593Smuzhiyun        """
42*4882a593Smuzhiyun
43*4882a593Smuzhiyun
44*4882a593Smuzhiyunclass TestCrudiniPy3(TestCrudiniBase):
45*4882a593Smuzhiyun    __test__ = True
46*4882a593Smuzhiyun    config = TestCrudiniBase.config + \
47*4882a593Smuzhiyun        """
48*4882a593Smuzhiyun        BR2_PACKAGE_PYTHON3=y
49*4882a593Smuzhiyun        """
50