diff options
| author | Alona Enraght-Moony <code@alona.page> | 2024-08-31 22:08:38 +0000 |
|---|---|---|
| committer | Alona Enraght-Moony <code@alona.page> | 2024-08-31 22:08:38 +0000 |
| commit | f78979e687a3105f33be30f94a597ae9f5a18f4d (patch) | |
| tree | da7c88f25161560d5460d160f8083fb2a85cadd7 | |
| parent | d571ae851d93541bef826c3c48c1e9ad99da77d6 (diff) | |
| download | rust-f78979e687a3105f33be30f94a597ae9f5a18f4d.tar.gz rust-f78979e687a3105f33be30f94a597ae9f5a18f4d.zip | |
Actually parse stdout json, instead of using hacky contains logic.
| -rw-r--r-- | tests/run-make/rustdoc-output-stdout/rmake.rs | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/tests/run-make/rustdoc-output-stdout/rmake.rs b/tests/run-make/rustdoc-output-stdout/rmake.rs index dbc9892f3f5..bcf5e4d9723 100644 --- a/tests/run-make/rustdoc-output-stdout/rmake.rs +++ b/tests/run-make/rustdoc-output-stdout/rmake.rs @@ -4,17 +4,28 @@ use std::path::PathBuf; use run_make_support::path_helpers::{cwd, has_extension, read_dir_entries_recursive}; -use run_make_support::rustdoc; +use run_make_support::{rustdoc, serde_json}; fn main() { - // First we check that we generate the JSON in the stdout. - rustdoc() + let json_string = rustdoc() .input("foo.rs") .out_dir("-") .arg("-Zunstable-options") .output_format("json") .run() - .assert_stdout_contains("{\""); + .stdout_utf8(); + + // First we check that we generate the JSON in the stdout. + let json_value: serde_json::Value = + serde_json::from_str(&json_string).expect("stdout should be valid json"); + + // We don't care to test the specifics of the JSON, as that's done + // elsewhere, just check that it has a format_version (as all JSON output + // should). + let format_version = json_value["format_version"] + .as_i64() + .expect("json output should contain format_version field"); + assert!(format_version > 30); // Then we check it didn't generate any JSON file. read_dir_entries_recursive(cwd(), |path| { |
