-module(showtime@erlang@runner). -compile(no_auto_import). -export([run_test_suite/3, run_test/3]). -spec run_test_suite( showtime@common@test_suite:test_suite(), fun((showtime@common@test_suite:test_event()) -> nil), list(binary()) ) -> nil. run_test_suite(Test_suite, Test_event_handler, Ignore_tags) -> _pipe = erlang:element(3, Test_suite), gleam@list:each( _pipe, fun(Test) -> Test_event_handler( {start_test, erlang:element(2, Test_suite), Test} ), Result = run_test( erlang:element(2, erlang:element(2, Test_suite)), erlang:element(2, Test), Ignore_tags ), Test_event_handler( {end_test, erlang:element(2, Test_suite), Test, Result} ) end ). -spec run_test(binary(), binary(), list(binary())) -> {ok, showtime@common@test_result:test_return()} | {error, showtime@common@test_result:exception()}. run_test(Module_name, Test_name, Ignore_tags) -> showtime_ffi:run_test( erlang:binary_to_atom(Module_name), erlang:binary_to_atom(Test_name), Ignore_tags ).