Fix remaining references to cargo xtask codegen

This commit is contained in:
Lukas Wirth 2021-03-12 15:10:33 +01:00
parent c0e9530fd0
commit ebf4448f78
5 changed files with 7 additions and 7 deletions

View file

@ -18,7 +18,7 @@
//! // fn foo() {} //! // fn foo() {}
//! ``` //! ```
//! //!
//! After adding a new inline-test, run `cargo xtask codegen` to //! After adding a new inline-test, run `cargo test -p xtask` to
//! extract it as a standalone text-fixture into //! extract it as a standalone text-fixture into
//! `crates/syntax/test_data/parser/`, and run `cargo test` once to //! `crates/syntax/test_data/parser/`, and run `cargo test` once to
//! create the "gold" value. //! create the "gold" value.

View file

@ -97,13 +97,13 @@ See [RFC](https://github.com/rust-lang/rfcs/pull/2256) and [./syntax.md](./synta
- [rowan](https://github.com/rust-analyzer/rowan) library is used for constructing syntax trees. - [rowan](https://github.com/rust-analyzer/rowan) library is used for constructing syntax trees.
- `ast` provides a type safe API on top of the raw `rowan` tree. - `ast` provides a type safe API on top of the raw `rowan` tree.
- `ungrammar` description of the grammar, which is used to generate `syntax_kinds` and `ast` modules, using `cargo xtask codegen` command. - `ungrammar` description of the grammar, which is used to generate `syntax_kinds` and `ast` modules, using `cargo test -p xtask` command.
Tests for ra_syntax are mostly data-driven. Tests for ra_syntax are mostly data-driven.
`test_data/parser` contains subdirectories with a bunch of `.rs` (test vectors) and `.txt` files with corresponding syntax trees. `test_data/parser` contains subdirectories with a bunch of `.rs` (test vectors) and `.txt` files with corresponding syntax trees.
During testing, we check `.rs` against `.txt`. During testing, we check `.rs` against `.txt`.
If the `.txt` file is missing, it is created (this is how you update tests). If the `.txt` file is missing, it is created (this is how you update tests).
Additionally, running `cargo xtask codegen` will walk the grammar module and collect all `// test test_name` comments into files inside `test_data/parser/inline` directory. Additionally, running the xtask test suite with `cargo test -p xtask` will walk the grammar module and collect all `// test test_name` comments into files inside `test_data/parser/inline` directory.
To update test data, run with `UPDATE_EXPECT` variable: To update test data, run with `UPDATE_EXPECT` variable:
@ -111,7 +111,7 @@ To update test data, run with `UPDATE_EXPECT` variable:
env UPDATE_EXPECT=1 cargo qt env UPDATE_EXPECT=1 cargo qt
``` ```
After adding a new inline test you need to run `cargo xtest codegen` and also update the test data as described above. After adding a new inline test you need to run `cargo test -p xtask` and also update the test data as described above.
Note [`api_walkthrough`](https://github.com/rust-analyzer/rust-analyzer/blob/2fb6af89eb794f775de60b82afe56b6f986c2a40/crates/ra_syntax/src/lib.rs#L190-L348) Note [`api_walkthrough`](https://github.com/rust-analyzer/rust-analyzer/blob/2fb6af89eb794f775de60b82afe56b6f986c2a40/crates/ra_syntax/src/lib.rs#L190-L348)
in particular: it shows off various methods of working with syntax tree. in particular: it shows off various methods of working with syntax tree.

View file

@ -19,7 +19,7 @@ The LSP allows various code editors, like VS Code, Emacs or Vim, to implement se
To improve this document, send a pull request: + To improve this document, send a pull request: +
https://github.com/rust-analyzer/rust-analyzer/blob/master/docs/user/manual.adoc[https://github.com/rust-analyzer/.../manual.adoc] https://github.com/rust-analyzer/rust-analyzer/blob/master/docs/user/manual.adoc[https://github.com/rust-analyzer/.../manual.adoc]
The manual is written in https://asciidoc.org[AsciiDoc] and includes some extra files which are generated from the source code. Run `cargo test` and `cargo xtask codegen` to create these and then `asciidoctor manual.adoc` to create an HTML copy. The manual is written in https://asciidoc.org[AsciiDoc] and includes some extra files which are generated from the source code. Run `cargo test` and `cargo test -p xtask` to create these and then `asciidoctor manual.adoc` to create an HTML copy.
==== ====

View file

@ -62,7 +62,7 @@ pub(crate) fn ensure_file_contents(file: &Path, contents: &str) -> Result<()> {
let _ = std::fs::create_dir_all(parent); let _ = std::fs::create_dir_all(parent);
} }
std::fs::write(file, contents).unwrap(); std::fs::write(file, contents).unwrap();
anyhow::bail!("some file were not up to date") anyhow::bail!("some file was not up to date and has been updated, simply re-run the tests")
} }
fn normalize_newlines(s: &str) -> String { fn normalize_newlines(s: &str) -> String {

View file

@ -1,7 +1,7 @@
//! See https://github.com/matklad/cargo-xtask/. //! See https://github.com/matklad/cargo-xtask/.
//! //!
//! This binary defines various auxiliary build commands, which are not //! This binary defines various auxiliary build commands, which are not
//! expressible with just `cargo`. Notably, it provides `cargo xtask codegen` //! expressible with just `cargo`. Notably, it provides tests via `cargo test -p xtask`
//! for code generation and `cargo xtask install` for installation of //! for code generation and `cargo xtask install` for installation of
//! rust-analyzer server and client. //! rust-analyzer server and client.
//! //!