Ich erstelle eine Homebrew-Formel für eine C-Bibliothek, die eine eigene Testsuite enthält. Als Teil des Blocks test
für die Formel möchte ich die Tests ausführen, die den heruntergeladenen Dateien beiliegen. Die Tests laufen als make
Target (make test
). Homebrew test
Blöcke laufen jedoch in ihrem eigenen temporären Verzeichnis und die heruntergeladenen Dateien befinden sich nicht im Pfad. Das heißt, die folgende nicht funktionieren, da es die Dateien nicht finden kann:Greifen Sie auf heruntergeladene Dateien im Testblock einer Formel zu
test do
system "make", "test"
end
Wie kann ich den Speicherort zugreifen, in denen die Dateien ursprünglich heruntergeladen wurden und ausgepackt? Ich konnte keine Informationen darüber in den Dokumenten finden. Oder gibt es in diesem Fall eine bessere Lösung für Homebrew-Tests?
Ich sollte die tatsächliche Tarball zugreifen können mit 'selfcached_download', aber ich habe das Gefühl, dass der Tarball im temporären Verzeichnis entpackt wird, in dem der Build stattfindet, was bedeutet, dass ich ihn erneut in' test' entpacken müsste. Ich denke, das ist nicht * so * schlecht, aber es ist immer noch irgendwie scheiße. –
Ugh, aber wenn ich es so mache, muss ich alle in STDOUT geschriebenen Dinge analysieren, um zu sehen, ob einer der Checks fehlgeschlagen ist, so dass ich einen booleschen Wert zurückgeben kann. (Es sei denn, ich missverstehe völlig, wie der Testblock funktioniert.) –