From: Leandro Lucarella Date: Tue, 13 Mar 2007 00:22:15 +0000 (+0000) Subject: Generalizar ejecutar_tarea_xxx(). X-Git-Tag: 0_9~25 X-Git-Url: https://git.llucax.com/z.facultad/75.52/sercom.git/commitdiff_plain/7a20432786bc102f1378926a0dd2a1e45159bb6b Generalizar ejecutar_tarea_xxx(). 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. --- diff --git a/doc/testdata.py b/doc/testdata.py index b3bdb51..2ee7595 100644 --- a/doc/testdata.py +++ b/doc/testdata.py @@ -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') diff --git a/sercom/model.py b/sercom/model.py index 1909de6..6bc5435 100644 --- a/sercom/model.py +++ b/sercom/model.py @@ -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') diff --git a/sercom/tester.py b/sercom/tester.py index fdcc593..225e13d 100644 --- a/sercom/tester.py +++ b/sercom/tester.py @@ -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,