Skip to content

Commit

Permalink
KCL: Better message on assertEqual function (#3898)
Browse files Browse the repository at this point in the history
Also add a new no-visual test for performance testing.
  • Loading branch information
adamchalmers committed Sep 16, 2024
1 parent 8602e93 commit dc73acb
Show file tree
Hide file tree
Showing 3 changed files with 116 additions and 1 deletion.
9 changes: 8 additions & 1 deletion src/wasm-lib/kcl/src/std/assert.rs
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,14 @@ pub async fn assert_gt(args: Args) -> Result<KclValue, KclError> {
name = "assertEqual",
}]
async fn inner_assert_equal(left: f64, right: f64, epsilon: f64, message: &str, args: &Args) -> Result<(), KclError> {
_assert((right - left).abs() < epsilon, message, args).await
if (right - left).abs() < epsilon {
Ok(())
} else {
Err(KclError::Type(KclErrorDetails {
message: format!("assert failed because {left} != {right}: {message}"),
source_ranges: vec![args.source_range],
}))
}
}

pub async fn assert_equal(args: Args) -> Result<KclValue, KclError> {
Expand Down
107 changes: 107 additions & 0 deletions src/wasm-lib/tests/executor/inputs/no_visuals/add_lots.kcl
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
fn f = (i) => {
return i * 2
}

let x = f(0)
+ f(1)
+ f(2)
+ f(3)
+ f(4)
+ f(5)
+ f(6)
+ f(7)
+ f(8)
+ f(9)
+ f(10)
+ f(11)
+ f(12)
+ f(13)
+ f(14)
+ f(15)
+ f(16)
+ f(17)
+ f(18)
+ f(19)
+ f(20)
+ f(21)
+ f(22)
+ f(23)
+ f(24)
+ f(25)
+ f(26)
+ f(27)
+ f(28)
+ f(29)
+ f(30)
+ f(31)
+ f(32)
+ f(33)
+ f(34)
+ f(35)
+ f(36)
+ f(37)
+ f(38)
+ f(39)
+ f(40)
+ f(41)
+ f(42)
+ f(43)
+ f(44)
+ f(45)
+ f(46)
+ f(47)
+ f(48)
+ f(49)
+ f(50)
+ f(51)
+ f(52)
+ f(53)
+ f(54)
+ f(55)
+ f(56)
+ f(57)
+ f(58)
+ f(59)
+ f(60)
+ f(61)
+ f(62)
+ f(63)
+ f(64)
+ f(65)
+ f(66)
+ f(67)
+ f(68)
+ f(69)
+ f(70)
+ f(71)
+ f(72)
+ f(73)
+ f(74)
+ f(75)
+ f(76)
+ f(77)
+ f(78)
+ f(79)
+ f(80)
+ f(81)
+ f(82)
+ f(83)
+ f(84)
+ f(85)
+ f(86)
+ f(87)
+ f(88)
+ f(89)
+ f(90)
+ f(91)
+ f(92)
+ f(93)
+ f(94)
+ f(95)
+ f(96)
+ f(97)
+ f(98)
+ f(99)
+ f(100)

assertEqual(x, 10100, 0.1, "Big sum")
1 change: 1 addition & 0 deletions src/wasm-lib/tests/executor/no_visuals.rs
Original file line number Diff line number Diff line change
Expand Up @@ -86,3 +86,4 @@ gen_test_fail!(
"undefined value: Property 'age' not found in object"
);
gen_test!(sketch_group_in_object);
gen_test!(add_lots);

0 comments on commit dc73acb

Please sign in to comment.