Skip to content
Eric Pailleau edited this page Mar 13, 2019 · 6 revisions

Limitations

Abstract code needed

Geas ignore beam files where abstract code is not available. This may imply to not detect a break in the computed release window. However since version 2.0.4, geas extract abstract code from source file in such case, if available, as fallback.

Geas does not replace tests

Geas does not guarantee that your project will run correctly on the whole release window.

Some reasons :

  • Bugs may exists in older release, but fixed in newer
  • Returned values of some functions may have been changed, reduced or augmented in the release window

It is assumed that project, as well dependencies, are compiling. Parse errors are not raised when using source files.

Runtime

Module compilation and load at project runtime is not covered by geas analyze.

Raw analyze

For now, no attempts are done to understand the code. So even if a function call is protected by a catch to test existence and maybe use an alternative, geas won't care. This may change in futur versions.

Note : this can cause "absurd" results in some case where lowest Erlang version is higher than highest version found (for exemple Min = 19.3 and Max = 18.3 ). Starting version 2.5, those result will be ignored and log warning raised. Another work will be needed to understand some test in code to get rid of this issue.

Clone this wiki locally