MCPcopy Create free account
hub / github.com/explodingcamera/tinywasm / save_csv

Method save_csv

crates/tinywasm/tests/testsuite/mod.rs:85–115  ·  view source on GitHub ↗
(&self, path: &str, version: &str)

Source from the content-addressed store, hash-verified

83 }
84
85 pub fn save_csv(&self, path: &str, version: &str) -> Result<()> {
86 use std::fs::OpenOptions;
87 use std::io::Write;
88
89 let mut file = OpenOptions::new().create(true).append(true).read(true).open(path)?;
90 let last_line = BufReader::new(&file).lines().last().transpose()?;
91
92 if let Some(last) = last_line
93 && last.starts_with(version)
94 {
95 let len_to_truncate = last.len() as i64;
96 file.set_len(file.metadata()?.len() - len_to_truncate as u64 - 1)?;
97 }
98
99 file.seek(SeekFrom::End(0))?;
100
101 let mut passed = 0;
102 let mut failed = 0;
103 let mut groups = Vec::new();
104
105 for group in self.runner.group_results() {
106 passed += group.passed;
107 failed += group.failed;
108 groups.push(TestGroupResult { name: group.name, passed: group.passed, failed: group.failed });
109 }
110
111 let groups = serde_json::to_string(&groups)?;
112 let line = format!("{version},{passed},{failed},{groups}\n");
113 file.write_all(line.as_bytes())?;
114 Ok(())
115 }
116
117 fn group_results(&self) -> Vec<GroupResult> {
118 self.runner.group_results()

Callers 15

mainFunction · 0.80
mainFunction · 0.80
mainFunction · 0.80
mainFunction · 0.80
mainFunction · 0.80
mainFunction · 0.80
mainFunction · 0.80
mainFunction · 0.80
mainFunction · 0.80
mainFunction · 0.80
mainFunction · 0.80
mainFunction · 0.80

Calls 8

createMethod · 0.80
seekMethod · 0.80
readMethod · 0.45
lastMethod · 0.45
lenMethod · 0.45
group_resultsMethod · 0.45
pushMethod · 0.45
write_allMethod · 0.45

Tested by

no test coverage detected