summaryrefslogtreecommitdiffstats
path: root/rtemsqual
diff options
context:
space:
mode:
Diffstat (limited to 'rtemsqual')
-rw-r--r--rtemsqual/content.py19
-rw-r--r--rtemsqual/interface.py8
-rw-r--r--rtemsqual/items.py23
-rw-r--r--rtemsqual/tests/spec-applconfig/a.yml2
-rw-r--r--rtemsqual/tests/spec-applconfig/b.yml2
-rw-r--r--rtemsqual/tests/spec-applconfig/c.yml2
-rw-r--r--rtemsqual/tests/spec-applconfig/d.yml2
-rw-r--r--rtemsqual/tests/spec-applconfig/e.yml2
-rw-r--r--rtemsqual/tests/spec-applconfig/f.yml2
-rw-r--r--rtemsqual/tests/spec-applconfig/g.yml2
-rw-r--r--rtemsqual/tests/spec-applconfig/h.yml2
-rw-r--r--rtemsqual/tests/spec-applconfig/i.yml2
-rw-r--r--rtemsqual/tests/spec-applconfig/j.yml2
-rw-r--r--rtemsqual/tests/spec-applconfig/k.yml2
-rw-r--r--rtemsqual/tests/spec-applconfig/l.yml2
-rw-r--r--rtemsqual/tests/spec-applconfig/m.yml2
-rw-r--r--rtemsqual/tests/spec-build/bsp.yml2
-rw-r--r--rtemsqual/tests/spec-build/bsp2.yml2
-rw-r--r--rtemsqual/tests/spec-build/g.yml2
-rw-r--r--rtemsqual/tests/spec-build/o.yml2
-rw-r--r--rtemsqual/tests/spec-build/x.yml2
-rw-r--r--rtemsqual/tests/spec-interface/asm.yml2
-rw-r--r--rtemsqual/tests/spec-interface/command-line.yml2
-rw-r--r--rtemsqual/tests/spec-interface/define-a.yml2
-rw-r--r--rtemsqual/tests/spec-interface/define-b.yml2
-rw-r--r--rtemsqual/tests/spec-interface/define-c.yml2
-rw-r--r--rtemsqual/tests/spec-interface/define.yml2
-rw-r--r--rtemsqual/tests/spec-interface/enum.yml2
-rw-r--r--rtemsqual/tests/spec-interface/enum2.yml2
-rw-r--r--rtemsqual/tests/spec-interface/enum3.yml2
-rw-r--r--rtemsqual/tests/spec-interface/enum4.yml2
-rw-r--r--rtemsqual/tests/spec-interface/enumerator-0.yml2
-rw-r--r--rtemsqual/tests/spec-interface/enumerator-1.yml2
-rw-r--r--rtemsqual/tests/spec-interface/enumerator-2.yml2
-rw-r--r--rtemsqual/tests/spec-interface/enumerator-a.yml2
-rw-r--r--rtemsqual/tests/spec-interface/enumerator-b.yml2
-rw-r--r--rtemsqual/tests/spec-interface/float_t.yml2
-rw-r--r--rtemsqual/tests/spec-interface/forward-decl.yml2
-rw-r--r--rtemsqual/tests/spec-interface/func.yml2
-rw-r--r--rtemsqual/tests/spec-interface/func2.yml2
-rw-r--r--rtemsqual/tests/spec-interface/func3.yml2
-rw-r--r--rtemsqual/tests/spec-interface/func4.yml2
-rw-r--r--rtemsqual/tests/spec-interface/ga.yml2
-rw-r--r--rtemsqual/tests/spec-interface/gb.yml2
-rw-r--r--rtemsqual/tests/spec-interface/gc.yml2
-rw-r--r--rtemsqual/tests/spec-interface/h3.yml2
-rw-r--r--rtemsqual/tests/spec-interface/h4.yml2
-rw-r--r--rtemsqual/tests/spec-interface/macro.yml2
-rw-r--r--rtemsqual/tests/spec-interface/macro2.yml2
-rw-r--r--rtemsqual/tests/spec-interface/math.yml2
-rw-r--r--rtemsqual/tests/spec-interface/other.yml2
-rw-r--r--rtemsqual/tests/spec-interface/other2.yml2
-rw-r--r--rtemsqual/tests/spec-interface/other3.yml2
-rw-r--r--rtemsqual/tests/spec-interface/s.yml2
-rw-r--r--rtemsqual/tests/spec-interface/smp.yml2
-rw-r--r--rtemsqual/tests/spec-interface/stdint.yml2
-rw-r--r--rtemsqual/tests/spec-interface/td.yml2
-rw-r--r--rtemsqual/tests/spec-interface/td3.yml2
-rw-r--r--rtemsqual/tests/spec-interface/uint32_t.yml2
-rw-r--r--rtemsqual/tests/spec-validation/tc.yml2
-rw-r--r--rtemsqual/tests/spec-validation/tc2.yml2
-rw-r--r--rtemsqual/tests/spec-validation/tc3.yml2
-rw-r--r--rtemsqual/tests/spec-validation/tc4.yml2
-rw-r--r--rtemsqual/tests/spec-validation/tp.yml2
-rw-r--r--rtemsqual/tests/spec-validation/ts.yml2
-rw-r--r--rtemsqual/tests/test_content.py4
-rw-r--r--rtemsqual/tests/test_items_item.py9
67 files changed, 98 insertions, 89 deletions
diff --git a/rtemsqual/content.py b/rtemsqual/content.py
index 9404cc99..bd97e6c7 100644
--- a/rtemsqual/content.py
+++ b/rtemsqual/content.py
@@ -573,7 +573,7 @@ def _split_includes(
includes_unconditional = set() # type: Set[str]
includes_enabled_by = {} # type: Dict[str, Set[str]]
for inc in set(includes):
- if inc.enabled_by:
+ if inc.enabled_by and inc.enabled_by != "1":
try:
includes_unconditional.remove(inc.path)
except KeyError:
@@ -761,7 +761,12 @@ class ExpressionMapper:
""" Maps symbols and operations to form a C expression. """
# pylint: disable=no-self-use
- def map(self, symbol: str) -> str:
+ def map_bool(self, value: bool) -> str:
+ """ Maps a boolean value to build an expression. """
+ return str(int(value))
+
+ # pylint: disable=no-self-use
+ def map_symbol(self, symbol: str) -> str:
""" Maps a symbol to build an expression. """
return f"defined({symbol})"
@@ -782,7 +787,11 @@ class PythonExpressionMapper(ExpressionMapper):
""" Maps symbols and operations to form a Python expression. """
# pylint: disable=no-self-use
- def map(self, symbol: str) -> str:
+ def map_bool(self, value: bool) -> str:
+ return str(value)
+
+ # pylint: disable=no-self-use
+ def map_symbol(self, symbol: str) -> str:
return symbol
def op_and(self) -> str:
@@ -826,6 +835,8 @@ _TO_EXPRESSION_OP = {
def _to_expression(enabled_by: Any, mapper: ExpressionMapper) -> str:
+ if isinstance(enabled_by, bool):
+ return mapper.map_bool(enabled_by)
if isinstance(enabled_by, list):
return _to_expression_op_or(enabled_by, mapper)
if isinstance(enabled_by, dict):
@@ -833,7 +844,7 @@ def _to_expression(enabled_by: Any, mapper: ExpressionMapper) -> str:
key = next(iter(enabled_by))
return _TO_EXPRESSION_OP[key](enabled_by[key], mapper)
raise ValueError
- return mapper.map(enabled_by)
+ return mapper.map_symbol(enabled_by)
def enabled_by_to_exp(enabled_by: Any, mapper: ExpressionMapper) -> str:
diff --git a/rtemsqual/interface.py b/rtemsqual/interface.py
index b6e624b2..fe49bccb 100644
--- a/rtemsqual/interface.py
+++ b/rtemsqual/interface.py
@@ -94,7 +94,7 @@ class _InterfaceExpressionMapper(ExpressionMapper):
super().__init__()
self._mapper = mapper
- def map(self, symbol: str) -> str:
+ def map_symbol(self, symbol: str) -> str:
return self._mapper.substitute(symbol)
@@ -103,7 +103,7 @@ class _ItemLevelExpressionMapper(ExpressionMapper):
super().__init__()
self._mapper = mapper
- def map(self, symbol: str) -> str:
+ def map_symbol(self, symbol: str) -> str:
return self._mapper.substitute(
self._mapper.enabled_by_to_defined(symbol))
@@ -114,7 +114,7 @@ class _HeaderExpressionMapper(ExpressionMapper):
self._mapper = ItemMapper(item)
self._enabled_by_defined = enabled_by_defined
- def map(self, symbol: str) -> str:
+ def map_symbol(self, symbol: str) -> str:
return self._mapper.substitute(self._enabled_by_defined[symbol])
@@ -196,7 +196,7 @@ class Node:
def generate(self) -> None:
""" Generates a node to generate the node content. """
enabled_by = self.item["enabled-by"]
- if enabled_by:
+ if not isinstance(enabled_by, bool) or not enabled_by:
mapper = _ItemLevelExpressionMapper(self.mapper)
self.content.add(f"#if {enabled_by_to_exp(enabled_by, mapper)}")
with self.content.indent():
diff --git a/rtemsqual/items.py b/rtemsqual/items.py
index ccbe1e94..c8c5e626 100644
--- a/rtemsqual/items.py
+++ b/rtemsqual/items.py
@@ -44,10 +44,6 @@ def _is_enabled_op_and(enabled: List[str], enabled_by: Any) -> bool:
return True
-def _is_enabled_op_false(_enabled: List[str], _enabled_by: Any) -> bool:
- return False
-
-
def _is_enabled_op_not(enabled: List[str], enabled_by: Any) -> bool:
return not _is_enabled(enabled, enabled_by)
@@ -67,17 +63,14 @@ _IS_ENABLED_OP = {
def _is_enabled(enabled: List[str], enabled_by: Any) -> bool:
- if enabled_by:
- if isinstance(enabled_by, list):
- return _is_enabled_op_or(enabled, enabled_by)
- if isinstance(enabled_by, dict):
- if len(enabled_by) == 1:
- key = next(iter(enabled_by))
- return _IS_ENABLED_OP.get(key, _is_enabled_op_false)(
- enabled, enabled_by[key])
- return False
- return enabled_by in enabled
- return True
+ if isinstance(enabled_by, bool):
+ return enabled_by
+ if isinstance(enabled_by, list):
+ return _is_enabled_op_or(enabled, enabled_by)
+ if isinstance(enabled_by, dict):
+ key, value = next(iter(enabled_by.items()))
+ return _IS_ENABLED_OP[key](enabled, value)
+ return enabled_by in enabled
def _str_representer(dumper, data):
diff --git a/rtemsqual/tests/spec-applconfig/a.yml b/rtemsqual/tests/spec-applconfig/a.yml
index b6aa6c78..8965040b 100644
--- a/rtemsqual/tests/spec-applconfig/a.yml
+++ b/rtemsqual/tests/spec-applconfig/a.yml
@@ -8,7 +8,7 @@ appl-config-option-notes: notes a
appl-config-option-type: feature
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-type: appl-config-option
links:
- role: null
diff --git a/rtemsqual/tests/spec-applconfig/b.yml b/rtemsqual/tests/spec-applconfig/b.yml
index 29a901c1..9a7dac29 100644
--- a/rtemsqual/tests/spec-applconfig/b.yml
+++ b/rtemsqual/tests/spec-applconfig/b.yml
@@ -6,7 +6,7 @@ appl-config-option-notes: null
appl-config-option-type: feature-enable
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-type: appl-config-option
links:
- role: null
diff --git a/rtemsqual/tests/spec-applconfig/c.yml b/rtemsqual/tests/spec-applconfig/c.yml
index ab351588..5c900fe7 100644
--- a/rtemsqual/tests/spec-applconfig/c.yml
+++ b/rtemsqual/tests/spec-applconfig/c.yml
@@ -15,7 +15,7 @@ appl-config-option-notes: notes c
appl-config-option-type: integer
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-type: appl-config-option
links:
- role: null
diff --git a/rtemsqual/tests/spec-applconfig/d.yml b/rtemsqual/tests/spec-applconfig/d.yml
index 54058177..a5577f4b 100644
--- a/rtemsqual/tests/spec-applconfig/d.yml
+++ b/rtemsqual/tests/spec-applconfig/d.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
links: []
text: constraint d
type: constraint
diff --git a/rtemsqual/tests/spec-applconfig/e.yml b/rtemsqual/tests/spec-applconfig/e.yml
index 4d969b2a..1ab56c68 100644
--- a/rtemsqual/tests/spec-applconfig/e.yml
+++ b/rtemsqual/tests/spec-applconfig/e.yml
@@ -9,7 +9,7 @@ appl-config-option-notes: null
appl-config-option-type: integer
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-type: appl-config-option
links:
- role: null
diff --git a/rtemsqual/tests/spec-applconfig/f.yml b/rtemsqual/tests/spec-applconfig/f.yml
index 16b34ccd..abdf04fa 100644
--- a/rtemsqual/tests/spec-applconfig/f.yml
+++ b/rtemsqual/tests/spec-applconfig/f.yml
@@ -9,7 +9,7 @@ appl-config-option-notes: null
appl-config-option-type: integer
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-type: appl-config-option
links:
- role: null
diff --git a/rtemsqual/tests/spec-applconfig/g.yml b/rtemsqual/tests/spec-applconfig/g.yml
index e172ba1e..d5dfee2c 100644
--- a/rtemsqual/tests/spec-applconfig/g.yml
+++ b/rtemsqual/tests/spec-applconfig/g.yml
@@ -3,7 +3,7 @@ appl-config-group-description: description
appl-config-group-name: group name
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-type: appl-config-group
links: []
type: interface
diff --git a/rtemsqual/tests/spec-applconfig/h.yml b/rtemsqual/tests/spec-applconfig/h.yml
index 70cb9acd..5f38f3f9 100644
--- a/rtemsqual/tests/spec-applconfig/h.yml
+++ b/rtemsqual/tests/spec-applconfig/h.yml
@@ -10,7 +10,7 @@ appl-config-option-notes: null
appl-config-option-type: integer
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-type: appl-config-option
links:
- role: null
diff --git a/rtemsqual/tests/spec-applconfig/i.yml b/rtemsqual/tests/spec-applconfig/i.yml
index 3b7a3a55..c547748e 100644
--- a/rtemsqual/tests/spec-applconfig/i.yml
+++ b/rtemsqual/tests/spec-applconfig/i.yml
@@ -12,7 +12,7 @@ appl-config-option-notes: null
appl-config-option-type: integer
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-type: appl-config-option
links:
- role: null
diff --git a/rtemsqual/tests/spec-applconfig/j.yml b/rtemsqual/tests/spec-applconfig/j.yml
index 01a33660..b0a777a6 100644
--- a/rtemsqual/tests/spec-applconfig/j.yml
+++ b/rtemsqual/tests/spec-applconfig/j.yml
@@ -13,7 +13,7 @@ appl-config-option-notes: null
appl-config-option-type: integer
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-type: appl-config-option
links:
- role: null
diff --git a/rtemsqual/tests/spec-applconfig/k.yml b/rtemsqual/tests/spec-applconfig/k.yml
index a3345db5..3ed9fdf1 100644
--- a/rtemsqual/tests/spec-applconfig/k.yml
+++ b/rtemsqual/tests/spec-applconfig/k.yml
@@ -11,7 +11,7 @@ appl-config-option-notes: null
appl-config-option-type: integer
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-type: appl-config-option
links:
- role: null
diff --git a/rtemsqual/tests/spec-applconfig/l.yml b/rtemsqual/tests/spec-applconfig/l.yml
index f7489626..7a03358f 100644
--- a/rtemsqual/tests/spec-applconfig/l.yml
+++ b/rtemsqual/tests/spec-applconfig/l.yml
@@ -10,7 +10,7 @@ appl-config-option-notes: null
appl-config-option-type: initializer
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-type: appl-config-option
links:
- role: null
diff --git a/rtemsqual/tests/spec-applconfig/m.yml b/rtemsqual/tests/spec-applconfig/m.yml
index a5304a0f..985f4134 100644
--- a/rtemsqual/tests/spec-applconfig/m.yml
+++ b/rtemsqual/tests/spec-applconfig/m.yml
@@ -9,7 +9,7 @@ appl-config-option-notes: null
appl-config-option-type: initializer
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-type: appl-config-option
links:
- role: null
diff --git a/rtemsqual/tests/spec-build/bsp.yml b/rtemsqual/tests/spec-build/bsp.yml
index bfeecfeb..8e42c1b6 100644
--- a/rtemsqual/tests/spec-build/bsp.yml
+++ b/rtemsqual/tests/spec-build/bsp.yml
@@ -1,7 +1,7 @@
arch: foo
bsp: bar
build-type: bsp
-enabled-by: []
+enabled-by: true
install:
- source:
- abc
diff --git a/rtemsqual/tests/spec-build/bsp2.yml b/rtemsqual/tests/spec-build/bsp2.yml
index f87e741b..7488559f 100644
--- a/rtemsqual/tests/spec-build/bsp2.yml
+++ b/rtemsqual/tests/spec-build/bsp2.yml
@@ -1,7 +1,7 @@
arch: foo
bsp: bla
build-type: bsp
-enabled-by: []
+enabled-by: true
install:
- source:
- blub
diff --git a/rtemsqual/tests/spec-build/g.yml b/rtemsqual/tests/spec-build/g.yml
index 5c26899c..de26b4d5 100644
--- a/rtemsqual/tests/spec-build/g.yml
+++ b/rtemsqual/tests/spec-build/g.yml
@@ -1,5 +1,5 @@
build-type: group
-enabled-by: []
+enabled-by: true
install:
- source:
- ghi
diff --git a/rtemsqual/tests/spec-build/o.yml b/rtemsqual/tests/spec-build/o.yml
index 58cd4922..3b45d873 100644
--- a/rtemsqual/tests/spec-build/o.yml
+++ b/rtemsqual/tests/spec-build/o.yml
@@ -1,5 +1,5 @@
build-type: objects
-enabled-by: []
+enabled-by: true
install:
- source:
- jkl
diff --git a/rtemsqual/tests/spec-build/x.yml b/rtemsqual/tests/spec-build/x.yml
index 6415926b..26e98206 100644
--- a/rtemsqual/tests/spec-build/x.yml
+++ b/rtemsqual/tests/spec-build/x.yml
@@ -1,3 +1,3 @@
-enabled-by: []
+enabled-by: true
links: []
type: nix
diff --git a/rtemsqual/tests/spec-interface/asm.yml b/rtemsqual/tests/spec-interface/asm.yml
index 09beedf3..19d65c4c 100644
--- a/rtemsqual/tests/spec-interface/asm.yml
+++ b/rtemsqual/tests/spec-interface/asm.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-brief: null
interface-definition:
defaults: null
diff --git a/rtemsqual/tests/spec-interface/command-line.yml b/rtemsqual/tests/spec-interface/command-line.yml
index bef08882..1a8fa7d7 100644
--- a/rtemsqual/tests/spec-interface/command-line.yml
+++ b/rtemsqual/tests/spec-interface/command-line.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-domain: command-line
interface-type: command-line
links: []
diff --git a/rtemsqual/tests/spec-interface/define-a.yml b/rtemsqual/tests/spec-interface/define-a.yml
index ef01a02e..ee139de1 100644
--- a/rtemsqual/tests/spec-interface/define-a.yml
+++ b/rtemsqual/tests/spec-interface/define-a.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-brief: null
interface-definition:
default: ''
diff --git a/rtemsqual/tests/spec-interface/define-b.yml b/rtemsqual/tests/spec-interface/define-b.yml
index 2b3f4ff7..3a050bd2 100644
--- a/rtemsqual/tests/spec-interface/define-b.yml
+++ b/rtemsqual/tests/spec-interface/define-b.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-brief: null
interface-definition:
default: '1'
diff --git a/rtemsqual/tests/spec-interface/define-c.yml b/rtemsqual/tests/spec-interface/define-c.yml
index a7711053..b75dff8d 100644
--- a/rtemsqual/tests/spec-interface/define-c.yml
+++ b/rtemsqual/tests/spec-interface/define-c.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-brief: null
interface-definition:
default: '2'
diff --git a/rtemsqual/tests/spec-interface/define.yml b/rtemsqual/tests/spec-interface/define.yml
index 429552a3..bc9c1a93 100644
--- a/rtemsqual/tests/spec-interface/define.yml
+++ b/rtemsqual/tests/spec-interface/define.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-brief: null
interface-definition:
default: |
diff --git a/rtemsqual/tests/spec-interface/enum.yml b/rtemsqual/tests/spec-interface/enum.yml
index 948b836c..c5676d6a 100644
--- a/rtemsqual/tests/spec-interface/enum.yml
+++ b/rtemsqual/tests/spec-interface/enum.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-brief: Enum brief description.
interface-definition-kind: typedef-only
interface-description: Enum description.
diff --git a/rtemsqual/tests/spec-interface/enum2.yml b/rtemsqual/tests/spec-interface/enum2.yml
index 5eef43da..4536097b 100644
--- a/rtemsqual/tests/spec-interface/enum2.yml
+++ b/rtemsqual/tests/spec-interface/enum2.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-brief: Enum A brief description.
interface-definition-kind: enum-only
interface-description: null
diff --git a/rtemsqual/tests/spec-interface/enum3.yml b/rtemsqual/tests/spec-interface/enum3.yml
index d7d70ef9..e8972db1 100644
--- a/rtemsqual/tests/spec-interface/enum3.yml
+++ b/rtemsqual/tests/spec-interface/enum3.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-brief: Enum B brief description.
interface-definition-kind: typedef-and-enum
interface-description: null
diff --git a/rtemsqual/tests/spec-interface/enum4.yml b/rtemsqual/tests/spec-interface/enum4.yml
index 0458515f..5d3a5256 100644
--- a/rtemsqual/tests/spec-interface/enum4.yml
+++ b/rtemsqual/tests/spec-interface/enum4.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-brief: Enum C brief description.
interface-definition-kind: typedef-and-enum
interface-description: null
diff --git a/rtemsqual/tests/spec-interface/enumerator-0.yml b/rtemsqual/tests/spec-interface/enumerator-0.yml
index bda7f4f1..0cb2b42a 100644
--- a/rtemsqual/tests/spec-interface/enumerator-0.yml
+++ b/rtemsqual/tests/spec-interface/enumerator-0.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-brief: Enumerator 0 brief description.
interface-definition:
default: null
diff --git a/rtemsqual/tests/spec-interface/enumerator-1.yml b/rtemsqual/tests/spec-interface/enumerator-1.yml
index a15ade89..4efd22dc 100644
--- a/rtemsqual/tests/spec-interface/enumerator-1.yml
+++ b/rtemsqual/tests/spec-interface/enumerator-1.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-brief: Enumerator 1 brief description.
interface-definition:
default: null
diff --git a/rtemsqual/tests/spec-interface/enumerator-2.yml b/rtemsqual/tests/spec-interface/enumerator-2.yml
index 6dab682c..f015fad5 100644
--- a/rtemsqual/tests/spec-interface/enumerator-2.yml
+++ b/rtemsqual/tests/spec-interface/enumerator-2.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-brief: Enumerator 2 brief description.
interface-definition:
default: null
diff --git a/rtemsqual/tests/spec-interface/enumerator-a.yml b/rtemsqual/tests/spec-interface/enumerator-a.yml
index e6b6a293..b5f8fb0e 100644
--- a/rtemsqual/tests/spec-interface/enumerator-a.yml
+++ b/rtemsqual/tests/spec-interface/enumerator-a.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-brief: Enumerator A brief description.
interface-definition:
default: '17'
diff --git a/rtemsqual/tests/spec-interface/enumerator-b.yml b/rtemsqual/tests/spec-interface/enumerator-b.yml
index 334b18d5..618e89b1 100644
--- a/rtemsqual/tests/spec-interface/enumerator-b.yml
+++ b/rtemsqual/tests/spec-interface/enumerator-b.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-brief: Enumerator B brief description.
interface-definition:
default: ${enumerator-a:/interface-name}
diff --git a/rtemsqual/tests/spec-interface/float_t.yml b/rtemsqual/tests/spec-interface/float_t.yml
index f4b4a2cc..b0620009 100644
--- a/rtemsqual/tests/spec-interface/float_t.yml
+++ b/rtemsqual/tests/spec-interface/float_t.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-name: float_t
interface-type: typedef
links:
diff --git a/rtemsqual/tests/spec-interface/forward-decl.yml b/rtemsqual/tests/spec-interface/forward-decl.yml
index 3a7b8733..58d24125 100644
--- a/rtemsqual/tests/spec-interface/forward-decl.yml
+++ b/rtemsqual/tests/spec-interface/forward-decl.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-target: s
interface-type: forward-declaration
links:
diff --git a/rtemsqual/tests/spec-interface/func.yml b/rtemsqual/tests/spec-interface/func.yml
index b8ef0dc1..016f6db6 100644
--- a/rtemsqual/tests/spec-interface/func.yml
+++ b/rtemsqual/tests/spec-interface/func.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-brief: Function brief description.
interface-definition:
default:
diff --git a/rtemsqual/tests/spec-interface/func2.yml b/rtemsqual/tests/spec-interface/func2.yml
index cc3fbf0f..63258909 100644
--- a/rtemsqual/tests/spec-interface/func2.yml
+++ b/rtemsqual/tests/spec-interface/func2.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-brief: Very long function brief description.
interface-definition:
default:
diff --git a/rtemsqual/tests/spec-interface/func3.yml b/rtemsqual/tests/spec-interface/func3.yml
index 251f813c..bc751d65 100644
--- a/rtemsqual/tests/spec-interface/func3.yml
+++ b/rtemsqual/tests/spec-interface/func3.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-brief: Void function brief description.
interface-definition:
default:
diff --git a/rtemsqual/tests/spec-interface/func4.yml b/rtemsqual/tests/spec-interface/func4.yml
index f138d948..37bca013 100644
--- a/rtemsqual/tests/spec-interface/func4.yml
+++ b/rtemsqual/tests/spec-interface/func4.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-brief: Void function brief description with very long return type.
interface-definition:
default:
diff --git a/rtemsqual/tests/spec-interface/ga.yml b/rtemsqual/tests/spec-interface/ga.yml
index 2b8f1011..b5c72559 100644
--- a/rtemsqual/tests/spec-interface/ga.yml
+++ b/rtemsqual/tests/spec-interface/ga.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
group-brief: Group A brief description.
group-description: Group A description.
group-identifier: GroupA
diff --git a/rtemsqual/tests/spec-interface/gb.yml b/rtemsqual/tests/spec-interface/gb.yml
index 1b05ec15..dd8f5412 100644
--- a/rtemsqual/tests/spec-interface/gb.yml
+++ b/rtemsqual/tests/spec-interface/gb.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
group-brief: null
group-description: null
group-identifier: GroupB
diff --git a/rtemsqual/tests/spec-interface/gc.yml b/rtemsqual/tests/spec-interface/gc.yml
index f79c5017..d5b090f7 100644
--- a/rtemsqual/tests/spec-interface/gc.yml
+++ b/rtemsqual/tests/spec-interface/gc.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
group-brief: Group C brief description.
group-description: Group C description.
group-identifier: GroupC
diff --git a/rtemsqual/tests/spec-interface/h3.yml b/rtemsqual/tests/spec-interface/h3.yml
index aaf652dc..fb5d0435 100644
--- a/rtemsqual/tests/spec-interface/h3.yml
+++ b/rtemsqual/tests/spec-interface/h3.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-domain: abc
interface-path: h3.h
interface-prefix: include
diff --git a/rtemsqual/tests/spec-interface/h4.yml b/rtemsqual/tests/spec-interface/h4.yml
index 307a7708..47301dcd 100644
--- a/rtemsqual/tests/spec-interface/h4.yml
+++ b/rtemsqual/tests/spec-interface/h4.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-domain: abc
interface-path: h4.h
interface-prefix: include
diff --git a/rtemsqual/tests/spec-interface/macro.yml b/rtemsqual/tests/spec-interface/macro.yml
index cbba3406..1d49c659 100644
--- a/rtemsqual/tests/spec-interface/macro.yml
+++ b/rtemsqual/tests/spec-interface/macro.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-brief: Very long macro brief description.
interface-definition:
default: |
diff --git a/rtemsqual/tests/spec-interface/macro2.yml b/rtemsqual/tests/spec-interface/macro2.yml
index 5dd64c3b..b59dd03d 100644
--- a/rtemsqual/tests/spec-interface/macro2.yml
+++ b/rtemsqual/tests/spec-interface/macro2.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-brief: Short macro brief description.
interface-definition:
default: |
diff --git a/rtemsqual/tests/spec-interface/math.yml b/rtemsqual/tests/spec-interface/math.yml
index 1d636707..fbb9cdbb 100644
--- a/rtemsqual/tests/spec-interface/math.yml
+++ b/rtemsqual/tests/spec-interface/math.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-domain: c
interface-path: math.h
interface-prefix: null
diff --git a/rtemsqual/tests/spec-interface/other.yml b/rtemsqual/tests/spec-interface/other.yml
index db4a0ea0..02b17731 100644
--- a/rtemsqual/tests/spec-interface/other.yml
+++ b/rtemsqual/tests/spec-interface/other.yml
@@ -1,5 +1,5 @@
comment: Some comment.
-enabled-by: []
+enabled-by: true
links:
- role: other
uid: h
diff --git a/rtemsqual/tests/spec-interface/other2.yml b/rtemsqual/tests/spec-interface/other2.yml
index ce9e0104..2678ce82 100644
--- a/rtemsqual/tests/spec-interface/other2.yml
+++ b/rtemsqual/tests/spec-interface/other2.yml
@@ -1,3 +1,3 @@
-enabled-by: []
+enabled-by: true
links: []
type: other
diff --git a/rtemsqual/tests/spec-interface/other3.yml b/rtemsqual/tests/spec-interface/other3.yml
index ce9e0104..2678ce82 100644
--- a/rtemsqual/tests/spec-interface/other3.yml
+++ b/rtemsqual/tests/spec-interface/other3.yml
@@ -1,3 +1,3 @@
-enabled-by: []
+enabled-by: true
links: []
type: other
diff --git a/rtemsqual/tests/spec-interface/s.yml b/rtemsqual/tests/spec-interface/s.yml
index 675a17ed..27812ac4 100644
--- a/rtemsqual/tests/spec-interface/s.yml
+++ b/rtemsqual/tests/spec-interface/s.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-brief: null
interface-definition:
- default:
diff --git a/rtemsqual/tests/spec-interface/smp.yml b/rtemsqual/tests/spec-interface/smp.yml
index dc897444..56137171 100644
--- a/rtemsqual/tests/spec-interface/smp.yml
+++ b/rtemsqual/tests/spec-interface/smp.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-name: RTEMS_SMP
interface-type: define
links:
diff --git a/rtemsqual/tests/spec-interface/stdint.yml b/rtemsqual/tests/spec-interface/stdint.yml
index 6fe610ba..cc587330 100644
--- a/rtemsqual/tests/spec-interface/stdint.yml
+++ b/rtemsqual/tests/spec-interface/stdint.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-domain: c
interface-path: stdint.h
interface-prefix: null
diff --git a/rtemsqual/tests/spec-interface/td.yml b/rtemsqual/tests/spec-interface/td.yml
index 25398039..37ee4dae 100644
--- a/rtemsqual/tests/spec-interface/td.yml
+++ b/rtemsqual/tests/spec-interface/td.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-brief: Typedef Integer brief description.
interface-definition:
default: |
diff --git a/rtemsqual/tests/spec-interface/td3.yml b/rtemsqual/tests/spec-interface/td3.yml
index efbe3902..85e864a2 100644
--- a/rtemsqual/tests/spec-interface/td3.yml
+++ b/rtemsqual/tests/spec-interface/td3.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-brief: null
interface-definition:
default: null
diff --git a/rtemsqual/tests/spec-interface/uint32_t.yml b/rtemsqual/tests/spec-interface/uint32_t.yml
index 79c2084c..0777f743 100644
--- a/rtemsqual/tests/spec-interface/uint32_t.yml
+++ b/rtemsqual/tests/spec-interface/uint32_t.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
interface-name: uint32_t
interface-type: typedef
links:
diff --git a/rtemsqual/tests/spec-validation/tc.yml b/rtemsqual/tests/spec-validation/tc.yml
index c75dd5af..fc537a52 100644
--- a/rtemsqual/tests/spec-validation/tc.yml
+++ b/rtemsqual/tests/spec-validation/tc.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
includes:
- a.h
links: []
diff --git a/rtemsqual/tests/spec-validation/tc2.yml b/rtemsqual/tests/spec-validation/tc2.yml
index 9ea9a25c..ae4656aa 100644
--- a/rtemsqual/tests/spec-validation/tc2.yml
+++ b/rtemsqual/tests/spec-validation/tc2.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
includes:
- b.h
links: []
diff --git a/rtemsqual/tests/spec-validation/tc3.yml b/rtemsqual/tests/spec-validation/tc3.yml
index 05291cd9..da79ad0e 100644
--- a/rtemsqual/tests/spec-validation/tc3.yml
+++ b/rtemsqual/tests/spec-validation/tc3.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
includes:
- c.h
links: []
diff --git a/rtemsqual/tests/spec-validation/tc4.yml b/rtemsqual/tests/spec-validation/tc4.yml
index 5ef39bea..b9375b56 100644
--- a/rtemsqual/tests/spec-validation/tc4.yml
+++ b/rtemsqual/tests/spec-validation/tc4.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
includes: []
links: []
local-includes: []
diff --git a/rtemsqual/tests/spec-validation/tp.yml b/rtemsqual/tests/spec-validation/tp.yml
index 5a036469..65d05b73 100644
--- a/rtemsqual/tests/spec-validation/tp.yml
+++ b/rtemsqual/tests/spec-validation/tp.yml
@@ -1,5 +1,5 @@
build-type: test-program
-enabled-by: []
+enabled-by: true
links: []
source:
- tc12.c
diff --git a/rtemsqual/tests/spec-validation/ts.yml b/rtemsqual/tests/spec-validation/ts.yml
index 0a78ba48..0fbff40b 100644
--- a/rtemsqual/tests/spec-validation/ts.yml
+++ b/rtemsqual/tests/spec-validation/ts.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: []
+enabled-by: true
includes:
- blue.h
links: []
diff --git a/rtemsqual/tests/test_content.py b/rtemsqual/tests/test_content.py
index 3eafd6b2..29125018 100644
--- a/rtemsqual/tests/test_content.py
+++ b/rtemsqual/tests/test_content.py
@@ -184,6 +184,8 @@ def to_c_exp(enabled_by):
def test_enabled_by_to_exp():
+ assert to_c_exp(True) == "1"
+ assert to_c_exp(False) == "0"
assert to_c_exp([]) == ""
assert to_c_exp(["A"]) == "defined(A)"
assert to_c_exp(["B"]) == "defined(B)"
@@ -221,6 +223,8 @@ def to_python_exp(enabled_by):
def test_enabled_by_to_python_exp():
+ assert to_python_exp(True) == "True"
+ assert to_python_exp(False) == "False"
assert to_python_exp([]) == ""
assert to_python_exp(["A"]) == "A"
assert to_python_exp(["B"]) == "B"
diff --git a/rtemsqual/tests/test_items_item.py b/rtemsqual/tests/test_items_item.py
index 45c77e2b..43da3a8b 100644
--- a/rtemsqual/tests/test_items_item.py
+++ b/rtemsqual/tests/test_items_item.py
@@ -126,8 +126,9 @@ def _is_enabled(enabled, enabled_by):
def test_is_enabled():
- assert _is_enabled([], None)
- assert _is_enabled([], [])
+ assert _is_enabled([], True)
+ assert not _is_enabled([], False)
+ assert not _is_enabled([], [])
assert not _is_enabled([], ["A"])
assert _is_enabled(["A"], "A")
assert not _is_enabled(["B"], "A")
@@ -143,8 +144,8 @@ def test_is_enabled():
assert _is_enabled(["A", "B", "C"], {"and": ["A", "B"]})
assert _is_enabled(["A", "B"], {"and": ["A", "B", {"not": "C"}]})
assert not _is_enabled(["A", "B", "C"], {"and": ["A", "B", {"not": "C"}]})
- assert not _is_enabled(["A"], {"and": "A", "x": "y"})
- assert not _is_enabled(["A"], {"x": "A"})
+ with pytest.raises(KeyError):
+ _is_enabled(["A"], {"x": "A"})
assert _is_enabled([], {"not": {"and": ["A", {"not": "A"}]}})