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')
# 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
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,