summaryrefslogtreecommitdiff
path: root/scripts/src/bin
diff options
context:
space:
mode:
authorHenry Gressmann <mail@henrygressmann.de>2024-06-30 19:19:45 +0200
committerHenry Gressmann <mail@henrygressmann.de>2024-06-30 19:19:45 +0200
commit9c85fa9c3a2066ce851af53d7019e6a25a45af3b (patch)
tree79e6608e97f08c0ebdb64125b0c658f5cc4bb33f /scripts/src/bin
parent7e8770cc4e418ef1a8cdfd9b1f59ee14b07cc6c9 (diff)
chore: restructure runtime and reduce build dependencies
Signed-off-by: Henry Gressmann <mail@henrygressmann.de>
Diffstat (limited to 'scripts/src/bin')
-rw-r--r--scripts/src/bin/generate-charts/main.rs35
-rw-r--r--scripts/src/bin/generate-charts/progress.rs76
2 files changed, 0 insertions, 111 deletions
diff --git a/scripts/src/bin/generate-charts/main.rs b/scripts/src/bin/generate-charts/main.rs
deleted file mode 100644
index 1206e5f..0000000
--- a/scripts/src/bin/generate-charts/main.rs
+++ /dev/null
@@ -1,35 +0,0 @@
-mod progress;
-use std::{path::PathBuf, str::FromStr};
-
-use eyre::Result;
-
-fn main() -> Result<()> {
- generate_charts()
-}
-
-fn generate_charts() -> Result<()> {
- let results_dir = PathBuf::from_str("./crates/tinywasm/tests/generated")?;
-
- // check if the folder exists
- if !results_dir.exists() {
- return Err(eyre::eyre!(
- "This script should be run from the root of the project, and the test results should be generated first."
- ));
- }
-
- progress::create_progress_chart(
- "WebAssembly 1.0 Test Suite",
- &results_dir.join("mvp.csv"),
- &results_dir.join("progress-mvp.svg"),
- )?;
- println!("created progress chart: {}", results_dir.join("progress-mvp.svg").display());
-
- progress::create_progress_chart(
- "WebAssembly 2.0 Test Suite",
- &results_dir.join("2.0.csv"),
- &results_dir.join("progress-2.0.svg"),
- )?;
- println!("created progress chart: {}", results_dir.join("progress-2.0.svg").display());
-
- Ok(())
-}
diff --git a/scripts/src/bin/generate-charts/progress.rs b/scripts/src/bin/generate-charts/progress.rs
deleted file mode 100644
index 3cc3c26..0000000
--- a/scripts/src/bin/generate-charts/progress.rs
+++ /dev/null
@@ -1,76 +0,0 @@
-use eyre::Result;
-use plotters::prelude::*;
-use std::fs::File;
-use std::io::{self, BufRead};
-use std::path::Path;
-
-const FONT: &str = "Victor Mono";
-
-pub fn create_progress_chart(name: &str, csv_path: &Path, output_path: &Path) -> Result<()> {
- let file = File::open(csv_path)?;
- let reader = io::BufReader::new(file);
-
- let mut max_tests = 0;
- let mut data: Vec<u32> = Vec::new();
- let mut versions: Vec<String> = Vec::new();
-
- for line in reader.lines() {
- let line = line?;
- let parts: Vec<&str> = line.split(',').collect();
-
- if parts.len() > 3 {
- let version = format!("v{}", parts[0]);
- let passed: u32 = parts[1].parse()?;
- let failed: u32 = parts[2].parse()?;
- let total = failed + passed;
-
- if total > max_tests {
- max_tests = total;
- }
-
- versions.push(version);
- data.push(passed);
- }
- }
-
- let root_area = SVGBackend::new(output_path, (1000, 400)).into_drawing_area();
- root_area.fill(&WHITE)?;
-
- let mut chart = ChartBuilder::on(&root_area)
- .x_label_area_size(45)
- .y_label_area_size(70)
- .margin(10)
- .margin_top(20)
- .caption(name, (FONT, 30.0, FontStyle::Bold))
- .build_cartesian_2d((0..(versions.len() - 1) as u32).into_segmented(), 0..max_tests)?;
-
- chart
- .configure_mesh()
- .light_line_style(TRANSPARENT)
- .bold_line_style(BLACK.mix(0.3))
- .max_light_lines(10)
- .disable_x_mesh()
- .y_desc("Tests Passed")
- .y_label_style((FONT, 15))
- .x_desc("TinyWasm Version")
- .x_labels((versions.len()).min(4))
- .x_label_style((FONT, 15))
- .x_label_formatter(&|x| {
- let SegmentValue::CenterOf(value) = x else {
- return "".to_string();
- };
- let v = versions.get(*value as usize).unwrap_or(&"".to_string()).to_string();
- format!("{} ({})", v, data[*value as usize])
- })
- .axis_desc_style((FONT, 15, FontStyle::Bold))
- .draw()?;
-
- chart.draw_series(
- Histogram::vertical(&chart)
- .style(BLUE.mix(0.5).filled())
- .data(data.iter().enumerate().map(|(x, y)| (x as u32, *y))),
- )?;
-
- root_area.present()?;
- Ok(())
-}