Some time ago I wrote a german article on how to install PostgreSQL on Leopard. It seems I struck a chord with many people. So I decided to make this article accessible to a wider audience by translating it to English. I modified and updated parts of it where appropriate. So here it is without further ado.
Den ganzen Artikel lesen
Vor einer Weile habe ich in meinem Blog geschrieben, wie man PostgreSQL auf Mac OS X 10.4 (aka Tiger) installiert. Seitdem ist eine Weile ins Land gegangen. PostgreSQL ist inzwischen bei 8.2.5 angekommen und es existiert eine 8.3 beta 2. Nicht ganz unerwähnt bleiben sollte auch die Tatsache, daß vor kurzem Mac OS X 10.5 (aka Leopard) erschien. Änderungen in Mac OS X 10.5 machen haben dazu geführt, daß meine alte Anleitung als überholt angesehen werden kann. Deshalb folgt hier die aktualisierte Version.
Den ganzen Artikel lesen
Ich hatte einen ähnlichen Artikel bereits in meinem anderen Blog darüber geschrieben. Doch hier ist es nochmal, damit alles an einem Ort zu finden ist, und weil ich in der Zwischenzeit auch einiges daran geändert habe.
Angenfangen hat es, als ich ein paar Wochen über diesen Artikel von John Nunemaker in meinem Feed-Reader gestolpert bin. Das war gleich doppelt interessant. Ich fand die Idee mit Growl supergeil. Und von autotest hatte ich bis dahin auch noch nie gehört. Autotest ist Teil des ZenTest-Gems und kann ganz einfach mit gem install ZenTest -y installiert werden. (Die meisten werden noch ein sudo davor schreiben müssen)
Nachdem ich meine erste ~/.autotest-Datei erstellt habe, ging das eigentliche Experimentieren erst richtig los. Ich war nicht der einzige, der über diesen Artikel gestolpert war, denn kurze Zeit später präsentierte Jamie Hill etwas ansehnlichere Icons. Das sah schon richtig gut aus. Zu guter Letzt machte mein Wechsel auf RSpec einige Änderungen notwendig. Meine derzeitige ~/.autotest-Datei sieht also so aus. (download)
require 'autotest/timestamp'
module Autotest::Growl
IMAGE_ROOT = "~/Library/Autotest/Images"
def self.growl title, msg, img, pri=0, sticky=""
system "growlnotify -n autotest --image #{img} -p #{pri} -m '#{msg}' '#{title}' #{sticky}"
end
def self.find_test_summary(test_results)
test_summary = test_results.find {|result| result.include? "example"}.chomp
end
def self.display_test_summary(summary)
examples, failures, pending = summary.split(', ')
if failures.to_i > 0
growl "Tests fehlgeschlagen", summary, "#{IMAGE_ROOT}/fail.png", 2
elsif pending.to_i > 0
growl "Tests stehen aus", summary, "#{IMAGE_ROOT}/pending.png", 1
else
growl "Tests bestanden", summary, "#{IMAGE_ROOT}/pass.png", 0
end
end
Autotest.add_hook :ran_command do |at|
unless at.results.empty?
summary = find_test_summary(at.results)
display_test_summary(summary)
else # Irgendwas ging ganz furchtbar schief
growl "Panik!", "Die Tests lieferten keine Ergebnisse!", "#{IMAGE_ROOT}/panic.png", 3
end
end
end
Ich habe die Smileys um einen vierten Panic-Smiley ergänzt, falls etwas ganz fürchterlich schief gehen sollte. Da ich autotest immer in Netbeans starte und die Netbeans-Konsole keine Farbcodes beherrscht, entferne ich in meinen Projekten in $PROJEKT/spec/spec.opts immer die Zeile mit --colour. Folglich habe ich es auch nicht für nötig befunden, diese Farbcodes in meiner ~/.autotest-Datei herauszufiltern. Wem die Growl-Nachrichten nicht bunt genug sind, und auch farbige Meldungen in der Konsole haben möchte, muß sich einen entsprechenden Filter selbst in seine ~/.autotest-Datei einbauen.