summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Nilsson <hans@erlang.org>2014-09-09 10:27:05 +0200
committerHans Nilsson <hans@erlang.org>2014-09-09 10:27:05 +0200
commita146b28e6b17dbd2cae9ef090e5950985ec9dfe9 (patch)
tree039d778a3017f65a491054a2de4193900f0c580f
parent6e2fd45bad619fd7e06f21798eac94d415dff64e (diff)
parent32573a29bae633f9af09d7958d49f1d06daebd18 (diff)
downloaderlang-a146b28e6b17dbd2cae9ef090e5950985ec9dfe9.tar.gz
Merge branch 'hans/common_test/prop_test' into maint
* hans/common_test/prop_test: ssh: update for triq tests common_test: ct_property_test call correct Triq function. ct_property_test: add Triq support
-rw-r--r--lib/common_test/src/ct_property_test.erl20
-rw-r--r--lib/ssh/test/property_test/ssh_eqc_client_server.erl5
-rw-r--r--lib/ssh/test/property_test/ssh_eqc_encode_decode.erl16
-rw-r--r--lib/ssh/test/ssh_property_test_SUITE.erl6
4 files changed, 36 insertions, 11 deletions
diff --git a/lib/common_test/src/ct_property_test.erl b/lib/common_test/src/ct_property_test.erl
index e401fef669..39d089f04c 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,8 @@ init_per_suite(Config) ->
quickcheck(Property, Config) ->
Tool = proplists:get_value(property_test_tool,Config),
- mk_ct_return( Tool:quickcheck(Property) ).
+ F = function_name(quickcheck, Tool),
+ mk_ct_return( Tool:F(Property), Tool ).
%%%================================================================
@@ -123,10 +125,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 +176,9 @@ compile_tests(Path, ToolModule) ->
macro_def(eqc) -> [{d, 'EQC'}];
-macro_def(proper) -> [{d, 'PROPER'}].
+macro_def(proper) -> [{d, 'PROPER'}];
+macro_def(triq) -> [{d, 'TRIQ'}].
+
+function_name(quickcheck, triq) -> check;
+function_name(F, _) -> F.
diff --git a/lib/ssh/test/property_test/ssh_eqc_client_server.erl b/lib/ssh/test/property_test/ssh_eqc_client_server.erl
index 3a84acebb3..cf895ae85e 100644
--- a/lib/ssh/test/property_test/ssh_eqc_client_server.erl
+++ b/lib/ssh/test/property_test/ssh_eqc_client_server.erl
@@ -27,6 +27,10 @@
-ifdef(PROPER).
%% Proper is not supported.
-else.
+-ifdef(TRIQ).
+%% Proper is not supported.
+-else.
+
-include_lib("eqc/include/eqc.hrl").
-include_lib("eqc/include/eqc_statem.hrl").
@@ -600,3 +604,4 @@ erase_dir(Dir) ->
file:del_dir(Dir).
-endif.
+-endif.
diff --git a/lib/ssh/test/property_test/ssh_eqc_encode_decode.erl b/lib/ssh/test/property_test/ssh_eqc_encode_decode.erl
index 6ddf2c9972..34630bdc91 100644
--- a/lib/ssh/test/property_test/ssh_eqc_encode_decode.erl
+++ b/lib/ssh/test/property_test/ssh_eqc_encode_decode.erl
@@ -22,20 +22,36 @@
-compile(export_all).
+-proptest(eqc).
+-proptest([triq,proper]).
+
+-include_lib("ct_property_test.hrl").
+
-ifndef(EQC).
-ifndef(PROPER).
+-ifndef(TRIQ).
-define(EQC,true).
%%-define(PROPER,true).
+%%-define(TRIQ,true).
+-endif.
-endif.
-endif.
-ifdef(EQC).
-include_lib("eqc/include/eqc.hrl").
-define(MOD_eqc,eqc).
+
-else.
-ifdef(PROPER).
-include_lib("proper/include/proper.hrl").
-define(MOD_eqc,proper).
+
+-else.
+-ifdef(TRIQ).
+-define(MOD_eqc,triq).
+-include_lib("triq/include/triq.hrl").
+
+-endif.
-endif.
-endif.
diff --git a/lib/ssh/test/ssh_property_test_SUITE.erl b/lib/ssh/test/ssh_property_test_SUITE.erl
index c6c63d7367..ffad8ebbb7 100644
--- a/lib/ssh/test/ssh_property_test_SUITE.erl
+++ b/lib/ssh/test/ssh_property_test_SUITE.erl
@@ -57,10 +57,8 @@ init_per_suite(Config) ->
%%% if we run proper.
init_per_group(client_server, Config) ->
case ?config(property_test_tool,Config) of
- proper ->
- {skip, "PropEr is not supported"};
- eqc ->
- Config
+ eqc -> Config;
+ X -> {skip, lists:concat([X," is not supported"])}
end;
init_per_group(_, Config) ->
Config.