From 11defdcf845b5ee74d4da5de581079f14c9d0729 Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Wed, 22 Nov 2023 09:50:41 +0100 Subject: wip --- ip/ip_test.pl | 65 ++++------------------------------------------------------- ip/test.pl | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+), 61 deletions(-) diff --git a/ip/ip_test.pl b/ip/ip_test.pl index b2812f6..75d5117 100644 --- a/ip/ip_test.pl +++ b/ip/ip_test.pl @@ -2,6 +2,7 @@ :- use_module(library(clpz)). :- use_module(library(format)). +:- use_module(test). test("ip4", ( make_ip4(127, 0, 0, 1, Addr), @@ -64,64 +65,6 @@ test("ip_parse #3", ( )). main :- - consult(ip), - findall(test(Name, Goal), test(Name, Goal), Tests), - run_tests(Tests, Failed), - show_failed(Failed), - halt. - -main_quiet :- - consult(ip), - findall(test(Name, Goal), test(Name, Goal), Tests), - run_tests_quiet(Tests, Failed), - ( Failed = [] -> - format("All tests passed", []) - ; format("Some tests failed", []) - ), - halt. - -portray_failed_([]) --> []. -portray_failed_([F|Fs]) --> - "\"", F, "\"", "\n", portray_failed_(Fs). - -portray_failed([]) --> []. -portray_failed([F|Fs]) --> - "\n", "Failed tests:", "\n", portray_failed_([F|Fs]). - -show_failed(Failed) :- - phrase(portray_failed(Failed), F), - format("~s", [F]). - -run_tests([], []). -run_tests([test(Name, Goal)|Tests], Failed) :- - format("Running test \"~s\"~n", [Name]), - ( call(Goal) -> - Failed = Failed1 - ; format("Failed test \"~s\"~n", [Name]), - Failed = [Name|Failed1] - ), - run_tests(Tests, Failed1). - -run_tests_quiet([], []). -run_tests_quiet([test(Name, Goal)|Tests], Failed) :- - ( call(Goal) -> - Failed = Failed1 - ; Failed = [Name|Failed1] - ), - run_tests_quiet(Tests, Failed1). - -assert_p(A, B) :- - phrase(portray_clause_(A), Portrayed), - phrase((B, ".\n"), Portrayed). - -call_residual_goals(Goal, ResidualGoals) :- - call_residue_vars(Goal, Vars), - variables_residual_goals(Vars, ResidualGoals). - -variables_residual_goals(Vars, Goals) :- - phrase(variables_residual_goals(Vars), Goals). - -variables_residual_goals([]) --> []. -variables_residual_goals([Var|Vars]) --> - dif:attribute_goals(Var), - variables_residual_goals(Vars). + consult(ip), + findall(test(Name, Goal), test(Name, Goal), Tests), + test:test_main(Tests). diff --git a/ip/test.pl b/ip/test.pl index e69de29..f96ca63 100644 --- a/ip/test.pl +++ b/ip/test.pl @@ -0,0 +1,62 @@ +:- module(test, [ + test_main/0, + test_main/1]). + +:- use_module(library(format)). + +test_main :- + findall(test(Name, Goal), test(Name, Goal), Tests), + run_tests(Tests, Failed), + show_failed(Failed), + halt. + +test_main(Tests) :- + run_tests(Tests, Failed), + show_failed(Failed), + halt. + +portray_failed_([]) --> []. +portray_failed_([F|Fs]) --> + "\"", F, "\"", "\n", portray_failed_(Fs). + +portray_failed([]) --> []. +portray_failed([F|Fs]) --> + "\n", "Failed tests:", "\n", portray_failed_([F|Fs]). + +show_failed(Failed) :- + phrase(portray_failed(Failed), F), + format("~s", [F]). + +run_tests([], []). +run_tests([test(Name, Goal)|Tests], Failed) :- + format("Running test \"~s\"~n", [Name]), + ( call(Goal) -> + Failed = Failed1 + ; format("Failed test \"~s\"~n", [Name]), + Failed = [Name|Failed1] + ), + run_tests(Tests, Failed1). + +run_tests_quiet([], []). +run_tests_quiet([test(Name, Goal)|Tests], Failed) :- + ( call(Goal) -> + Failed = Failed1 + ; Failed = [Name|Failed1] + ), + run_tests_quiet(Tests, Failed1). + +assert_p(A, B) :- + phrase(portray_clause_(A), Portrayed), + phrase((B, ".\n"), Portrayed). + +call_residual_goals(Goal, ResidualGoals) :- + call_residue_vars(Goal, Vars), + variables_residual_goals(Vars, ResidualGoals). + +variables_residual_goals(Vars, Goals) :- + phrase(variables_residual_goals(Vars), Goals). + +variables_residual_goals([]) --> []. +variables_residual_goals([Var|Vars]) --> + dif:attribute_goals(Var), + variables_residual_goals(Vars). -- cgit v1.2.3