From ef321ff4a90acf2133ee29d5fd2a65fc9906c748 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Pekkarinen?= Date: Fri, 10 Dec 2021 16:12:08 +0200 Subject: [PATCH] package/avocado: new package MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: José Pekkarinen [Thomas: add test case, add missing dependencies] Signed-off-by: Thomas Petazzoni --- DEVELOPERS | 2 ++ package/Config.in | 1 + package/avocado/Config.in | 21 +++++++++++++++++ package/avocado/avocado.hash | 3 +++ package/avocado/avocado.mk | 13 +++++++++++ support/testing/tests/package/test_avocado.py | 23 +++++++++++++++++++ 6 files changed, 63 insertions(+) create mode 100644 package/avocado/Config.in create mode 100644 package/avocado/avocado.hash create mode 100644 package/avocado/avocado.mk create mode 100644 support/testing/tests/package/test_avocado.py diff --git a/DEVELOPERS b/DEVELOPERS index 504a6bb018..1dede4b83b 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -1560,6 +1560,7 @@ F: support/testing/tests/package/test_zfs.py N: José Pekkarinen F: package/alfred/ +F: package/avocado/ F: package/bmx7/ F: package/opensc/ F: package/python-aexpect/ @@ -1567,6 +1568,7 @@ F: package/python-alembic/ F: package/python-lark/ F: package/softhsm2/ F: support/testing/tests/package/sample_python_aexpect.py +F: support/testing/tests/package/test_avocado.py F: support/testing/tests/package/test_python_aexpect.py N: Joseph Kogut diff --git a/package/Config.in b/package/Config.in index 697c94157c..d264449b30 100644 --- a/package/Config.in +++ b/package/Config.in @@ -158,6 +158,7 @@ menu "Debugging, profiling and benchmark" endmenu menu "Development tools" + source "package/avocado/Config.in" source "package/bats-core/Config.in" source "package/binutils/Config.in" source "package/bitwise/Config.in" diff --git a/package/avocado/Config.in b/package/avocado/Config.in new file mode 100644 index 0000000000..cd438350a4 --- /dev/null +++ b/package/avocado/Config.in @@ -0,0 +1,21 @@ +config BR2_PACKAGE_AVOCADO + bool "avocado" + depends on BR2_USE_WCHAR # python3 + depends on BR2_USE_MMU # python3 + depends on BR2_TOOLCHAIN_HAS_THREADS # python3 + depends on !BR2_STATIC_LIBS # python3 + select BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON3_BZIP2 + select BR2_PACKAGE_PYTHON3_PYEXPAT + select BR2_PACKAGE_PYTHON3_SQLITE + select BR2_PACKAGE_PYTHON3_XZ + select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime, pkg_resources + help + Avocado is an automated testing suite containing + tests for various subsystems. + + https://avocado-framework.readthedocs.io/ + +comment "avocado needs a toolchain w/ wchar, threads, dynamic library" + depends on BR2_USE_MMU + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/package/avocado/avocado.hash b/package/avocado/avocado.hash new file mode 100644 index 0000000000..117d708611 --- /dev/null +++ b/package/avocado/avocado.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 bec1bfab821030f04306a93d2b2061a4a28db538873702f746d5bc050d92685b avocado-98.0.tar.gz +sha256 680ce56e9c4043826f0f1420935d2453ea3ddacd1582cb6f1cef26c1077fcc93 LICENSE diff --git a/package/avocado/avocado.mk b/package/avocado/avocado.mk new file mode 100644 index 0000000000..282cb34fd3 --- /dev/null +++ b/package/avocado/avocado.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# avocado +# +################################################################################ + +AVOCADO_VERSION = 98.0 +AVOCADO_SITE = $(call github,avocado-framework,avocado,$(AVOCADO_VERSION)) +AVOCADO_SETUP_TYPE = setuptools +AVOCADO_LICENSE = Apache-2.0 +AVOCADO_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/support/testing/tests/package/test_avocado.py b/support/testing/tests/package/test_avocado.py new file mode 100644 index 0000000000..7e83c86464 --- /dev/null +++ b/support/testing/tests/package/test_avocado.py @@ -0,0 +1,23 @@ +import os + +import infra.basetest + + +class TestAvocado(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_AVOCADO=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + 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() + cmd = "avocado run /bin/true" + self.assertRunOk(cmd, timeout=30) + cmd = "avocado plugins" + self.assertRunOk(cmd, timeout=30)