ranch_ct_hook.erl 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. %% Copyright (c) 2015-2018, Loïc Hoguin <essen@ninenines.eu>
  2. %%
  3. %% Permission to use, copy, modify, and/or distribute this software for any
  4. %% purpose with or without fee is hereby granted, provided that the above
  5. %% copyright notice and this permission notice appear in all copies.
  6. %%
  7. %% THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
  8. %% WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  9. %% MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
  10. %% ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  11. %% WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  12. %% ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  13. %% OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  14. -module(ranch_ct_hook).
  15. -export([init/2]).
  16. init(_, _) ->
  17. %% Allow a more relaxed restart intensity because
  18. %% some tests will cause quick restarts of several
  19. %% ranch_sup children.
  20. application:set_env(ranch, ranch_sup_intensity, 10),
  21. application:set_env(ranch, ranch_sup_period, 1),
  22. ok = application:load(ssl),
  23. case {os:type(), application:get_key(ssl, vsn)} of
  24. %% Internal active,N is broken on Windows since
  25. %% OTP 21.2/ssl 9.1.
  26. %% @todo Put an upper limit on the version when
  27. %% this is fixed in a future OTP version.
  28. {_, {ok, "9.0"++_}} ->
  29. ok;
  30. {{win32, nt}, {ok, "9."++_}} ->
  31. application:set_env(ssl, internal_active_n, 1);
  32. _ ->
  33. ok
  34. end,
  35. ct_helper:start([ranch]),
  36. ct_helper:make_certs_in_ets(),
  37. error_logger:add_report_handler(ct_helper_error_h),
  38. {ok, undefined}.