En esta página se explica cómo se ejecutan y se comprueban los tests de la batería estándar de chequeo de versiones de TOL, para que quede constancia y por si algún desarrollador aún no domina este tema, pues es muy importante pasarlos siempre que se suban cambios al CVS para una nueva release, tanto del head como de la versión oficial.
El primer paso es obviamente bajarse del cvs el repositorio tol_tests correspondiente a la rama de tol a evaluar (head, 1.1.5 o lo que toque). Dentro de ese directorio hay un subdirectorio para cada programa o aplicación a chequear, tol, toltcl, etc.; los cuales contienen a su vez paquetes de tests organizados en una estructura de directorios de profundidad arbitraria. Cualquier fichero de nombre test.tol dentro de esa jerarquía será considerado como un test. Los paquetes se agrupan virtualmente en baterías independientes de paquetes tests que se ejecutan secuencialmente mediante archivos tol de definición de baterías.
Si el tol que queremos probar está ubicado en <release_path> la orden genérica para correr una batería de tests de tol definida en un fichero <batery_path_name>.tol; entonces debemos correr la orden <release_path>/tol" -v <batery_path_name>.tol
Las baterías disponibles actualmente son
tol_tests/tol/_tolTester.tol : batería de los paquetes de tests obligatorios que deben pasarse sin errores forzosamente. Ubicándose en tol_tests/ se debe ejecutar la orden
<release_path>/tol" -v tol/_tolTester.tol
tol_tests/tol/_tolTester.tol : batería de los paquetes de tests que ocasionalmente dan errores conocidos pero aún sin arreglar. Si se dan errores se puede continuar pero hay que comunicarlo al grupo TDT para que el autor del test lo revise. Ubicándose en tol_tests/ se debe ejecutar la orden
<release_path>/tol" -v tol/_tolTester_knownbugs.tol
Durante la ejecución de la batería por la consola se da tan sólo una línea por test ejecutado con el grado de calidad (Quality) en porcentaje y el tiempo empleado. Cuando Quality=0% se ha producido un error. Cuando Quality=100% es que todo haya funcionado perfectamente pero a veces los resultados no son deterministas sino que tienen componentes aleatorios por lo que la calidad no tien porqué ser el 100% a pesar de haber funcionado todo bien. Los resultados de calidad baja pero positiva dan lugar a warnings y es conveniente avisar al autor del test. lo mismo que si hay errores que no sepa uno a qué se pueden deber. Por ejemplo este es un ejemplo de salida en windows donde se ha dado un error
BuildTOL_WIN32_1.1.5\tol_tests>"..\ActiveTOL\bin\tol.exe" -v tol/_tolTester.tol
Initializing TOL OIS: versión implementada: 02.03
Cargando la libreria estandar de TOL C:/projects-c++/bayes/BuildTOL_WIN32_1.1.5/ActiveTOL/bin/initlibrary/_inittol.tol
OIS: Cargando el módulo InitLibrary::_lib.tol Ha sido incluido el fichero
BuildTOL_WIN32_1.1.5/ActiveTOL/bin/initlibrary/_inittol.tol [0.391 sec.]
El fichero de volcado de salida se ubica en G:/Documents and Settings/vdebuen/Datos de programa/tol/tests_results/test_current.log
Version de TOL : v1.1.5 b.13 2007-07-02 10:28:28 i686-win
Sistema operativo : WINDOWS Compilador : MSVC_1400
ReportTester of battery Bugzilla(1 times)
Running test Bugzilla/bug_000001 iteration 1 of 1 ... Quality= 100.00% in 0.140 seconds
Running test Bugzilla/bug_000002 iteration 1 of 1 ... Quality= 70.00% in 0.031 seconds
Running test Bugzilla/bug_000003 iteration 1 of 1 ... Quality= 20.00% in 0.141 seconds
Running test Bugzilla/bug_000004 iteration 1 of 1 ... Quality= 0.00% in 0.204 seconds
Running test Bugzilla/bug_000005 iteration 1 of 1 ...
La última línea acabada en puntos suspensivos indica que el test está en ejecución. Al final de cada paquete se da un resumen parcial de los resultados del mismo que ofrece este aspecto
Statistics for tests battery [TestVolumeMedium/ARIMA/FunEstimate(5 times)]
tests number = 5
minQuality = 100.00%
avgQuality = 100.00%
unkQuality = 0.00%
avgErrors = 0.000000
avgWarnings = 1.200000
avgObjects = 2900.800000
avgSeconds = 4.772000 Al final de la batería se da elresumen total.
Statistics for tests battery [ALL MERGED]
tests number = 25
minQuality = 78.61%
avgQuality = 97.97%
unkQuality = 100.00%
avgErrors = 0.000000
avgWarnings = 2.880000 avgObjects
avgObjects = -1127.280000
avgSeconds = 10.208920 En ambos casos el principal dato es que se cumpla minQuality > 0
Al final de la ejecución se pueden ver los resultados y los logs de los tests realizados en el directorio
<TOL_APP_DATA_HOME>/tests_results/test_YYYY_MM_DD_HH_MM
donde <APP_DATA_HOME> es en windows: %APPDATA%/tol y en linux: $HOME/.tol y YYYY_MM_DD_HH_MM se refiere a la fecha y la hora hasta el minuto de comienzo de la sesión de chequeo. Dentro de ese directorio habrá un directorio para cada paquete de tests por el que se puede navegar para encontrar los diferentes informes y ficheros de logs.
Si se quiere ejecutar un test concreto para el que se ha visto un problema sólo es necesario compilar el fichero con el único requisito de cargar previamente la initlibrary (o stdlib), y da lo mismo hacerlo con tol o con tolbase, a no ser que se trate de un test de tcl.