@@ -3,7 +3,6 @@ import os
import datetime
from infra.builder import Builder
-from infra.emulator import Emulator
BASIC_TOOLCHAIN_CONFIG = \
"""
@@ -41,7 +40,6 @@ class BRTest(unittest.TestCase):
super(BRTest, self).__init__(names)
self.testname = self.__class__.__name__
self.builddir = self.outputdir and os.path.join(self.outputdir, self.testname)
- self.emulator = None
self.config += '\nBR2_DL_DIR="{}"\n'.format(self.downloaddir)
self.config += "\nBR2_JLEVEL={}\n".format(self.jlevel)
@@ -57,17 +55,9 @@ class BRTest(unittest.TestCase):
self.b.delete()
if not self.b.is_finished():
- self.show_msg("Building")
self.b.configure()
- self.b.build()
- self.show_msg("Building done")
-
- self.emulator = Emulator(self.builddir, self.downloaddir,
- self.logtofile, self.timeout_multiplier)
def tearDown(self):
self.show_msg("Cleaning up")
- if self.emulator:
- self.emulator.stop()
if self.b and not self.keepbuilds:
self.b.delete()
new file mode 100644
@@ -0,0 +1,23 @@
+from infra.basetest import BRTest
+from infra.emulator import Emulator
+
+
+class RuntimeTestBase(BRTest):
+ def __init__(self, names):
+ super(RuntimeTestBase, self).__init__(names)
+ self.emulator = None
+
+ def setUp(self):
+ super(RuntimeTestBase, self).setUp()
+ if not self.b.is_finished():
+ self.show_msg("Building")
+ self.b.build()
+ self.show_msg("Building done")
+
+ self.emulator = Emulator(self.builddir, self.downloaddir,
+ self.logtofile, self.timeout_multiplier)
+
+ def tearDown(self):
+ if self.emulator:
+ self.emulator.stop()
+ super(RuntimeTestBase, self).tearDown()
@@ -1,7 +1,8 @@
import infra.basetest
+import infra.runtimetest
-class TestATFVexpress(infra.basetest.BRTest):
+class TestATFVexpress(infra.runtimetest.RuntimeTestBase):
config = \
"""
BR2_aarch64=y
@@ -25,7 +26,7 @@ class TestATFVexpress(infra.basetest.BRTest):
pass
-class TestATFAllwinner(infra.basetest.BRTest):
+class TestATFAllwinner(infra.runtimetest.RuntimeTestBase):
config = \
"""
BR2_aarch64=y
@@ -54,7 +55,7 @@ class TestATFAllwinner(infra.basetest.BRTest):
pass
-class TestATFMarvell(infra.basetest.BRTest):
+class TestATFMarvell(infra.runtimetest.RuntimeTestBase):
config = \
"""
BR2_aarch64=y
@@ -2,9 +2,10 @@ import os
import csv
import infra.basetest
+import infra.runtimetest
-class TestPostScripts(infra.basetest.BRTest):
+class TestPostScripts(infra.runtimetest.RuntimeTestBase):
config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \
"""
BR2_INIT_NONE=y
@@ -2,13 +2,14 @@ import os
import subprocess
import infra.basetest
+import infra.runtimetest
def compare_file(file1, file2):
return subprocess.call(["cmp", file1, file2])
-class TestRootfsOverlay(infra.basetest.BRTest):
+class TestRootfsOverlay(infra.runtimetest.RuntimeTestBase):
rootfs_overlay_path = infra.filepath("tests/core/rootfs-overlay")
@@ -1,6 +1,7 @@
import os
import infra.basetest
+import infra.runtimetest
def boot_armv5_cpio(emulator, builddir):
@@ -10,7 +11,7 @@ def boot_armv5_cpio(emulator, builddir):
emulator.login()
-class TestNoTimezone(infra.basetest.BRTest):
+class TestNoTimezone(infra.runtimetest.RuntimeTestBase):
config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \
"""
# BR2_TARGET_TZ_INFO is not set
@@ -26,7 +27,7 @@ class TestNoTimezone(infra.basetest.BRTest):
self.assertEqual(tz[0].strip(), "UTC")
-class TestGlibcAllTimezone(infra.basetest.BRTest):
+class TestGlibcAllTimezone(infra.runtimetest.RuntimeTestBase):
config = \
"""
BR2_arm=y
@@ -48,7 +49,7 @@ class TestGlibcAllTimezone(infra.basetest.BRTest):
self.assertEqual(tz[0].strip(), "CET")
-class TestGlibcNonDefaultLimitedTimezone(infra.basetest.BRTest):
+class TestGlibcNonDefaultLimitedTimezone(infra.runtimetest.RuntimeTestBase):
config = \
"""
BR2_arm=y
@@ -2,6 +2,7 @@ import os
import subprocess
import infra.basetest
+import infra.runtimetest
VOLNAME_PROP = "Filesystem volume name"
REVISION_PROP = "Filesystem revision #"
@@ -41,7 +42,7 @@ def boot_img_and_check_fs_type(emulator, builddir, fs_type):
return exit_code
-class TestExt2(infra.basetest.BRTest):
+class TestExt2(infra.runtimetest.RuntimeTestBase):
config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \
"""
BR2_TARGET_ROOTFS_EXT2=y
@@ -60,7 +61,7 @@ class TestExt2(infra.basetest.BRTest):
self.assertEqual(exit_code, 0)
-class TestExt2r1(infra.basetest.BRTest):
+class TestExt2r1(infra.runtimetest.RuntimeTestBase):
config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \
"""
BR2_TARGET_ROOTFS_EXT2=y
@@ -80,7 +81,7 @@ class TestExt2r1(infra.basetest.BRTest):
self.assertEqual(exit_code, 0)
-class TestExt3(infra.basetest.BRTest):
+class TestExt3(infra.runtimetest.RuntimeTestBase):
config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \
"""
BR2_TARGET_ROOTFS_EXT2=y
@@ -99,7 +100,7 @@ class TestExt3(infra.basetest.BRTest):
self.assertEqual(exit_code, 0)
-class TestExt4(infra.basetest.BRTest):
+class TestExt4(infra.runtimetest.RuntimeTestBase):
config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \
"""
BR2_TARGET_ROOTFS_EXT2=y
@@ -1,6 +1,7 @@
import os
import infra.basetest
+import infra.runtimetest
BASIC_CONFIG = \
"""
@@ -47,7 +48,7 @@ def test_touch_file(emulator):
# Grub 2
-class TestIso9660Grub2External(infra.basetest.BRTest):
+class TestIso9660Grub2External(infra.runtimetest.RuntimeTestBase):
config = BASIC_CONFIG + \
"""
BR2_TARGET_ROOTFS_ISO9660=y
@@ -67,7 +68,7 @@ class TestIso9660Grub2External(infra.basetest.BRTest):
self.assertEqual(exit_code, 1)
-class TestIso9660Grub2ExternalCompress(infra.basetest.BRTest):
+class TestIso9660Grub2ExternalCompress(infra.runtimetest.RuntimeTestBase):
config = BASIC_CONFIG + \
"""
BR2_TARGET_ROOTFS_ISO9660=y
@@ -88,7 +89,7 @@ class TestIso9660Grub2ExternalCompress(infra.basetest.BRTest):
self.assertEqual(exit_code, 1)
-class TestIso9660Grub2Internal(infra.basetest.BRTest):
+class TestIso9660Grub2Internal(infra.runtimetest.RuntimeTestBase):
config = BASIC_CONFIG + \
"""
BR2_TARGET_ROOTFS_ISO9660=y
@@ -111,7 +112,7 @@ class TestIso9660Grub2Internal(infra.basetest.BRTest):
# Syslinux
-class TestIso9660SyslinuxExternal(infra.basetest.BRTest):
+class TestIso9660SyslinuxExternal(infra.runtimetest.RuntimeTestBase):
config = BASIC_CONFIG + \
"""
BR2_TARGET_ROOTFS_ISO9660=y
@@ -130,7 +131,7 @@ class TestIso9660SyslinuxExternal(infra.basetest.BRTest):
self.assertEqual(exit_code, 1)
-class TestIso9660SyslinuxExternalCompress(infra.basetest.BRTest):
+class TestIso9660SyslinuxExternalCompress(infra.runtimetest.RuntimeTestBase):
config = BASIC_CONFIG + \
"""
BR2_TARGET_ROOTFS_ISO9660=y
@@ -150,7 +151,7 @@ class TestIso9660SyslinuxExternalCompress(infra.basetest.BRTest):
self.assertEqual(exit_code, 1)
-class TestIso9660SyslinuxInternal(infra.basetest.BRTest):
+class TestIso9660SyslinuxInternal(infra.runtimetest.RuntimeTestBase):
config = BASIC_CONFIG + \
"""
BR2_TARGET_ROOTFS_ISO9660=y
@@ -2,6 +2,7 @@ import os
import subprocess
import infra.basetest
+import infra.runtimetest
def jffs2dump_find_file(files_list, fname):
@@ -12,7 +13,7 @@ def jffs2dump_find_file(files_list, fname):
return False
-class TestJffs2(infra.basetest.BRTest):
+class TestJffs2(infra.runtimetest.RuntimeTestBase):
config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \
"""
BR2_TARGET_ROOTFS_JFFS2=y
@@ -2,9 +2,10 @@ import os
import subprocess
import infra.basetest
+import infra.runtimetest
-class TestSquashfs(infra.basetest.BRTest):
+class TestSquashfs(infra.runtimetest.RuntimeTestBase):
config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \
"""
BR2_TARGET_ROOTFS_SQUASHFS=y
@@ -2,9 +2,10 @@ import subprocess
import os
import infra.basetest
+import infra.runtimetest
-class TestUbi(infra.basetest.BRTest):
+class TestUbi(infra.runtimetest.RuntimeTestBase):
config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \
"""
BR2_TARGET_ROOTFS_UBIFS=y
@@ -1,9 +1,10 @@
import os
import infra.basetest
+import infra.runtimetest
-class TestYaffs2(infra.basetest.BRTest):
+class TestYaffs2(infra.runtimetest.RuntimeTestBase):
config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \
infra.basetest.MINIMAL_CONFIG + \
"""
@@ -1,9 +1,10 @@
import os
import subprocess
import infra.basetest
+import infra.runtimetest
-class InitSystemBase(infra.basetest.BRTest):
+class InitSystemBase(infra.runtimetest.RuntimeTestBase):
def start_emulator(self, fs_type, kernel=None, dtb=None, init=None):
img = os.path.join(self.builddir, "images", "rootfs.{}".format(fs_type))
@@ -1,9 +1,10 @@
import os
import infra.basetest
+import infra.runtimetest
-class TestDropbear(infra.basetest.BRTest):
+class TestDropbear(infra.runtimetest.RuntimeTestBase):
config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \
"""
BR2_TARGET_GENERIC_ROOT_PASSWD="testpwd"
@@ -1,9 +1,10 @@
import os
import infra.basetest
+import infra.runtimetest
-class TestPythonBase(infra.basetest.BRTest):
+class TestPythonBase(infra.runtimetest.RuntimeTestBase):
config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \
"""
BR2_TARGET_ROOTFS_CPIO=y
@@ -4,9 +4,10 @@ import subprocess
import shutil
import infra.basetest
+import infra.runtimetest
-class TestRustBase(infra.basetest.BRTest):
+class TestRustBase(infra.runtimetest.RuntimeTestBase):
target = 'armv7-unknown-linux-gnueabihf'
crate = 'hello-world'
@@ -1,9 +1,10 @@
import os
import infra.basetest
+import infra.runtimetest
-class TestSyslogNg(infra.basetest.BRTest):
+class TestSyslogNg(infra.runtimetest.RuntimeTestBase):
config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \
"""
BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
@@ -1,5 +1,6 @@
import os
import infra
+import infra.runtimetest
BASIC_CONFIG = \
"""
@@ -17,7 +18,7 @@ def has_broken_links(path):
return False
-class TestExternalToolchain(infra.basetest.BRTest):
+class TestExternalToolchain(infra.runtimetest.RuntimeTestBase):
def common_check(self):
# Check for broken symlinks
for d in ["lib", "usr/lib"]: