summaryrefslogtreecommitdiff
path: root/rtemsspec/tests/test_items_itemcache.py
diff options
context:
space:
mode:
Diffstat (limited to 'rtemsspec/tests/test_items_itemcache.py')
-rw-r--r--rtemsspec/tests/test_items_itemcache.py20
1 files changed, 16 insertions, 4 deletions
diff --git a/rtemsspec/tests/test_items_itemcache.py b/rtemsspec/tests/test_items_itemcache.py
index 07cec0bf..ff75db12 100644
--- a/rtemsspec/tests/test_items_itemcache.py
+++ b/rtemsspec/tests/test_items_itemcache.py
@@ -64,7 +64,7 @@ def test_load(tmpdir):
assert p.map("/p") == p
assert p.map("p") == p
a = item_cache.all
- assert len(a) == 2
+ assert len(a) == 7
assert a["/p"]["v"] == "p"
assert a["/d/c"]["v"] == "c"
item_cache.set_enabled([])
@@ -125,7 +125,11 @@ def get_value_dict(ctx):
def test_item_mapper(tmpdir):
- config = create_item_cache_config_and_copy_spec(tmpdir, "spec-item-cache")
+ config = create_item_cache_config_and_copy_spec(tmpdir,
+ "spec-item-cache",
+ with_spec_types=True)
+ config["enabled"] = ["foobar"]
+ config["resolve-proxies"] = True
item_cache = ItemCache(config)
item = item_cache["/p"]
base_mapper = ItemMapper(item)
@@ -146,10 +150,18 @@ def test_item_mapper(tmpdir):
with mapper.prefix("y"):
assert mapper[".:."] == "z"
assert mapper["."] == "/p"
+ match = r"cannot get value for '/v' of spec:/proxy specified by 'proxy:/v"
+ with pytest.raises(ValueError, match=match):
+ mapper["proxy:/v"]
+ assert not item_cache["/proxy"].resolved_proxy
+ assert item_cache["/proxy2"].resolved_proxy
+ assert not item_cache["/r"].resolved_proxy
+ assert mapper["proxy2:/v"] == "s"
+ assert item_cache["/r"].child("xyz").uid == "/s"
assert mapper["d/c"] == "/d/c"
assert mapper["d/c:v"] == "c"
assert mapper["d/c:a/b"] == "e"
- mapper.add_get_value(":/a/x-to-b", get_x_to_b_value)
+ mapper.add_get_value("other:/a/x-to-b", get_x_to_b_value)
assert mapper["d/c:a/x-to-b:args:0:%"] == "eargs:0:%"
assert mapper["d/c:a/f[1]"] == 2
assert mapper["d/c:a/../a/f[3]/g[0]"] == 4
@@ -157,7 +169,7 @@ def test_item_mapper(tmpdir):
assert item_3 == item
assert key_path_3 == "/v"
assert value_3 == "p"
- mapper.add_get_value_dictionary(":/dict", get_value_dict)
+ mapper.add_get_value_dictionary("other:/dict", get_value_dict)
assert mapper["d/c:/dict/some-arbitrary-key"] == "some-arbitrary-key"
recursive_mapper = ItemMapper(item, recursive=True)
assert recursive_mapper.substitute("${.:/r1/r2/r3}") == "foobar"