proper icon indicating copy to clipboard operation
proper copied to clipboard

{'EXIT', {badarg, [{unicode,characters_to_binary, ...}]}} in proper_gen_next.erl

Open NoobsEnslaver opened this issue 6 years ago • 0 comments

Erlang/OTP 20 [erts-9.3.3.7] Proper 1.3.0 from Hex

Try to run prop with ?FORALL_TARGETED, get crash report:

{'EXIT',
 {badarg,
  [{unicode,characters_to_binary,
    [[#Fun<proper_gen_next.34.116828358>,
          1076,
      #Fun<proper_gen_next.34.116828358>,
          53,
      #Fun<proper_gen_next.34.116828358>,
          34,37125]],
    []},
   {proper_gen_next,
    '-let_gen_sa/1-fun-0-',6,
    [{file,
      "/home/ne/Projects/ersip/_build/test/lib/proper/src/proper_gen_next.erl"},
     {line,617}]},
   {proper_gen_next,
    restrict_generation,6,
    [{file,
      "/home/ne/Projects/ersip/_build/test/lib/proper/src/proper_gen_next.erl"},
     {line,198}]},
   {proper_gen_next,
    '-tuple_gen_sa/1-lc$^1/1-1-',
    2,
    [{file,
      "/home/ne/Projects/ersip/_build/test/lib/proper/src/proper_gen_next.erl"},
     {line,488}]},
   {proper_gen_next,
    '-tuple_gen_sa/1-lc$^1/1-1-',
    2,
    [{file,
      "/home/ne/Projects/ersip/_build/test/lib/proper/src/proper_gen_next.erl"},
     {line,489}]},
   {proper_gen_next,
    '-tuple_gen_sa/1-fun-2-',3,
    [{file,
      "/home/ne/Projects/ersip/_build/test/lib/proper/src/proper_gen_next.erl"},
     {line,482}]},
   {proper_gen_next,
    restrict_generation,6,
    [{file,
      "/home/ne/Projects/ersip/_build/test/lib/proper/src/proper_gen_next.erl"},
     {line,198}]},
   {proper_gen_next,
    '-let_gen_sa/1-fun-0-',6,
    [{file,
      "/home/ne/Projects/ersip/_build/test/lib/proper/src/proper_gen_next.erl"},
     {line,613}]}]}}

with just ?FORALL works fine.

prop test code:

prop_find_encoding_slowdown(opts) -> [noshrink].
prop_find_encoding_slowdown() ->
    ?FORALL_TARGETED(Msg, message(),
        begin
            T0 = erlang:monotonic_time(millisecond),
            _ = ersip_sipmsg:assemble_bin(Msg),
            T1 = erlang:monotonic_time(millisecond),
            EncodeTime = T1-T0,
            ?MAXIMIZE(EncodeTime),
            EncodeTime < 1000
        end).

Full code of generators may be found here: https://github.com/NoobsEnslaver/ersip/blob/proper/test/prop_basic.erl

NoobsEnslaver avatar Mar 01 '19 12:03 NoobsEnslaver