Elixir 1.5: Breakpoints und Prozesshilfen für Tests

José Valim hat am 25. Juli 2017 Elixir 1.5 mit neuen Debugging-Werkzeugen für die Erlang-Laufzeit veröffentlicht. Die Version integriert Erlang/OTP 20. Zugleich ist sie laut Ankündigung der letzte Elixir-Release, der OTP 18 unterstützt.

Breakpoints benötigen Erlang/OTP 20

Die interaktive Shell IEx ergänzt Breakpoints und Helfer zum Fortsetzen und Untersuchen einer angehaltenen Ausführung. Die Breakpoint-Funktionen setzen OTP 20 voraus. Auch Exception.blame/3 benötigt diese Laufzeit und ergänzt bestimmte Ausnahmen um Informationen zu nicht passenden Funktionsklauseln.

Valim warnt vor den Kosten dieser Diagnose: Exception.blame/3 ist für die Fehlersuche gedacht, nicht für Produktionskomponenten wie einen Logger. Eine ausführlichere Fehlermeldung ist damit nicht automatisch eine geeignete Dauerfunktion im laufenden Dienst.

Tests können überwachte Prozesse selbst aufräumen

Die offiziellen Release Notes zu Version 1.5.0 nennen neue ExUnit-Helfer für überwachte Prozesse. Mit start_supervised/2 gestartete Prozesse werden beim Testende automatisch beendet. IEx vervollständigt außerdem Variablennamen und importierte Funktionen.

Über child_spec/1 können Module ihre Startkonfiguration für einen Supervisor beschreiben. Das neue Attribut @impl kennzeichnet Callback-Implementierungen. Der Compiler speichert außerdem abstrakte Syntaxbäume zwischen; die Release Notes nennen bei verschiedenen Projekten zehn bis 15 Prozent kürzere Kompilierzeiten. Das ist keine zugesicherte Beschleunigung jeder Anwendung.

Für Build- und Testumgebungen zählt somit auch die eingesetzte Laufzeitversion. Bei Node.js 7 erforderte ein Wechsel der nativen Modul-ABI neue Add-on-Builds. Das ist ein anderes Ökosystem, zeigt aber dieselbe Prüfaufgabe: Sprache, Laufzeit und Abhängigkeiten dürfen nicht als austauschbare Versionsangaben behandelt werden.

Archivhinweis: Der Beitrag beschreibt Version 1.5 aus dem Juli 2017, keine aktuelle Installationsempfehlung. Das offizielle Elixir-Motiv dient als Symbolbild, nicht als Screenshot dieser Version.

Weitere News

Weitere News

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein