diff --git a/docs/cli.md b/docs/cli.md index eb3dd70..d79dbd6 100644 --- a/docs/cli.md +++ b/docs/cli.md @@ -623,8 +623,8 @@ profiles/lines.vectors.json the vectors: {"feature": ..., "cases": [...]} ``` The vectors file and the profile are in the conformance corpus's case -format, a public spec (version 0.1, early days), documented in -ComlineProject/runtime's `runtime/conformance/README.md`. Every case in the +format, a public spec (early days, versioned in its `VERSION`), documented in +ComlineProject/specification's README. Every case in the file is run, and each profile fact's `proven_by` names cases in it. The implementation is a process speaking the conformance **ops protocol**, @@ -658,17 +658,17 @@ unproven fact makes the exit code `1`. - `--impl `: the implementation. - `--encoding `: only this encoding (repeatable). Default: every encoding the package declares. -- `--corpus `: run a corpus laid out like ComlineProject/runtime's - `runtime/conformance` (`profiles/.json`, `vectors/*.json`) instead - of the package's declarations: the official encodings (`packed@1`, - `datagram@2`, ...), whose vectors live there. Each encoding runs every +- `--corpus `: run a copy of ComlineProject/specification + (`profiles/.json`, `vectors/*.json`) instead of the package's + declarations: the official encodings (`packed@1`, `datagram@2`, ...), + whose vectors live there. Each encoding runs every case of the features its profile's facts name. - `--timeout `: how long the implementation may take for all the cases together. ```bash comline conformance --impl ./target/release/acme-lines-conformance -comline conformance --impl comline-reference --corpus ../runtime/runtime/conformance --encoding packed@1 +comline conformance --impl comline-reference --corpus ../specification --encoding packed@1 ``` ### `comline clean` diff --git a/src/cli.rs b/src/cli.rs index 6c3dfa5..7fe0627 100644 --- a/src/cli.rs +++ b/src/cli.rs @@ -460,14 +460,13 @@ proven and which cases failed, with byte diffs; the exit code is 1 on any \ failure. `--json` prints the same report as JSON on stdout instead \ (`format`, `implementation`, `encodings`, `totals`, `verdict`). -`--corpus` runs a corpus laid out like ComlineProject/runtime's \ -`runtime/conformance` (`profiles/`, `vectors/`) instead, for the official \ -encodings. +`--corpus` runs a copy of ComlineProject/specification (`profiles/`, \ +`vectors/`) instead, for the official encodings. Examples: comline conformance --impl ./target/release/acme-lines-conformance comline conformance --impl \"node conformance.js\" --encoding com.acme.lines@1 - comline conformance --impl comline-reference --corpus runtime/conformance --encoding packed@1 + comline conformance --impl comline-reference --corpus specification --encoding packed@1 comline conformance --impl ./target/release/acme-lines-conformance --json")] Conformance { /// The implementation's command line: a program and its arguments, split on whitespace diff --git a/src/commands/conformance.rs b/src/commands/conformance.rs index 1a27ca2..d53360b 100644 --- a/src/commands/conformance.rs +++ b/src/commands/conformance.rs @@ -7,12 +7,12 @@ //! beside the profile, at `profiles/lines.vectors.json`: the profile's path //! with `.json` replaced by `.vectors.json`. The file is a corpus vectors //! file (`{"feature": ..., "cases": [...]}`), in the conformance spec's case -//! format (ComlineProject/runtime `runtime/conformance/README.md`). Every +//! format (ComlineProject/specification's README). Every //! case in it is run, and the profile's `proven_by` names cases in it. //! //! **The official encodings** (`packed@1`, ...) aren't declared by a package -//! and their vectors live in the runtime's corpus: `--corpus ` runs a -//! corpus laid out like `runtime/conformance` (`profiles/.json`, +//! and their vectors live in the specification: `--corpus ` runs a +//! copy of ComlineProject/specification (`profiles/.json`, //! `vectors/*.json`) instead of the package's declarations. //! //! **The implementation** is a process speaking the ops protocol, as @@ -417,7 +417,7 @@ fn from_package(work_dir: &Path, names: &[String]) -> Result> { if declared.is_empty() { return Err(miette!( "the package declares no encodings (`encodings` in config.idp); to run an official \ - encoding's vectors, pass `--corpus `" + encoding's vectors, pass `--corpus `" )); } declared @@ -425,8 +425,8 @@ fn from_package(work_dir: &Path, names: &[String]) -> Result> { for n in names { if !declared.contains(n) { let hint = if comline_core::encodings::is_bare(n) { - "; an official encoding's vectors are in the runtime's corpus: pass \ - `--corpus `" + "; an official encoding's vectors are in the specification: pass \ + `--corpus `" } else { "" };