65 lines
1.5 KiB
Erlang
65 lines
1.5 KiB
Erlang
% dynamic hacky module that loads all the tests
|
|
-module(gsc_tests).
|
|
|
|
-export([
|
|
main/0,
|
|
cli_args/1
|
|
]).
|
|
|
|
|
|
|
|
main() ->
|
|
cli_args([]),
|
|
ok.
|
|
|
|
cli_args(TestNames) ->
|
|
% load ts_utils
|
|
TsUtils = zx:get_home() ++ "/test/ts_utils.erl",
|
|
case compile:file(TsUtils) of
|
|
{ok, ts_utils} -> ok;
|
|
Error -> error(Error)
|
|
end,
|
|
% this loads the test deps and then cleans up any
|
|
% beam files afterwards
|
|
ts_utils:tidily(fun() -> do_gsc_test(TestNames) end).
|
|
|
|
|
|
do_gsc_test(["-h" | _]) -> do_help();
|
|
do_gsc_test(["--help" | _]) -> do_help();
|
|
do_gsc_test(["-l" | _]) -> do_list();
|
|
do_gsc_test(["--list" | _]) -> do_list();
|
|
do_gsc_test(["-a" | _]) -> do_all();
|
|
do_gsc_test(["--all" | _]) -> do_all();
|
|
do_gsc_test(["so_tokens", X]) -> do_so_tokens(X);
|
|
do_gsc_test(["so", "tokens", X]) -> do_so_tokens(X);
|
|
do_gsc_test(["tokenizers_agree", X]) ->
|
|
do_tokenizers_agree(X);
|
|
do_gsc_test([TestName]) ->
|
|
ts_utils:run_test_by_name(TestName);
|
|
do_gsc_test(_) ->
|
|
do_help().
|
|
|
|
|
|
|
|
do_help() ->
|
|
io:format("go help yourself~n").
|
|
|
|
do_list() ->
|
|
Names = ts_utils:runnable_test_names(),
|
|
[io:format("~p~n", [N]) || N <- Names].
|
|
|
|
|
|
do_all() ->
|
|
{Gd, _} = ts_utils:runnable_test_mods(),
|
|
[begin ts_utils:rmm(G), io:format("~n") end || G <- Gd].
|
|
|
|
|
|
do_so_tokens(FilePath) ->
|
|
[io:format("~p~n", [Tk]) || Tk <- ts_utils:so_tokens(FilePath)].
|
|
|
|
|
|
|
|
do_tokenizers_agree(RelPath) ->
|
|
Result = ts_utils:tokenizers_agree(RelPath),
|
|
io:format("~tp~n", [Result]).
|