Repository navigation
Hold the runtime's names to the specification's catalog - #116
Merged
Merged
Conversation
Re-vendors the specification at 69d8832, which ships the catalog as the comline-catalog crate (spec/rust). The conformance crate depends on it by path, so it is always the revision spec/REV pins: - each typed fact value enum carries its catalog id (FACT) and ALL, and facts_are_the_catalogs holds the typed facts, their values in order, and every official profile's stated facts to the catalog; - Fact::name returns the catalog ids. comline-runtime keeps its wire-name constants as literals, so it depends on nothing for them; tests/catalog.rs (a dev-dependency) holds each to the catalog and checks every official encoding has one.
11 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stage 3 of the ComlineProject/core#219 rollout, part 1: the runtime's names checked against the catalog.
69d8832. That version includes thecomline-catalogcrate (specification#2) atspec/rust. Its only other change is the crate's docs.comline-catalogis a path dependency onspec/rust, so it is always the revisionspec/REVpins, and it builds without fetching. That makes "the crate and the vendored spec move together" hold by construction instead of needing a CI check. It joins the workspace as a member.fact_values!enums now carry their catalog id (FACT) and anALLlist, andFact::namereturns the catalog ids.facts_are_the_catalogsrequires the typed facts to be exactly the catalog's, each enum's values to be the catalog's in order, and every official profile to state exactly its kind's catalog facts.Callsfails the test.comline-runtime:tests/catalog.rs, through a dev-dependency, holds each constant to the catalog (value and kind), and checks that every official encoding has one.Tested locally:
vendor-spec.sh --checkandcheck.shpass.no_stdcore build both build.Next, part 2: one list of fuzz targets, held against the fuzz
Cargo.toml,fuzz.ymland the README.