]> git.llucax.com Git - z.facultad/75.52/sercom.git/commitdiff
Generalizar ejecutar_tarea_xxx().
authorLeandro Lucarella <llucax@gmail.com>
Tue, 13 Mar 2007 00:22:15 +0000 (00:22 +0000)
committerLeandro Lucarella <llucax@gmail.com>
Tue, 13 Mar 2007 00:22:15 +0000 (00:22 +0000)
También se elimina Tarea.rechazar_si_falla y Tarea.terminar_si_falla, pasando
a ser una simple tabla de relación porque no tenía mucho sentido tanto
anidamiento de funcionalidad.

doc/testdata.py
sercom/model.py
sercom/tester.py

index b3bdb5167c86f0ed0c767a5d940d0b6b0b7d2e4a..2ee75956aaa16ef5d36f31ae3be7f2a5c3b48e8e 100644 (file)
@@ -12,15 +12,13 @@ d = Docente(usuario='luca', nombre=u'Leandro Lucarella', password='luca',
 a = Alumno(padron='77891', nombre='Tito Puente', password='77891', roles=[r2])
 
 # Tareas y comandos
-tf = TareaFuente(nombre='Compilar C con Makefile',
-    terminar_si_falla=True, rechazar_si_falla=True)
+tf = TareaFuente(nombre='Compilar C con Makefile')
 cf = tf.add_comando(1, 'make tito', retorno=0, max_cant_archivos=15,
     max_cant_procesos=200, terminar_si_falla=True, rechazar_si_falla=True,
     archivos_a_guardar=('__stdouterr__',),
     descripcion='Compila un programa en C con make ' \
     'sin usar un Makefile (debe ser un solo archivo que se llame tito.c)')
-tp = TareaPrueba(nombre='Probar', terminar_si_falla=True,
-    rechazar_si_falla=True)
+tp = TareaPrueba(nombre='Probar')
 cp = tp.add_comando(1, retorno=0, terminar_si_falla=True,
     rechazar_si_falla=True, descripcion='Prueba normalmente, sin filtros')
 
index 1909de629daa6cf742236e57fcde8f93cbdfc49b..6bc54358ed5fd58d5f1a749c3a974f21bd96abe3 100644 (file)
@@ -281,8 +281,6 @@ class Tarea(InheritableSQLObject): #{{{
     nombre              = UnicodeCol(length=30, alternateID=True)
     # Campos
     descripcion         = UnicodeCol(length=255, default=None)
-    terminar_si_falla   = BoolCol(notNone=True, default=True)
-    rechazar_si_falla   = BoolCol(notNone=True, default=True)
     # Joins
     enunciados          = RelatedJoin('Enunciado', addRemoveName='_enunciado')
 
index fdcc5935b66c539f4667514b33a0c2ed62602b3d..225e13d961a6bb81f5dd5f49ff9e5b4355448c9a 100644 (file)
@@ -1,7 +1,7 @@
 # vim: set et sw=4 sts=4 encoding=utf-8 foldmethod=marker:
 
-from sercom.model import Entrega, CasoDePrueba
-from sercom.model import TareaFuente, TareaPrueba, ComandoFuente, ComandoPrueba
+from sercom.model import Entrega, CasoDePrueba, Tarea, TareaFuente, TareaPrueba
+from sercom.model import ComandoFuente, ComandoPrueba
 from difflib import unified_diff, HtmlDiff
 from zipfile import ZipFile, BadZipfile
 from cStringIO import StringIO
@@ -286,33 +286,15 @@ def ejecutar_caso_de_prueba(self, path, entrega): #{{{
 CasoDePrueba.ejecutar = ejecutar_caso_de_prueba
 #}}}
 
-def ejecutar_tarea_fuente(self, path, entrega): #{{{
-    log.debug(_(u'TareaFuente.ejecutar(path=%s, entrega=%s)'), path,
-        entrega.shortrepr())
-    try:
-        for cmd in self.comandos:
-            cmd.ejecutar(path, entrega)
-    except ExecutionFailure, e:
-        if self.rechazar_si_falla:
-            entrega.exito = False
-        if self.terminar_si_falla:
-            raise ExecutionFailure(e.comando, self)
-TareaFuente.ejecutar = ejecutar_tarea_fuente
+def ejecutar_tarea(self, path, ejecucion): #{{{
+    log.debug(_(u'Tarea.ejecutar(path=%s, ejecucion=%s)'), path,
+        ejecucion.shortrepr())
+    for cmd in self.comandos:
+        cmd.ejecutar(path, ejecucion)
+Tarea.ejecutar = ejecutar_tarea
 #}}}
 
-def ejecutar_tarea_prueba(self, path, prueba): #{{{
-    log.debug(_(u'TareaPrueba.ejecutar(path=%s, prueba=%s)'), path,
-        prueba.shortrepr())
-    try:
-        for cmd in self.comandos:
-            cmd.ejecutar(path, prueba)
-    except ExecutionFailure, e:
-        if self.rechazar_si_falla:
-            prueba.exito = False
-        if self.terminar_si_falla:
-            raise ExecutionFailure(e.comando, self)
-TareaPrueba.ejecutar = ejecutar_tarea_prueba
-#}}}
+# TODO generalizar ejecutar_comando_xxxx!!!
 
 def ejecutar_comando_fuente(self, path, entrega): #{{{
     log.debug(_(u'ComandoFuente.ejecutar(path=%s, entrega=%s)'), path,