{{tag> serveis #FpInfor #Daw #Asix #Smx }} ====== Teuton ====== És un programari per a la correcció automàtica de sistemes. La seva intenció és aplicar els conceptes dels tests unitaris utilitzats en el desenvolupament de programari, però per a infraestructura. L'objectiu és que el professor no hagi de repetir les mateixes ordres en cadascuna de les màquines on els alumnes han fet les pràctiques, i al mateix temps, que l'alumne tingui un retorn de quins passos ja té fets i quins no. Resumint molt, //el que fa aquesta aplicació és connectar-se a una màquina per ssh (on l'alumne ha fet la pràctica) i allà executar una sèrie d'ordres (qualsevol cosa que puguis fer des del bash) i comparar el resultat amb el patró que vulguis. // Per tant, pots fer un "test" que sigui executar l'ordre //"service apache2 status"// i mirar si en el resultat apareix la paraula "running", o l'ordre "//ls /var/wwww///" i mirar si apareix la paraula index.html Això no obstant, també es poden fer coses molt més elaborades com connectar-se a una bd i comprovar que existeix una taula o validar la configuració del tallafoc o ... ===== Descarrega i instal·lació ===== Està tot explicat a la web oficial https://github.com/teuton-software/teuton ====== Exemple bàsic ====== //Estic començamnt a utilitzar-lo i ja posats poso la documentació dels primers passos aquí, ja que trobo que la configuració inicial no és trivial.// Cada test de Teuton està format principalment per un fitxer amb extensió **.rb** Un fitxer rb bàsicament té dues parts: - Definició dels tests - Execució i exportació de dades Una vegada es creen test més complexes aquests dos apartats es poden separar. En un fitxer tenir els tests i en l'altra l'execució i exportació. Això també facilita reaprofitar tests (per exemple,validar la configuració bàsica (hostname, usuaris, permisos, serveis que sempre han d'estar correctes) ===== Fitxer start.rb ===== Ara definim un test que conté dues proves. La primera comprova que existeix una carpeta i el segon comprova que aquesta carpeta conté un fitxer de nom "index.html". I a continuació es defineix que es farà, en aquest cas s'executaran els tests i s'exportaran les dades. group "Existeixen els fitxers i les carpetes" do target "carpeta test" run "ls -l ./test" expect "total" target "carpeta test i fitxer index" run "stat ./test/index.html" expect "Size" end play do show export end ===== Resultats i carpeta "./var" ===== Aquest test, una vegada executat comprovarà que en la màquina actual, i en el directori on s'executi teuton existeix una subcarpeta "test" que conté un fitxer index.html. La nota total és la suma ponderada de tots els tests. Si l'executem en un directori on existeixi la carpeta test, però el fitxer es digui "Index.html" i no "index.html" ens donarà una nota de 50/100, tal i com es pot veure a continuació {{:teuton_basic.png?400|}} A part de les dades que ens mostra a l'executar-se, Teuton també crea una subcarpeta ''./var'' amb un resum del que ha fet. La carpeta conté: - resume.txt amb la mateixa informació que ens ha mostrat a l'executar-se - moodle.csv amb dades per importar al moodle (sense comprovar encara...) - case-01.txt amb dades concretes de l'execució, tal i com es pot veure a continuació {{:teuton_var.png?400|}} ====== Exemple pràctic per una classe ====== A continuació configurarem un test per que faci la comprovació a tots els ordinadors dels alumnes. Per fer-ho haurem de definir un nou fitxer, **config.yaml**, on indicarem les IP's de les màquines així com aquelles variables que puguem necessitar.