antonmi / espec

Elixir Behaviour Driven Development
Other
808 stars 62 forks source link

Elixir 1.16 compatibility #309

Closed viralpraxis closed 8 months ago

viralpraxis commented 9 months ago

Seems like something breaks on the latest version:

== Compilation error in file lib/mix/utils/stale_compatible.ex ==
** (ArgumentError) record :module does not have the key: :module
    (elixir 1.16.0) lib/record.ex:423: Record.create/4
    (mix 1.16.0) expanding macro: Mix.Compilers.Elixir.module/1
    lib/mix/utils/stale_compatible.ex:43: Mix.Utils.StaleCompatible.tests_with_changed_references/2
    (elixir 1.16.0) expanding macro: Kernel.if/2
    lib/mix/utils/stale_compatible.ex:38: Mix.Utils.StaleCompatible.tests_with_changed_references/2

Elixir version: 1.16.0

antonmi commented 9 months ago

Thanks for the issue, @viralpraxis ! It seems that the "stale" feature is broken since 1.16 has changed internal API. @treble37 maybe you may take a look? Thank you!

treble37 commented 9 months ago

Took a look this weekend, should have a PR for review in the next 1-2 weeks (famous last words)...

treble37 commented 8 months ago

Ok, here is a PR that is passing CI https://github.com/antonmi/espec/pull/310, I would have liked to have slimmed down the "cond do" clauses, but couldn't think of another way after work tonight