Closed hannesm closed 2 years ago
revised API again (of vmm_trie), added some tests (now discovered that all/collect/fold can't work well due to information lost at insert (a Name.t with an empty name (= None) "foo:bar:" is encoded the same as "foo:bar" in the trie). need to think about this a bit more, esp. what is in the trie and how to expose it... eventually store a '(a * bool) option
with the bool
indicating whether it is a path or a name...
This is finally ready, including test cases for name/vmm_trie and vmm_resources (in addition to the asn.1 decoding tests to ensure older clients are supported by newer servers).
@reynir if you could have a brief look, that'd be great (I suggest https://github.com/roburio/albatross/pull/111/files?w=1 to ignore whitestpace changes). I added the bisect_ppx runes to src/dune to measure the test coverage, esp. in vmm_trie and vmm_resources (and am satisfied with the result). I also suggest a squash & merge since intermediate states are not important.
Cool! I think this looks very good now. Thanks!
For future reference: this migration worked smoothly, although the block device naming was broken (robur.tlstunnel vs robur:tlstunnel) and I had to move them manually.
This looks overall promising. Left to do:
revise vmm_trie signature (remove the insert_path/remove_path/find_path again)some vmm_trie tests (to avoid other issues like the fold one in 2c6081b4a45e6c01edb1d488afdb8a4b59ade232)also some vmm_resources tests (maybe with the original issue)