about summary refs log tree commit diff
path: root/compiler/rustc_data_structures/src/profiling
diff options
context:
space:
mode:
authorNilstrieb <48135649+Nilstrieb@users.noreply.github.com>2023-04-16 14:58:56 +0200
committerNilstrieb <48135649+Nilstrieb@users.noreply.github.com>2023-04-16 15:00:06 +0200
commit7859a8e9a55725bd19636baa8d2a1a99b76689bf (patch)
treebfcdb0f3ccce7f573426a47faacd4e0390505a75 /compiler/rustc_data_structures/src/profiling
parente6e956dade79bdc084dfe3078abab24656a1b483 (diff)
downloadrust-7859a8e9a55725bd19636baa8d2a1a99b76689bf.tar.gz
rust-7859a8e9a55725bd19636baa8d2a1a99b76689bf.zip
Don't use `serde_json` to serialize a simple JSON object
This avoids `rustc_data_structures` depending on `serde_json` which
allows it to be compiled much earlier, unlocking most of rustc.
Diffstat (limited to 'compiler/rustc_data_structures/src/profiling')
-rw-r--r--compiler/rustc_data_structures/src/profiling/tests.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/compiler/rustc_data_structures/src/profiling/tests.rs b/compiler/rustc_data_structures/src/profiling/tests.rs
new file mode 100644
index 00000000000..2b09de085da
--- /dev/null
+++ b/compiler/rustc_data_structures/src/profiling/tests.rs
@@ -0,0 +1,19 @@
+use super::JsonTimePassesEntry;
+
+#[test]
+fn with_rss() {
+    let entry =
+        JsonTimePassesEntry { pass: "typeck", time: 56.1, start_rss: Some(10), end_rss: Some(20) };
+
+    assert_eq!(entry.to_string(), r#"{"pass":"typeck","time":56.1,"rss_start":10,"rss_end":20}"#)
+}
+
+#[test]
+fn no_rss() {
+    let entry = JsonTimePassesEntry { pass: "typeck", time: 56.1, start_rss: None, end_rss: None };
+
+    assert_eq!(
+        entry.to_string(),
+        r#"{"pass":"typeck","time":56.1,"rss_start":null,"rss_end":null}"#
+    )
+}