#load "std/test.bl"
Integrated unit testing API.
test_eq :: fn {
fn (got: string_view, expected: string_view, loc :: #call_location) ;
fn (got: string, expected: string_view, loc :: #call_location) ;
fn (got: string_view, expected: string, loc :: #call_location) ;
fn (got: string, expected: string, loc :: #call_location) ;
fn (got: f32, expected: f32, epsilon : f32: std.F32_EPSILON, loc :: #call_location) ;
fn (got: f64, expected: f64, epsilon : f64: std.F64_EPSILON, loc :: #call_location) ;
fn (got: ?T, expected: T, loc :: #call_location) ;
}
fn (got: string_view, expected: string_view, loc := #call_location)
fn (got: string, expected: string_view, loc := #call_location)
fn (got: string_view, expected: string, loc := #call_location)
fn (got: string, expected: string, loc := #call_location)
fn (got: f32, expected: f32, epsilon: f32 = std.F32_EPSILON, loc := #call_location)
fn (got: f64, expected: f64, epsilon: f64 = std.F64_EPSILON, loc := #call_location)
fn (got: ?T, expected: T, loc := #call_location)
Test whether got value is equal to expected value.
File: test.bl
test_neq :: fn {
fn (got: string_view, expected: string_view, loc :: #call_location) ;
fn (got: string, expected: string_view, loc :: #call_location) ;
fn (got: string_view, expected: string, loc :: #call_location) ;
fn (got: string, expected: string, loc :: #call_location) ;
fn (got: f32, not_expected: f32, epsilon : f32: std.F32_EPSILON, loc :: #call_location) ;
fn (got: f64, not_expected: f64, epsilon : f64: std.F64_EPSILON, loc :: #call_location) ;
fn (got: ?T, not_expected: T, loc :: #call_location) ;
}
fn (got: string, not_expected: string, loc := #call_location)
fn (got: string, expected: string_view, loc := #call_location)
fn (got: string_view, expected: string, loc := #call_location)
fn (got: string, expected: string, loc := #call_location)
fn (got: f32, not_expected: f32, epsilon: f32 = std.F32_EPSILON, loc := #call_location)
fn (got: f64, not_expected: f64, epsilon: f64 = std.F64_EPSILON, loc := #call_location)
fn (got: ?T, not_expected: T, loc := #call_location)
Test whether got value is not equal to not_expected value.
File: test.bl
test_gt :: fn (v1: ?T, v2: T, loc :: #call_location)
Test whether v1 is greater than v2
File: test.bl
test_lt :: fn (v1: ?T, v2: T, loc :: #call_location)
Test whether v1 is less than v2
File: test.bl
test_true :: fn (v: bool, loc :: #call_location)
Test whether v value is true.
File: test.bl
test_false :: fn (v: bool, loc :: #call_location)
Test whether v value is false.
File: test.bl
test_null :: fn (ptr: *?T, loc :: #call_location)
Test whether ptr pointer value is null.
File: test.bl
test_not_null :: fn (ptr: *?T, loc :: #call_location)
Test whether ptr pointer value is not null.
File: test.bl
test_ok :: fn (err: Error, loc :: #call_location) #inline
Test whether err is OK.
File: test.bl
test_not_ok :: fn (err: Error, loc :: #call_location) #inline
Test whether err is not OK.
File: test.bl
test_is_error :: fn (got_err: Error, expected_code: s32, loc :: #call_location) #inline
Test whether got_err code is expected_code.
File: test.bl
test_run :: fn (print_results :: true) s32
Execute all registered test cases in current assembly. The test_run function uses compiler
builtin TEST_CASES constant containing slice of all registered test cases in the current
assembly (all functions with hash directive #test).
Test case execution can be used in runtime and compile time, in both cases function remap
default behaviour of panic() function call and try to report all failing tests without
termination.
Formatted output containing information about every test run status and summary report is produced during execution of this function. In case of test failure all needed information about fail source location is reported into standard output.
Returns number of failed tests.
#load "std/test.bl"
my_test :: fn () #test {
print("Hello from test case!!!\n");
}
main :: fn () s32 {
return test_run();
}
File: test.bl