Changes between Version 2 and Version 3 of Version2/Desarrollo/RunTest


Ignore:
Timestamp:
Feb 24, 2011, 8:28:17 PM (8 years ago)
Author:
adelcastillo
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Version2/Desarrollo/RunTest

    v2 v3  
    55Una vez instalado, es decir, una vez que se ha copiado el ejecutable a algún directorio del path como /usr/local/bin, se accede al directorio de tests a probar y se ejecuta sin argumentos. Por ahora es necesario que se ejecute en el mismo directorio donde los test se encuentran.   
    66
    7 == Funcionamiento ==
     7== Tipos de tests ==
     8Por ahora sólo se encuentran los siguientes:
     9 1. test de script: es un test basado en cualquier tipo de archivo ejecutable. Deben tener permiso de ejecución y puede tener cualquier extensión. Su funcionamiento es el siguiente:
     10   * Se ejecuta el script.
     11     * Si el script a devuelto 0 se considera que se ha ejecutado correctamente.
     12       * No imprime nada.
     13     * Sino se considera que ha habido error:
     14       * Muestra por pantalla la salida estandar que ha tenido el script.
     15       * Muestra por pantalla la salida de error que ha tenido el script.
     16 1. test de python: en este caso no son unos ejecutables, sino un fichero de doctest de python. Si se encuentra errores se considera que ha fallado el test. Su extensión deben ser ''.pytest''
     17 1. pre-test: no son realmente tests pero tiene exactamente el mismo funcionamiento que test de script. Se usan para preparar cosas para el test. Son scripts que se ejecutan antes un test. Tienen el mismo nombre que el test pero se añade la extensión ''.pre''. Deben tener permiso de ejecución. Si fallan el test no se ejecutará. No son necesarios para el test.
     18 1. post-test: iguales que los anteriores pero se ejecutan después del test y tienen extensión ''.post''. No son necesarios para el test.
     19 1. prepare: tampoco son realmente test. Funcionan igual que los tests de script. El fichero debe llamarse prepare o prepare.* (siendo asterisco cualquier extensión). Sino lo encuentra lo obvia. Pueden existir errores y en tal caso no se ejecutará ningún test. Sirve para preparar algo en común para todos los tests.
     20 1. cleanup: hace la función inversa que el prepare. Es un script llamado cleanup o cleanup.*; sino lo encuentra lo obvia.
    821
    9  1. Intenta ejecutar un script que se llame prepare o prepare.* (siendo asterisco cualquier extensión). Sino lo encuentra lo obvia. Pueden existir errores y en tal caso no se ejecutará ningún test.
    10  1. Ejecutar los '''test de script''' que constan de tres partes:                         
    11     1. El pre-test: que se ejecuta antes del test. Tiene el mismo nombre de fichero que el test pero añadiendo al final '.pre'. Si se encuentra error no se ejecuta el test ni el post-test y se continua con el siguiente test. El pre-test es opcional, puede o no puede estar. Si se encuentra un pre-test que no tenga asociado un test, el pre-test nunca se ejecutará.                                                                                   
    12     1. El test: que es un script que comprueba el funcionamiento de la utilidad. Si se encuentra error se considera que ha fallado el test.
    13     1. El post-test: que se ejecuta siempre después del test haya fallado o no. También puede mostrar error. El post-test es opcional, puede o no puede estar. Si se encuentra un post-test que no tenga asociado un test, el post-test nunca no se ejecutará.
    14  1. Ejecuta los '''test de python''' que constan de tres partes:
    15     1. El pre-test: cuyo funcionamiento es exactamente igual que en los test de script.   
    16     1. El test: que en este caso no son unos ejecutables, sino un fichero de doctest de python. Si se encuentra errores se considera que ha fallado el test.
    17     1. El post-test: cuyo funcionamiento es exactamente igual que en los test de script. 
    18  1. Por último busca un script cleanup o cleanup.* para ejecutarlo. Sino lo encuentra lo obvia.         
     22
     23== Cronología ==
     24
     25 1. Intenta ejecutar el prepare. Sino lo encuentra continua sin errores.
     26 1. Ejecutar los test por orden alfabético:                         
     27    1. Busca si tiene pre-test sino lo obvia. Si existe errores en el pre-test el test no se ejecuta.                                                                                   
     28    1. Ejecuta el test ya sea de script o de python.
     29    1. Si encuentra post-test este se ejecuta siempre. Pueden existir errores.
     30 1. Por último, si cleanup es encontrado se ejecuta.
    1931
    2032== Errores ==