Nous avons constaté que certains de nos tests automatiques échouaient lorsqu'ils se déroulaient à 00h30 mais fonctionnaient sans problème le reste de la journée. Ils échouent avec le message "gimme gimme gimme" dans stderr, ce qui n'était pas prévu. Pourquoi obtenons-nous cette sortie?
1625
Réponses:
euh, c’était de ma faute, je l’ai suggéré. Pardon.
Presque toute l'histoire est dans le commit. Le responsable de l'homme est un bon ami à moi. Il y a six ans, je lui ai dit en plaisantant que si vous appelez un homme après minuit, il doit écrire " Gimme gimme gimme ", à cause de la chanson d'Abba intitulée " Gimme gimme gimme gimme un homme après minuit ":
Eh bien, il a effectivement mettre en . Quelques personnes ont été amusées à le découvrir et nous l’avons oubliée jusqu’à aujourd’hui.
Je ne peux évidemment pas parler pour Col , mais je ne m'attendais pas à ce que cela pose jamais de problèmes: quel type de test briserait l'analyse de la sortie de man sans page spécifiée? J'imagine que je ne devrais pas être surpris que l'un d'eux soit finalement arrivé, mais cela a pris six ans.
(Le message commit m'appelle Thomas, qui est mon prénom légal bien que je ne l'utilise pas beaucoup en ligne.)
Ce problème a été résolu avec commit 84bde8 : Running man with
man -w
ne déclenchera plus cet oeuf de Pâques.la source
Ceci est un oeuf de Pâques dans
man
. Lorsque vous exécutezman
sans spécifier la page ou avec-w
, il envoie "gimme gimme gimme" à stderr, mais uniquement à 00h30:Le code de sortie est toujours 0.
La sortie correcte doit toujours être:
La chaîne "gimme gimme gimme" se trouve dans RHEL, OpenSUSE, Fedora, Debian et probablement davantage, de sorte qu'elle n'est pas vraiment spécifique à la distribution. Vous pouvez vérifier
grep
votreman
binaire.Ce code est responsable de la sortie ajoutée par ce commit :
J'ai contacté le support technique de RHEL à ce sujet.
La chaîne provient de la chanson bien connue de ABBA, Gimme! Donne-moi! Donne-moi! (Un homme après minuit) .
Le développeur de man-db, Colin Watson, a décidé qu'il y avait suffisamment de plaisir et que l'histoire ne serait pas oubliée et a supprimé complètement l'oeuf de Pâques .
Merci Colin!
la source
faketime
disponibles, vous pouvez essayer ceci sans même avoir besoin de changer l'heure du système:faketime '00:30:00' man
(Debian 8).man
, pasman -w
: git.savannah.nongnu.org/cgit/man-db.git/commit/src/… et le commentaire de Colin sur la confession de Marnanel .man -w
imprime le chemin de recherche actuel des pages de manuel, ce qui est le genre de chose que vous pouvez raisonnablement utiliser comme bloc de construction pour autre chose, par exemple si vous automatisiez l'installation ou le test de pages de manuel.Après réflexion, j'ai enlevé cet œuf de Pâques . Cela aura disparu dans la prochaine version man-db 2.8.0.
Je suis heureux que certaines personnes aient souri, ce qui, après tout, était le but recherché. Mes notifications sur Twitter, etc. aujourd'hui, suggèrent que la plupart des gens ont pensé que c'était plus amusant qu'ennuyeux. Pourtant, certaines personnes ont trouvé cela agaçant et six ans semblent être une très bonne course pour ce genre de chose; il ne sera probablement pas exposé à une bien meilleure exposition que celle prévue de manière inattendue par le biais de cette question. Il est temps de le coucher.
la source
man -abba
lorsque, une fois tiré après minuit, il donnerait un œuf de Pâques.