Lección aplicada: FoundationDB — reproducibilidad como superpoder: un bug hallado tras un millón de casos debe reproducirse al instante con la misma semilla.
Contexto. Los parsers y validadores de netops ya son funciones puras (_parsear_arp, ip_valida, mascara_valida, _validar_static, fabricante_mac): candidatos ideales para generación de casos.
Qué hacer. Añadir hypothesis como dependencia de test; escribir propiedades para esas funciones (nunca lanzan excepción con texto arbitrario, invariantes de ida y vuelta, etc.). Configurar semilla fija/derandomize en CI y que todo fallo imprima el ejemplo mínimo reproducible.
Criterio de aceptación. Suite corriendo en CI con semilla registrada; un fallo inducido muestra ejemplo mínimo y semilla para reproducirlo localmente.
Lección aplicada: FoundationDB — reproducibilidad como superpoder: un bug hallado tras un millón de casos debe reproducirse al instante con la misma semilla.
Contexto. Los parsers y validadores de
netopsya son funciones puras (_parsear_arp,ip_valida,mascara_valida,_validar_static,fabricante_mac): candidatos ideales para generación de casos.Qué hacer. Añadir
hypothesiscomo dependencia de test; escribir propiedades para esas funciones (nunca lanzan excepción con texto arbitrario, invariantes de ida y vuelta, etc.). Configurar semilla fija/derandomizeen CI y que todo fallo imprima el ejemplo mínimo reproducible.Criterio de aceptación. Suite corriendo en CI con semilla registrada; un fallo inducido muestra ejemplo mínimo y semilla para reproducirlo localmente.