[rtems-central commit] validation: Improve no states error message
Sebastian Huber
sebh at rtems.org
Wed Feb 3 12:38:18 UTC 2021
Module: rtems-central
Branch: master
Commit: 5a1eea68d929cb2cacc714369bb4c60a25bdfac0
Changeset: http://git.rtems.org/rtems-central/commit/?id=5a1eea68d929cb2cacc714369bb4c60a25bdfac0
Author: Sebastian Huber <sebastian.huber at embedded-brains.de>
Date: Wed Feb 3 11:19:04 2021 +0100
validation: Improve no states error message
---
rtemsspec/tests/test_validation.py | 13 +++++++++++++
rtemsspec/validation.py | 4 +++-
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/rtemsspec/tests/test_validation.py b/rtemsspec/tests/test_validation.py
index 9abc9da..d0c74e1 100644
--- a/rtemsspec/tests/test_validation.py
+++ b/rtemsspec/tests/test_validation.py
@@ -2076,3 +2076,16 @@ def test_validation_invalid_actions():
"item of type 'build/test-program'")
with pytest.raises(ValueError, match=match):
generate(validation_config, item_cache)
+ test_program_data = {
+ "SPDX-License-Identifier": spdx,
+ "copyrights": [copyright],
+ "build-type": "test-program",
+ "enabled-by": True,
+ "links": [],
+ "source": ["a.c"],
+ "type": "build",
+ }
+ _add_item(item_cache, "/tp", test_program_data, "build/test-program")
+ match = "pre-condition 'A' of spec:/a has no states"
+ with pytest.raises(ValueError, match=match):
+ generate(validation_config, item_cache)
diff --git a/rtemsspec/validation.py b/rtemsspec/validation.py
index 6515ca2..fda72b8 100644
--- a/rtemsspec/validation.py
+++ b/rtemsspec/validation.py
@@ -531,7 +531,9 @@ class _ActionRequirementTestItem(_TestItem):
transition_count = 1
for condition in self["pre-conditions"]:
state_count = len(condition["states"])
- assert state_count > 0
+ if state_count == 0:
+ raise ValueError(f"pre-condition '{condition['name']}' of "
+ f"{self.item.spec} has no states")
transition_count *= state_count
transition_map = [list() for _ in range(transition_count)
] # type: _TransitionMap
More information about the vc
mailing list