bytes.cat

La wiki d'FP d'informàtica

Eines de l'usuari

Eines del lloc


teuton

Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Següent revisió
Revisió prèvia
teuton [2022/01/10 23:52]
pere_ermengol_bota_arque Creació inicial, els propers dies ho aniré completant.
teuton [2022/01/12 23:17] (actual)
pere_ermengol_bota_arque
Línia 6: Línia 6:
 La seva intenció és aplicar els conceptes dels tests unitaris utilitzats en el desenvolupament de programari, però per a infraestructura. 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 preparades pels alumnes, i al mateix temps, que l'alumne tingui un retorn de quins passos ja té fets i quins no+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+
  
 +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 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 la bd i comprovar que existeix una taula o validar la configuració del tallafoc o ...+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 ...
  
  
Línia 24: Línia 24:
  
  
-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.+//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. 
 + 
 + 
 +<code bash> 
 +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 
 +</code> 
 + 
 +===== 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. 
 + 
 + 
  
  
teuton.1641858758.txt.gz · Darrera modificació: 2022/01/10 23:52 per pere_ermengol_bota_arque