From d1af165af799134f791886ea788311cbf68b788d Mon Sep 17 00:00:00 2001 From: Tuncer Ayaz Date: Wed, 3 Sep 2014 14:53:59 +0200 Subject: ct_property_test: add Triq support Also, ensure that the right module's counterexample/0 is called. --- lib/common_test/src/ct_property_test.erl | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/lib/common_test/src/ct_property_test.erl b/lib/common_test/src/ct_property_test.erl index e401fef669..240a36fbfc 100644 --- a/lib/common_test/src/ct_property_test.erl +++ b/lib/common_test/src/ct_property_test.erl @@ -78,7 +78,8 @@ %%% %%% @doc Initializes Config for property testing. %%% -%%%

The function investigates if support is available for either Quickcheck or PropEr. +%%%

The function investigates if support is available for either Quickcheck, PropEr, +%%% or Triq. %%% The options {property_dir,AbsPath} and %%% {property_test_tool,Tool} is set in the Config returned.

%%%

The function is intended to be called in the init_per_suite in the test suite.

@@ -86,7 +87,7 @@ %%% @end init_per_suite(Config) -> - case which_module_exists([eqc,proper]) of + case which_module_exists([eqc,proper,triq]) of {ok,ToolModule} -> ct:pal("Found property tester ~p",[ToolModule]), Path = property_tests_path("property_test", Config), @@ -114,7 +115,7 @@ init_per_suite(Config) -> quickcheck(Property, Config) -> Tool = proplists:get_value(property_test_tool,Config), - mk_ct_return( Tool:quickcheck(Property) ). + mk_ct_return( Tool:quickcheck(Property), Tool ). %%%================================================================ @@ -123,10 +124,10 @@ quickcheck(Property, Config) -> %%% %%% Make return values back to the calling Common Test suite -mk_ct_return(true) -> +mk_ct_return(true, _Tool) -> true; -mk_ct_return(Other) -> - try lists:last(hd(eqc:counterexample())) +mk_ct_return(Other, Tool) -> + try lists:last(hd(Tool:counterexample())) of {set,{var,_},{call,M,F,Args}} -> {fail, io_lib:format("~p:~p/~p returned bad result",[M,F,length(Args)])} @@ -174,5 +175,6 @@ compile_tests(Path, ToolModule) -> macro_def(eqc) -> [{d, 'EQC'}]; -macro_def(proper) -> [{d, 'PROPER'}]. +macro_def(proper) -> [{d, 'PROPER'}]; +macro_def(triq) -> [{d, 'TRIQ'}]. -- cgit v1.2.3