]> rtime.felk.cvut.cz Git - coffee/buildroot.git/blob - support/testing/tests/init/base.py
support/testing: fix code style
[coffee/buildroot.git] / support / testing / tests / init / base.py
1 import os
2 import subprocess
3 import infra.basetest
4
5
6 class InitSystemBase(infra.basetest.BRTest):
7
8     def startEmulator(self, fs_type, kernel=None, dtb=None, init=None):
9         img = os.path.join(self.builddir, "images", "rootfs.{}".format(fs_type))
10         subprocess.call(["truncate", "-s", "%1M", img])
11
12         options = ["-drive",
13                    "file={},if=sd,format=raw".format(img),
14                    "-M", "vexpress-a9"]
15
16         if kernel is None:
17             kernel = "builtin"
18         else:
19             kernel = os.path.join(self.builddir, "images", kernel)
20             options.extend(["-dtb", os.path.join(self.builddir, "images",
21                                              "{}.dtb".format(dtb))])
22
23         kernel_cmdline = ["root=/dev/mmcblk0",
24                           "rootfstype={}".format(fs_type),
25                           "rootwait",
26                           "ro",
27                           "console=ttyAMA0"]
28
29         if not init is None:
30             kernel_cmdline.extend(["init={}".format(init)])
31
32         self.emulator.boot(arch="armv7",
33                            kernel=kernel,
34                            kernel_cmdline=kernel_cmdline,
35                            options=options)
36
37         if init is None:
38             self.emulator.login()
39
40     def checkInit(self, path):
41         cmd = "cmp /proc/1/exe {}".format(path)
42         _, exit_code = self.emulator.run(cmd)
43         self.assertEqual(exit_code, 0)
44
45     def checkNetwork(self, interface, exitCode=0):
46         cmd = "ip addr show {} |grep inet".format(interface)
47         _, exit_code = self.emulator.run(cmd)
48         self.assertEqual(exit_code, exitCode)