summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ip/ip_test.pl65
-rw-r--r--ip/test.pl62
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).