diff options
Diffstat (limited to 'rtemsqual')
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"}]}}) |