Notable WebGPU CTS changes:
- Demotions from tier 2 to tier 3:
- `webgpu:shader,execution,expression,unary,{i32,u32}_conversion:f32:*` started regressing on Windows.
- Promotions to tier 2 from tier 3:
- Across all platforms:
- `webgpu:shader,execution,expression,call,builtin,cross:f32:*`
- `webgpu:shader,execution,expression,unary,i32_conversion:abstract_float:*`
- `webgpu:shader,execution,expression,unary,u32_conversion:abstract_float:*`
- `webgpu:shader,execution,limits:nesting_depth_braces:*`
- `webgpu:shader,validation,expression,call,builtin,value_constructor:vector_copy:*`
- `webgpu:shader,validation,expression,call,builtin,value_constructor:vector_elementwise:*`
- `webgpu:shader,validation,expression,call,builtin,value_constructor:vector_mixed:*`
- `webgpu:shader,validation,expression,call,builtin,value_constructor:scalar_zero_value:*` was promoted on Linux and Windows, but stays in macOS on account of failing `f16` functionality. My guess is that these failures are also present on the other platforms, but we don't see the because `shader-f16` is not aviailable on our other CI platforms yet.
- From macOS, completing the set of all platforms passing:
- `f16` functionality, which, again, was likely not visible on our other CI platforms before:
- `webgpu:shader,execution,expression,call,builtin,cross:f16:*`
- `webgpu:shader,validation,decl,override:type:*`
- `webgpu:api,validation,capability_checks,limits,maxUniformBufferBindingSize:createBindGroup,at_over:*`
was promoted on Windows.
Differential Revision: https://phabricator.services.mozilla.com/D243593
71 lines
1.6 KiB
Rust
71 lines
1.6 KiB
Rust
use ron::de::{from_str, Error, Position, SpannedError as RonErr};
|
|
|
|
#[test]
|
|
fn test_simple() {
|
|
assert_eq!(
|
|
from_str(
|
|
"/*
|
|
* We got a hexadecimal number here!
|
|
*
|
|
*/0x507"
|
|
),
|
|
Ok(0x507)
|
|
);
|
|
}
|
|
|
|
#[test]
|
|
fn test_nested() {
|
|
assert_eq!(
|
|
from_str(
|
|
"/*
|
|
/* quite * some * nesting * going * on * /* here /* (yeah, maybe a bit too much) */ */ */
|
|
*/
|
|
// The actual value comes.. /*
|
|
// very soon, these are just checks that */
|
|
// multi-line comments don't trigger in line comments /*
|
|
\"THE VALUE\" /* This is the value /* :) */ */
|
|
"
|
|
),
|
|
Ok("THE VALUE".to_owned())
|
|
);
|
|
}
|
|
|
|
#[test]
|
|
fn test_unclosed() {
|
|
assert_eq!(
|
|
from_str::<String>("\"hi\" /*"),
|
|
Err(RonErr {
|
|
code: Error::UnclosedBlockComment,
|
|
position: Position { line: 1, col: 8 }
|
|
})
|
|
);
|
|
assert_eq!(
|
|
from_str::<String>(
|
|
"/*
|
|
/* quite * some * nesting * going * on * /* here /* (yeah, maybe a bit too much) */ */ */
|
|
*/
|
|
// The actual value comes.. /*
|
|
// very soon, these are just checks that */
|
|
// multi-line comments don't trigger in line comments /*
|
|
/* Unfortunately, this comment won't get closed :(
|
|
\"THE VALUE (which is invalid)\"
|
|
"
|
|
),
|
|
Err(RonErr {
|
|
code: Error::UnclosedBlockComment,
|
|
position: Position { line: 9, col: 1 }
|
|
})
|
|
);
|
|
}
|
|
|
|
#[test]
|
|
fn test_unexpected_byte() {
|
|
assert_eq!(
|
|
from_str::<u8>("42 /q"),
|
|
Err(RonErr {
|
|
code: Error::UnexpectedChar('q'),
|
|
position: Position { line: 1, col: 6 },
|
|
})
|
|
);
|
|
}
|