pmb.parse.kconfig: add tests (MR 1916)
This commit is contained in:
parent
28da033267
commit
c5d0f76005
|
@ -0,0 +1,46 @@
|
||||||
|
# Copyright 2020 Antoine Fontaine
|
||||||
|
# Copyright 2020 Oliver Smith
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
import pytest
|
||||||
|
import sys
|
||||||
|
|
||||||
|
import pmb_test
|
||||||
|
import pmb_test.const
|
||||||
|
import pmb.parse.kconfig
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture
|
||||||
|
def args(tmpdir, request):
|
||||||
|
import pmb.parse
|
||||||
|
sys.argv = ["pmbootstrap.py", "kconfig", "check"]
|
||||||
|
args = pmb.parse.arguments()
|
||||||
|
args.log = args.work + "/log_testsuite.txt"
|
||||||
|
pmb.helpers.logging.init(args)
|
||||||
|
request.addfinalizer(args.logfd.close)
|
||||||
|
return args
|
||||||
|
|
||||||
|
|
||||||
|
def test_kconfig_check(args):
|
||||||
|
# basic checks, from easiers to hard-ish
|
||||||
|
dir = f"{pmb_test.const.testdata}/kconfig_check/"
|
||||||
|
assert not pmb.parse.kconfig.check_file(args, dir +
|
||||||
|
"bad-missing-required-option")
|
||||||
|
assert pmb.parse.kconfig.check_file(args, dir + "good")
|
||||||
|
assert not pmb.parse.kconfig.check_file(args, dir + "bad-wrong-option-set")
|
||||||
|
assert pmb.parse.kconfig.check_file(args, dir + "good-anbox",
|
||||||
|
anbox=True)
|
||||||
|
assert not pmb.parse.kconfig.check_file(args, dir +
|
||||||
|
"bad-array-missing-some-options",
|
||||||
|
anbox=True)
|
||||||
|
|
||||||
|
# tests on real devices
|
||||||
|
|
||||||
|
# it's a postmarketOS device, it will have the required options
|
||||||
|
assert pmb.parse.kconfig.check(args, "nokia-n900")
|
||||||
|
|
||||||
|
# supports Anbox (with pmb:kconfigcheck-anbox)
|
||||||
|
assert pmb.parse.kconfig.check(args, "postmarketos-allwinner")
|
||||||
|
|
||||||
|
# testing the force param: nokia-n900 will never have anbox support
|
||||||
|
assert not pmb.parse.kconfig.check(args, "nokia-n900",
|
||||||
|
force_anbox_check=True)
|
|
@ -0,0 +1,53 @@
|
||||||
|
#
|
||||||
|
# Automatically generated file; DO NOT EDIT.
|
||||||
|
# Linux/arm 5.3.2 Kernel Configuration
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# Compiler: gcc (Alpine 9.2.0) 9.2.0
|
||||||
|
#
|
||||||
|
CONFIG_CC_IS_GCC=y
|
||||||
|
CONFIG_GCC_VERSION=90200
|
||||||
|
CONFIG_CLANG_VERSION=0
|
||||||
|
CONFIG_CC_CAN_LINK=y
|
||||||
|
CONFIG_CC_HAS_ASM_GOTO=y
|
||||||
|
CONFIG_CC_HAS_WARN_MAYBE_UNINITIALIZED=y
|
||||||
|
CONFIG_CC_DISABLE_WARN_MAYBE_UNINITIALIZED=y
|
||||||
|
CONFIG_IRQ_WORK=y
|
||||||
|
CONFIG_BUILDTIME_EXTABLE_SORT=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# General setup
|
||||||
|
#
|
||||||
|
|
||||||
|
# the required options
|
||||||
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
|
CONFIG_CGROUPS=y
|
||||||
|
CONFIG_DEVTMPFS=y
|
||||||
|
CONFIG_DM_CRYPT=y
|
||||||
|
CONFIG_SYSVIPC=y
|
||||||
|
CONFIG_VT=y
|
||||||
|
CONFIG_UEVENT_HELPER=y
|
||||||
|
CONFIG_LBDAF=y
|
||||||
|
CONFIG_EXT4_FS=y
|
||||||
|
CONFIG_SQUASHFS=y
|
||||||
|
CONFIG_SQUASHFS_XZ=y
|
||||||
|
CONFIG_SQUASHFS_XATTR=y
|
||||||
|
CONFIG_TMPFS_XATTR=y
|
||||||
|
CONFIG_ASHMEM=y
|
||||||
|
CONFIG_ANDROID_BINDER_IPC=y
|
||||||
|
# CONFIG_ANDROID_BINDERFS is not set
|
||||||
|
|
||||||
|
### although hwbinder contains "binder", it shouldn't be valid
|
||||||
|
CONFIG_ANDROID_BINDER_DEVICES="hwbinder"
|
||||||
|
|
||||||
|
CONFIG_NETFILTER_XTABLES=y
|
||||||
|
CONFIG_NETFILTER_XT_MATCH_COMMENT=y
|
||||||
|
CONFIG_IP_NF_MANGLE=y
|
||||||
|
CONFIG_FUSE_FS=y
|
||||||
|
CONFIG_BLK_DEV_LOOP=y
|
||||||
|
CONFIG_TUN=y
|
||||||
|
CONFIG_VETH=y
|
||||||
|
CONFIG_VLAN_8021Q=y
|
||||||
|
CONFIG_BRIDGE=y
|
||||||
|
CONFIG_BRIDGE_VLAN_FILTERING=y
|
|
@ -0,0 +1,32 @@
|
||||||
|
#
|
||||||
|
# Automatically generated file; DO NOT EDIT.
|
||||||
|
# Linux/arm 5.3.2 Kernel Configuration
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# Compiler: gcc (Alpine 9.2.0) 9.2.0
|
||||||
|
#
|
||||||
|
CONFIG_CC_IS_GCC=y
|
||||||
|
CONFIG_GCC_VERSION=90200
|
||||||
|
CONFIG_CLANG_VERSION=0
|
||||||
|
CONFIG_CC_CAN_LINK=y
|
||||||
|
CONFIG_CC_HAS_ASM_GOTO=y
|
||||||
|
CONFIG_CC_HAS_WARN_MAYBE_UNINITIALIZED=y
|
||||||
|
CONFIG_CC_DISABLE_WARN_MAYBE_UNINITIALIZED=y
|
||||||
|
CONFIG_IRQ_WORK=y
|
||||||
|
CONFIG_BUILDTIME_EXTABLE_SORT=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# General setup
|
||||||
|
#
|
||||||
|
|
||||||
|
# the required options
|
||||||
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
|
CONFIG_CGROUPS=y
|
||||||
|
CONFIG_DEVTMPFS=y
|
||||||
|
CONFIG_DM_CRYPT=y
|
||||||
|
### this option is missing:
|
||||||
|
# CONFIG_SYSVIPC is not set
|
||||||
|
CONFIG_VT=y
|
||||||
|
CONFIG_UEVENT_HELPER=y
|
||||||
|
CONFIG_LBDAF=y
|
|
@ -0,0 +1,33 @@
|
||||||
|
#
|
||||||
|
# Automatically generated file; DO NOT EDIT.
|
||||||
|
# Linux/arm 5.3.2 Kernel Configuration
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# Compiler: gcc (Alpine 9.2.0) 9.2.0
|
||||||
|
#
|
||||||
|
CONFIG_CC_IS_GCC=y
|
||||||
|
CONFIG_GCC_VERSION=90200
|
||||||
|
CONFIG_CLANG_VERSION=0
|
||||||
|
CONFIG_CC_CAN_LINK=y
|
||||||
|
CONFIG_CC_HAS_ASM_GOTO=y
|
||||||
|
CONFIG_CC_HAS_WARN_MAYBE_UNINITIALIZED=y
|
||||||
|
CONFIG_CC_DISABLE_WARN_MAYBE_UNINITIALIZED=y
|
||||||
|
CONFIG_IRQ_WORK=y
|
||||||
|
CONFIG_BUILDTIME_EXTABLE_SORT=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# General setup
|
||||||
|
#
|
||||||
|
|
||||||
|
# the required options
|
||||||
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
|
CONFIG_CGROUPS=y
|
||||||
|
CONFIG_DEVTMPFS=y
|
||||||
|
CONFIG_DM_CRYPT=y
|
||||||
|
CONFIG_SYSVIPC=y
|
||||||
|
CONFIG_VT=y
|
||||||
|
CONFIG_UEVENT_HELPER=y
|
||||||
|
CONFIG_LBDAF=y
|
||||||
|
### here's one wrong option set:
|
||||||
|
ANDROID_PARANOID_NETWORK=y
|
|
@ -0,0 +1,47 @@
|
||||||
|
#
|
||||||
|
# Automatically generated file; DO NOT EDIT.
|
||||||
|
# Linux/arm 5.3.2 Kernel Configuration
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# Compiler: gcc (Alpine 9.2.0) 9.2.0
|
||||||
|
#
|
||||||
|
CONFIG_CC_IS_GCC=y
|
||||||
|
CONFIG_GCC_VERSION=90200
|
||||||
|
CONFIG_CLANG_VERSION=0
|
||||||
|
CONFIG_CC_CAN_LINK=y
|
||||||
|
CONFIG_CC_HAS_ASM_GOTO=y
|
||||||
|
CONFIG_CC_HAS_WARN_MAYBE_UNINITIALIZED=y
|
||||||
|
CONFIG_CC_DISABLE_WARN_MAYBE_UNINITIALIZED=y
|
||||||
|
CONFIG_IRQ_WORK=y
|
||||||
|
CONFIG_BUILDTIME_EXTABLE_SORT=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# General setup
|
||||||
|
#
|
||||||
|
|
||||||
|
# the required options
|
||||||
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
|
CONFIG_CGROUPS=y
|
||||||
|
CONFIG_DEVTMPFS=y
|
||||||
|
CONFIG_DM_CRYPT=y
|
||||||
|
CONFIG_SYSVIPC=y
|
||||||
|
CONFIG_VT=y
|
||||||
|
CONFIG_UEVENT_HELPER=y
|
||||||
|
CONFIG_LBDAF=y
|
||||||
|
### here's one explicitely disabled:
|
||||||
|
# ANDROID_PARANOID_NETWORK is not set
|
||||||
|
### here's one set to module:
|
||||||
|
CONFIG_EXT4_FS=m
|
||||||
|
### here's a line set to no:
|
||||||
|
CONFIG_KINETO_GAN=n
|
||||||
|
|
||||||
|
# a bit of random stuff
|
||||||
|
CONFIG_LOCALVERSION="-nokia-n900"
|
||||||
|
CONFIG_BUILD_SALT=""
|
||||||
|
CONFIG_HAVE_KERNEL_GZIP=y
|
||||||
|
CONFIG_HAVE_KERNEL_LZO=y
|
||||||
|
CONFIG_KERNEL_GZIP=y
|
||||||
|
# CONFIG_KERNEL_LZMA is not set
|
||||||
|
CONFIG_DEFAULT_HOSTNAME="(none)"
|
||||||
|
CONFIG_SWAP=y
|
|
@ -0,0 +1,50 @@
|
||||||
|
#
|
||||||
|
# Automatically generated file; DO NOT EDIT.
|
||||||
|
# Linux/arm 5.3.2 Kernel Configuration
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# Compiler: gcc (Alpine 9.2.0) 9.2.0
|
||||||
|
#
|
||||||
|
CONFIG_CC_IS_GCC=y
|
||||||
|
CONFIG_GCC_VERSION=90200
|
||||||
|
CONFIG_CLANG_VERSION=0
|
||||||
|
CONFIG_CC_CAN_LINK=y
|
||||||
|
CONFIG_CC_HAS_ASM_GOTO=y
|
||||||
|
CONFIG_CC_HAS_WARN_MAYBE_UNINITIALIZED=y
|
||||||
|
CONFIG_CC_DISABLE_WARN_MAYBE_UNINITIALIZED=y
|
||||||
|
CONFIG_IRQ_WORK=y
|
||||||
|
CONFIG_BUILDTIME_EXTABLE_SORT=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# General setup
|
||||||
|
#
|
||||||
|
|
||||||
|
# the required options
|
||||||
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
|
CONFIG_CGROUPS=y
|
||||||
|
CONFIG_DEVTMPFS=y
|
||||||
|
CONFIG_DM_CRYPT=y
|
||||||
|
CONFIG_SYSVIPC=y
|
||||||
|
CONFIG_VT=y
|
||||||
|
CONFIG_UEVENT_HELPER=y
|
||||||
|
CONFIG_LBDAF=y
|
||||||
|
CONFIG_EXT4_FS=y
|
||||||
|
CONFIG_SQUASHFS=y
|
||||||
|
CONFIG_SQUASHFS_XZ=y
|
||||||
|
CONFIG_SQUASHFS_XATTR=y
|
||||||
|
CONFIG_TMPFS_XATTR=y
|
||||||
|
CONFIG_ASHMEM=y
|
||||||
|
CONFIG_ANDROID_BINDER_IPC=y
|
||||||
|
# CONFIG_ANDROID_BINDERFS is not set
|
||||||
|
CONFIG_ANDROID_BINDER_DEVICES="binder,vndbinder,hwbinder"
|
||||||
|
CONFIG_NETFILTER_XTABLES=y
|
||||||
|
CONFIG_NETFILTER_XT_MATCH_COMMENT=y
|
||||||
|
CONFIG_IP_NF_MANGLE=y
|
||||||
|
CONFIG_FUSE_FS=y
|
||||||
|
CONFIG_BLK_DEV_LOOP=y
|
||||||
|
CONFIG_TUN=y
|
||||||
|
CONFIG_VETH=y
|
||||||
|
CONFIG_VLAN_8021Q=y
|
||||||
|
CONFIG_BRIDGE=y
|
||||||
|
CONFIG_BRIDGE_VLAN_FILTERING=y
|
Loading…
Reference in New Issue