diff options
Diffstat (limited to 'rtemsspec')
-rw-r--r-- | rtemsspec/content.py | 2 | ||||
-rw-r--r-- | rtemsspec/tests/test_content_c.py | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/rtemsspec/content.py b/rtemsspec/content.py index cfef89c6..3a25b7ec 100644 --- a/rtemsspec/content.py +++ b/rtemsspec/content.py @@ -477,7 +477,7 @@ def _split_includes( includes: List[CInclude]) -> Tuple[Set[str], Dict[str, Set[str]]]: includes_unconditional = set() # type: Set[str] includes_enabled_by = {} # type: Dict[str, Set[str]] - for inc in set(includes): + for inc in list(dict.fromkeys(includes)): if inc.enabled_by and inc.enabled_by != "1": try: includes_unconditional.remove(inc.path) diff --git a/rtemsspec/tests/test_content_c.py b/rtemsspec/tests/test_content_c.py index 5367826a..15564d24 100644 --- a/rtemsspec/tests/test_content_c.py +++ b/rtemsspec/tests/test_content_c.py @@ -159,6 +159,14 @@ def test_add_includes(): #include <a> #endif """ + content = CContent() + content.add_includes([CInclude("a", "X"), CInclude("b")]) + assert str(content) == """#include <b> + +#if X + #include <a> +#endif +""" def test_comment_block(): |