Skip to content

Commit 954abed

Browse files
Merge pull request #40 from ErichDonGubler/refac-parsing-to-traits
Refactor `whippit` to be a set of `traits` instead of `struct`s
2 parents e0ed12a + dbe8ddb commit 954abed

File tree

6 files changed

+637
-450
lines changed

6 files changed

+637
-450
lines changed

moz-webgpu-cts/src/main.rs

+6-11
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ mod metadata;
22
mod shared;
33

44
use self::{
5-
metadata::{AnalyzeableProps, Platform, SubtestOutcome, Test, TestOutcome},
5+
metadata::{AnalyzeableProps, File, Platform, Subtest, SubtestOutcome, Test, TestOutcome},
66
shared::{Expectation, MaybeCollapsed},
77
};
88

@@ -24,10 +24,7 @@ use path_dsl::path;
2424

2525
use regex::Regex;
2626
use wax::Glob;
27-
use whippit::{
28-
metadata::{SectionHeader, Subtest},
29-
reexport::chumsky::prelude::Rich,
30-
};
27+
use whippit::{metadata::SectionHeader, reexport::chumsky::prelude::Rich};
3128

3229
#[derive(Debug, Parser)]
3330
#[command(about, version)]
@@ -186,7 +183,7 @@ fn run(cli: Cli) -> ExitCode {
186183
struct TaggedTest {
187184
#[allow(unused)]
188185
orig_path: Arc<PathBuf>,
189-
inner: metadata::Test,
186+
inner: Test,
190187
}
191188
let tests_by_name = {
192189
let mut found_parse_err = false;
@@ -200,8 +197,8 @@ fn run(cli: Cli) -> ExitCode {
200197
match chumsky::Parser::parse(&metadata::File::parser(), file_contents)
201198
.into_result()
202199
{
203-
Ok(metadata::File { tests }) => Some(tests.into_iter().map(|inner| {
204-
let SectionHeader(name) = &inner.name;
200+
Ok(File { tests }) => Some(tests.into_iter().map(|(name, inner)| {
201+
let SectionHeader(name) = &name;
205202
(
206203
SectionHeader(
207204
name.strip_prefix("cts.https.html?q=").unwrap().to_owned(),
@@ -300,17 +297,15 @@ fn run(cli: Cli) -> ExitCode {
300297
}
301298

302299
let mut analysis = Analysis::default();
303-
for (_nice_name, test) in tests_by_name {
300+
for (SectionHeader(test_name), test) in tests_by_name {
304301
let TaggedTest {
305302
orig_path: _,
306303
inner: test,
307304
} = test;
308305

309306
let Test {
310-
name: SectionHeader(test_name),
311307
properties,
312308
subtests,
313-
..
314309
} = test;
315310

316311
let AnalyzeableProps {

0 commit comments

Comments
 (0)