Frage
- Es wurde die Frage aufgeworfen, warum ein automatisierter Test zu einer bestimmten Uhrzeit fehlschlägt. Der Test schlägt um 00:30 fehl und gibt unerwartet die Meldung „gimme gimme gimme“ auf stderr aus.
Antwort 1
- Dieses Problem liegt an einem Easter Egg im Befehl
man.
- Wenn der Befehl
man um 00:30 ausgeführt wird, wird die Meldung „gimme gimme gimme“ ausgegeben.
- Dieses Easter Egg stammt von ABBAs Song „Gimme! Gimme! Gimme! (A Man After Midnight)“.
- Das Problem wurde mit Commit 84bde8 behoben. Jetzt tritt dieses Easter Egg auch bei der Ausführung von
man -w nicht mehr auf.
Antwort 2
- Dieses Easter Egg war im Quellcode des Befehls
man enthalten und wurde nur zu einer bestimmten Uhrzeit ausgegeben.
- Es wurde in mehreren Distributionen gefunden, darunter RHEL, OpenSUSE, Fedora und Debian.
- Das Easter Egg wurde vom
man-db-Entwickler Colin Watson entfernt.
Antwort 3
- Dieses Easter Egg sollte in Version 2.8.0 von
man-db entfernt werden.
- Das Easter Egg hat viele Menschen zum Lachen gebracht, war für manche aber auch störend.
- Colin Watson ließ die Möglichkeit offen, künftig andere Formen von Easter Eggs hinzuzufügen.
Zusammenfassung von GN⁺
- Dieser Artikel behandelt ein Problem, das durch ein Easter Egg im Befehl
man verursacht wurde. Das Easter Egg wurde von ABBAs Song inspiriert und funktionierte nur zu einer bestimmten Uhrzeit.
- Das Problem wurde gelöst, indem der Entwickler von
man-db das Easter Egg entfernte. Dadurch werden unerwartete Fehler in automatisierten Testumgebungen vermieden.
- Der Artikel ist ein gutes Beispiel dafür, wie Easter Eggs in Softwareentwicklung und Testumgebungen Probleme verursachen können. Ein anderes Projekt mit einer ähnlichen Funktion ist der Befehl
info.
3 Kommentare
Wenn man solche Easter Eggs einbaut, ist es auch eine gute Methode, einmal zu prüfen, ob die Standard-Ein-/Ausgabe ein TTY ist. In einem Shell-Skript kann man das mit
[[ -t 1]]überprüfen.manwurde wohl als „männlich“ übersetzt, haha.Hacker-News-Kommentare
Als ich früher eine Telemedizin-Web-App entwickelte, implementierte ich eine Funktion, bei der Patienten einen Online-Fragebogen ausfüllten und ihre Antworten dem Arzt angezeigt wurden. In jeder Abteilung der jeweiligen medizinischen Systeme mussten Fragen nach einer anderen Logik angezeigt werden. Beim Debugging wurde versehentlich die Nachricht "I SEE YOU!!!" stehen gelassen, die ein psychiatrischer Patient entdeckte. Danach wurden aaa und 111 als Debug-Markierungen verwendet
Wenn Software kostenlos ist und der Maintainer kein Gehalt bekommt, sind ein paar Easter Eggs ein kleiner Preis. In einem Unternehmen fügte ein Entwickler den AGB hinzu, dass der Nutzer seine Seele an das Unternehmen abtritt. Damit sollte geprüft werden, ob das Management die AGB überhaupt überprüft
Programmieren sollte Spaß machen, und dass Open Source zu ernst wird, liegt an Unternehmen. Wenn ich persönlich Programme schreibe, füge ich Easter Eggs hinzu, um Nutzer an die menschliche Seite zu erinnern
Colin Watson, der Entwickler von man-db, hat Easter Eggs vollständig entfernt. Der Grund war, dass sie Nutzern schaden könnten
Beim Einrichten von FreePBX wurde der Erweiterungsnummer 666 Vincent Prices Lachen aus Michael Jacksons Thriller hinzugefügt. Wegen eines Systemfehlers wurden jedoch alle Anrufe an 666 weitergeleitet, was bei Kollegen Unbehagen auslöste
Auf einem QNAP-Celeron-NAS wurde Ubuntu installiert, doch zu einer bestimmten Zeit trat ein Kernel Panic auf. Ursache war ein Bug durch Siliziumdegradation bei J1900-Geräten
Es wird eine Hypothese dafür benötigt, warum es Tests gibt, die den
man-Befehl ohne Argumente aufrufen. Eine Möglichkeit ist, dass damit geprüft werden soll, obmaninstalliert ist