summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTuncer Ayaz <tuncer.ayaz@gmail.com>2014-09-03 14:53:59 +0200
committerHans Nilsson <hans@erlang.org>2014-09-09 10:26:21 +0200
commitd1af165af799134f791886ea788311cbf68b788d (patch)
tree2c29854c038dc5bdb3c10570380eadd505cc2a0c
parent6e2fd45bad619fd7e06f21798eac94d415dff64e (diff)
downloaderlang-d1af165af799134f791886ea788311cbf68b788d.tar.gz
ct_property_test: add Triq support
Also, ensure that the right module's counterexample/0 is called.
-rw-r--r--lib/common_test/src/ct_property_test.erl16
1 files 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.
%%%
-%%% <p>The function investigates if support is available for either Quickcheck or PropEr.
+%%% <p>The function investigates if support is available for either Quickcheck, PropEr,
+%%% or Triq.
%%% The options <c>{property_dir,AbsPath}</c> and
%%% <c>{property_test_tool,Tool}</c> is set in the Config returned.</p>
%%% <p>The function is intended to be called in the init_per_suite in the test suite.</p>
@@ -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'}].