Hemos notado que algunas de nuestras pruebas automáticas fallan cuando se ejecutan a las 00:30 pero funcionan bien el resto del día. Fallan con el mensaje "dame dame dame dame" en stderr, que no era de esperar. ¿Por qué estamos obteniendo esta salida?
1625
Respuestas:
er, fue mi culpa, lo sugerí. Lo siento.
Casi toda la historia está en el compromiso. El mantenedor del hombre es un buen amigo mío, y un día hace seis años le dije en broma que si invocas al hombre después de la medianoche debería imprimir " dame dame dame ", debido a la canción de Abba llamada " Dame dame dame un hombre después de la medianoche ":
Bueno, en realidad él lo puso en . Algunas personas se divirtieron al descubrirlo, y en su mayoría lo olvidamos hasta hoy.
No puedo hablar por Col , obviamente, pero no esperaba que esto causara algún problema: ¿qué tipo de prueba se rompería al analizar la salida de man sin una página especificada? Supongo que no debería sorprenderme que finalmente apareciera uno, pero tardó seis años.
(El mensaje de confirmación me llama Thomas, que es mi nombre legal aunque no lo uso mucho en línea).
Este problema se ha solucionado con commit 84bde8 : ejecutar man with
man -w
ya no activará este huevo de pascua.fuente
Este es un huevo de pascua
man
. Cuando ejecutaman
sin especificar la página o con-w
, genera "gimme gimme gimme" en stderr, pero solo a las 00:30:El código de salida siempre es 0.
La salida correcta siempre debe ser:
La cadena "gimme gimme gimme" se puede encontrar en RHEL, OpenSUSE, Fedora, Debian y probablemente más, por lo que no es realmente específica de la distribución. Puede
grep
suman
binario para verificar.Este código es responsable de la salida , agregada por este commit :
Me puse en contacto con el soporte de RHEL sobre este problema.
¡La cuerda proviene de la conocida canción de ABBA Gimme! ¡Dame! ¡Dame! (Un hombre después de la medianoche) .
El desarrollador de man-db, Colin Watson, decidió que había suficiente diversión y que la historia no se olvidaría y eliminó por completo el huevo de pascua .
Gracias Colin!
fuente
faketime
disponibles, puede probar esto sin necesidad de cambiar la hora del sistema:faketime '00:30:00' man
(Debian 8).man
, noman -w
: git.savannah.nongnu.org/cgit/man-db.git/commit/src/… y el comentario de Colin sobre la confesión de Marnanel ^ Wanswer .man -w
imprime la ruta de búsqueda de la página manual actual, que es el tipo de cosa que podría usar razonablemente como un bloque de construcción para otra cosa, por ejemplo, si la cosa que estaba automatizando involucraba instalar o probar páginas manuales.Después de reflexionar, eliminé este huevo de Pascua . Se habrá ido en el próximo man-db 2.8.0.
Me alegro de que haya hecho sonreír a algunas personas, lo que, después de todo, era todo el propósito, y mis notificaciones de Twitter, etc., sugieren que la mayoría de la gente pensó que era más divertido que molesto. Aún así, algunas personas lo encontraron molesto, y seis años parece una muy buena carrera para ese tipo de cosas; probablemente no va a obtener una exposición significativamente mejor de lo que ya tiene inesperadamente a través de esta pregunta. Hora de acostarse.
fuente
man -abba
y cuando se dispara después de la medianoche le daría el huevo de Pascua.