Quviq / eqc_ex

QuickCheck for Elixir
BSD 3-Clause "New" or "Revised" License
83 stars 10 forks source link

** (UndefinedFunctionError) function :eqc_symbolic.pretty_elixir_symbolic_doc/1 is undefined or private. #7

Closed ExternalReality closed 7 years ago

ExternalReality commented 7 years ago

I tried the following example

defmodule Exmaple do
  use ExUnit.Case
  use EQC.ExUnit

  def string, do: utf8()

  property "Reverse strings" do
    forall s <- string() do
      ensure String.reverse(String.reverse(s)) == s
    end
  end
end

and received the following error:

  ** (UndefinedFunctionError) function :eqc_symbolic.pretty_elixir_symbolic_doc/1 is undefined or private. Did you mean one of:

           * pretty_symbolic_doc/2
           * pretty_term_doc/3

     stacktrace:
       :eqc_symbolic.pretty_elixir_symbolic_doc("ܰ ")
       lib/eqc/exunit.ex:12: EQC.ExUnit.Pretty.pp/1
       lib/eqc/exunit.ex:9: EQC.ExUnit.Pretty.print/1
       ...

I am using the free version of Quickcheck.

ThomasArts commented 7 years ago

Hi Eric

That's not the nicest error message you can get and an integration glitch from our side.

We improved the pretty printing, since as an Elixir programmer, you probably don't like to see Erlang terms in your counter examples. We updated the commercial version of QuickCheck to perform this printing and used the wrapper to actually call this new function in the commercial version.

QuickCheck Mini is not updated. Thus we should recognize that and print the Erlang terms when using the Mini version.

Working on that now.