Testabdeckung der Frameworks in der HHVM jetzt in Echtzeit verfügbar

HHVM in der echten PHP-Welt
Kommentare

Als Anfang Februar HHVM 2.4.0 veröffentlich wurde, hatte man der Community versprochen, dass man an einer Übersicht arbeite, welche die aktuelle Kompatibilitätsabdeckung verschiedener Frameworks zeige. Die Übersicht ist nun da, und mit ihr eine umfangreiche Erklärung über die Funktionsweise. Und als besonderen Bonus kann jeder mitmachen und ein Framework seiner Wahl zum Test-System hinzufügen.

Das Team der HipHop Virtual Machine macht ernst und stellt sich der Community. Denn wie bereits Anfang Februar in der Relase-Meldung zur HHVM 2.4.0 angekündigt, hat man nun eine Seite eingerichtet, die einen Überblick über den aktuellen Stand der Testabdeckung bietet.

Die Übersicht

Auf hhvm.com/frameworks findet man die Übersicht, auf die wir so sehnsüchtig gewartet haben. Als besonderes Bonbon sind in den interaktiven Grafiken kleine Meilensteine markiert, die weitere Informationen zum Stand der Testabdeckung zu diesem Zeitpunkt bieten. Ein Klick auf den Kommentar führt übrigens direkt zur Lösung auf GitHub.

hhvm.com/frameworks

hhvm.com/frameworks

Screenshot: Facebook

Wer die Daten anderweitig aufbereiten möchte, der kann die Daten der JSON-Datei verwenden, die von den Tests generiert werden.

Wichtig zu erwähnen ist allerdings, dass die Daten nicht dazu geeignet sind, die Testabdeckung verschiedener Frameworks miteinander zu vergleichen. Viel eher sei es die Intention gewesen, Fort- oder Rückschritte zu visualisieren, so Fred Emmott in den Kommentaren der Ankündigung.

Die Motivation

Die Motivation dahinter ist klar: Man will die Community davon überzeugen, dass die HipHop Virtual Machine eine ernstzunehmende Alternative ist:

We believe the current frameworks in the test runner are a nice representative sample of real world PHP (and we are adding more). We showed a static snapshot of our test parity to these frameworks late last year. As HHVM is continually developed, it is paramount that the community knows whether there is progression or regression in how HHVM can run code. Having a live snapshot of unit test pass percentage progress helps “keep us honest”.

Darüber hinaus hat die HHVM zahlreiche neue Unterstützer gefunden; der Schritt weg von statischen Snapshots der Testabdeckungen hin zu „Live snapshots“ war also nur logisch – helfe er doch gerade neuen Mitgliedern der Community dabei, sich im HHVM-Universum zurechtzufinden und Anhaltspunkte dafür zu liefern, wo man das Team am besten unterstützen könnte.

Live Snapshots

Der obigen Aussage sollte man besondere Aufmerksamkeit schenken. Denn hat man bisher nur ein statisches Abbild des „aktuellen“ Stands der HHVM zu Gesicht bekommen, spendiert man uns jetzt beinahe in Echtzeit einen Überblick.

Beinahe. Denn um genau zu sein, nimmt ein Skript einmal pro Stunde den aktuellen Stand der HHVM von GitHub und erstellt einen sauberen Debug-Build, in dem die Framework-Tests laufen. Die Daten werden dann in ein „fairly standard“ MySQL+Memcached-Sytem übertragen und über das bereits angesprochene JSON-API veröffentlicht. Auf hhvm.com/frameworks passiert dann noch ein wenig Magie mit HHVM, XHP und dem Google Charts API – und schon haben wir die Ergebnisse.

Das „Was“ ist entscheidend

Das Ziel des Teams ist es, die letzte Stable der verschiedenen Frameworks zu testen. Allerdings gibt es natürlich immer Ausnahmen. Wenn es beispielsweise die letzten Änderungen an einem Framework wesentlich einfacher machen, die Test auf anderem Wege durchzuführen.

Sollten Fixes benötigt werden, ist das Team so frei und greift auf die erste Version des master– oder develop-Branches zurück, der diesen Fix enthält.

Wer sich dafür interessiert, welche Versionen der Frameworks aktuell getestet werden, der sollte einen Blick in die frameworks.yaml werfen.

Wer übrigens auch andere Frameworks getestet sehen möchte, der kann es dem Test-System hinzufügen oder eine Issue auf GitHub erstellen – das Team wird dann einen Blick darauf werfen.

Und nun?

Gerade jetzt, wo man dabei ist, den MySQLi-Support in die HHVM zu integrieren, dürfte Facebooks Alternative zur Zend Engine für zahlreiche Entwickler aus dem PHP-Umfeld interessant werden. Mit der Veröffentlichung der Testergebnisse in so-gut-wie-Echtzeit geht man einen weiteren, großen Schritt auf die Community zu. Man stellt sich der nicht immer emotionslos agierenden PHP-Community, die nun jeden Schritt verfolgen kann.

Generell unternimmt das HHVM-Team sehr viel, um der Community einen möglichst leichten Einstieg in die HipHop Virtual Machine zu bieten. Sei es nun mit den Nightly Packages, mit denen interessierte PHP-Entwickler jederzeit den Puls der HHVM-Zeitrechnung fühlen können, oder mit den selbstbewussten Ankündigungen über die Pläne für das kommende halbe Jahr. Man bemüht sich nach Kräften, einen Schritt auf die Community zuzugehen.

Bleibt zu hoffen, dass die Bemühungen mit offenen Armen empfangen werden.

Aufmacherbild: The real world signpost with blue sky and clouds von Shutterstock / Urheberrecht: steveball

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -