main.ch

Declarations

Public Only
TestFunction
Publicstruct
struct TestFunction { var id : int var name : string_view var group : string_view var ptr : func(&TestEnv) : void var file : string_view var timeout : uint var retry : uint var pass_on_crash : bool var benchmark : bool var lineNum : uint var charNum : uint }
TestEnvImpl
struct
struct TestEnvImpl : TestEnv { var fn : *TestFunction var pipeHandle : HANDLE }
get_test_id
Publicfunction
func get_test_id(self : &TestEnvImpl) : int
get_group_name
Publicfunction
func get_group_name(self : &TestEnvImpl) : string_view
logIt
Publicfunction
func logIt(self : &TestEnvImpl, type : LogType, msgData : *char, lineNum : uint, charNum : uint) : void
quit_current_group
Publicfunction
func quit_current_group(self : &TestEnvImpl, reason : *char) : void
quit_all_tests
Publicfunction
func quit_all_tests(self : &TestEnvImpl, reason : *char) : void
get_tests
function
func get_tests() : TestFunction[]
TestDisplayConfig
struct
struct TestDisplayConfig { var successful_only : bool var failure_only : bool var display_logs : bool }
make
function
func make() : TestDisplayConfig
TestRunnerConfig
struct
struct TestRunnerConfig { var display : TestDisplayConfig var benchmark : bool var single_test_id : int var comm_id : int var process_limit : int var groups_to_launch : vector<*char> var before_each : func(&TestEnv) : void var after_each : func(&TestEnv) : void }
make
function
func make() : TestRunnerConfig
delete
function
func delete(self : *TestRunnerConfig) : void
run_single_test
function
func run_single_test(tfn : *TestFunction, config : &TestRunnerConfig) : void
TestLog
struct
struct TestLog { var type : LogType var message : string var line : u64 var character : u64 }
make
function
func make() : TestLog
delete
function
func delete(self : *TestLog) : void
TestFunctionState
struct
struct TestFunctionState { var fn : *TestFunction var exitCode : DWORD var has_error_log : bool var has_failed : bool var logs : vector<TestLog> }
make
Publicfunction
func make(t_fn : *TestFunction) : TestFunctionState
delete
function
func delete(self : *TestFunctionState) : void
MessageCommandType
enum
enum MessageCommandType { None, QuitGroup, Log, QuitAll }
to_msg_cmd_type
function
func to_msg_cmd_type(str : *char) : MessageCommandType
read_msg_type
function
func read_msg_type(msg_ptr : **char) : MessageCommandType
parse_int_w_end
function
func parse_int_w_end(s : *char, out : *int, endPtrPtr : **char) : int
return codes: 0 = success (out filled) -1 = bad arguments (null pointers) 1 = no digits found (nothing converted) 2 = trailing non-space characters after number 3 = out of range for int (overflow/underflow)
parse_int_from_str
function
func parse_int_from_str(pstr : **char) : int
read_char
function
func read_char(msg_ptr : **char, c : char) : bool
read_str
function
func read_str(msg_ptr : **char, into : &string) : void
parseLog
function
func parseLog(msg_ptr : **char, log : &TestLog) : void
process_message
function
func process_message(state : &TestFunctionState, msg : *char) : void
Message format examples: $log,0,10,20,this is a normal log message $log,1,10,20,this is an error log message $log,2,10,20,this is a warning log message $log,3,10,20,this is a info log message $log,4,10,20,this is a success log message $quit_group $quit_all
TestRunnerState
struct
struct TestRunnerState { var tests : vector<TestFunctionState> }
make
function
func make() : TestRunnerState
delete
function
func delete(self : *TestRunnerState) : void
append_integer
function
func append_integer(str : &string, dig : int) : void
launch_test_with_retries
function
func launch_test_with_retries(exe_path : *char, id : int, state : &TestFunctionState, tries : int, timeout_ms : uint) : void
TestFunctionPtr
typealias
type TestFunctionPtr = func(&TestEnv) : void
run_tests
function
func run_tests(tests_view : &span<TestFunction>, exe_path : *char, config : &TestRunnerConfig) : void
parse_int
function
func parse_int(s : *char, out : *int) : int
return codes: 0 = success (out filled) -1 = bad arguments (null pointers) 1 = no digits found (nothing converted) 2 = trailing non-space characters after number 3 = out of range for int (overflow/underflow)
parseCommand
function
func parseCommand(config : &TestRunnerConfig, args : **char, end : **char) : *char
run_test_runner
Publicfunction
func run_test_runner(tests_view : span<TestFunction>, argc : int, argv : **char) : int
test_runner
Publicfunction
func test_runner(argc : unknown, argv : unknown) : int