X-Git-Url: https://git.llucax.com/software/sercom.git/blobdiff_plain/0ce291818f5426dd53bb37e1f06f53f90d693005..2f9b5dd0dfdf64ca1026303f8cc1b6d4eeefd9c2:/doc/testdata.py diff --git a/doc/testdata.py b/doc/testdata.py index 9b316bc..012c69e 100644 --- a/doc/testdata.py +++ b/doc/testdata.py @@ -1,60 +1,83 @@ +# vim: set et sw=4 sts=4 encoding=utf-8 foldmethod=marker : -r1 = Rol(nombre='admin', permisos=(entregar_tp, admin)) +from datetime import timedelta +# Roles +r1 = Rol(nombre='admin', permisos=(entregar_tp, admin)) r2 = Rol(nombre='alumno', permisos=(entregar_tp,)) -d = Docente('luca', u'Leandro Lucarella', 'luca', 'llucax@gmail.com', - '4554-1554', roles=[r1], activo=True) - -a = Alumno('77891', 'Tito Puente', '77891', roles=[r2]) - -t1 = Tarea('compilar') -t2 = Tarea('probar', dependencias=(t1,)) -t3 = Tarea(u'configurar detector de copias') -t4 = Tarea(u'detectar copias', dependencias=(t3, t2)) - -e1 = Enunciado(u'Un enunciado', d, u'Ejercicio reeee jodido', (t4,)) -e2 = Enunciado(u'Otro enunciado', d, u'Ejercicio facilongo', (t2, t4)) -e3 = d.add_enunciado(u'Más enunciados', u'Ejercicio anónimo') - -c = Curso(2007, 1, 1, u'Martes', [d], [e1, e2]) - -cp1 = e1.add_caso_de_prueba(u'Sin parámetros', retorno=0, descripcion=u'Un caso') -cp2 = e1.add_caso_de_prueba(u'2 parámetross', retorno=0, parametros=('--test', '-c')) - +# Usuarios +d = Docente(usuario='luca', nombre=u'Leandro Lucarella', password='luca', + email='llucax@gmail.com', telefono='4554-1554', roles=[r1], activo=True) +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) +cf = tf.add_comando(1, 'make tito', retorno=0, max_cant_archivos=15, + max_cant_procesos=100, terminar_si_falla=True, rechazar_si_falla=True, + archivos_a_guardar=('__stdout__', '__stderr__'), + 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) +cp = tp.add_comando(1, retorno=0, terminar_si_falla=True, + rechazar_si_falla=True, descripcion='Prueba normalmente, sin filtros') + +# Enunciados +e1 = Enunciado(nombre=u'Un enunciado', anio=2007, cuatrimestre=1, autor=d, + descripcion=u'Ejercicio reeee jodido', tareas=(tf, tp)) +e2 = Enunciado(nombre=u'Otro enunciado', anio=2007, cuatrimestre=1, autor=d, + descripcion=u'Ejercicio facilongo', tareas=(tf,)) +e3 = d.add_enunciado(u'Más enunciados', anio=2007, cuatrimestre=1, + descripcion=u'Ejercicio anónimo') + +# Cursos +c = Curso(anio=2007, cuatrimestre=1, numero=1, descripcion=u'Martes', + docentes=[d], ejercicios=[e1, e2]) + +# Casos de prueba +cp1 = e1.add_caso_de_prueba(nombre=u'Sin parámetros', retorno=0, + descripcion=u'Un caso', comando='./tito') +cp2 = e1.add_caso_de_prueba(nombre=u'2 parámetross', retorno=0, + comando='./tito --test -c "con espacios"') + +# Ejercicios ej1 = c.ejercicios[0] ej1.grupal = True ej2 = c.ejercicios[1] -ide = ej1.add_instancia(1, datetime(2007, 1, 25), datetime(2007, 1, 31, 20), - observaciones='Entrega fea', activo=False, tareas=(t2, t4)) +# Instancias de entrega +ide = ej1.add_instancia(numero=1, inicio=datetime(2007, 2, 25), + fin=datetime(2007, 3, 31, 20), observaciones='Entrega fea', activo=True) +# Docentes/Alumnos/Grupos inscriptos di = c.docentes[0] - ai1 = c.add_alumno(a) -ai2 = c.add_alumno(Alumno('83525', u'Pepe Lui'), tutor=di) - +ai2 = c.add_alumno(Alumno(padron='83525', nombre=u'Pepe Lui'), tutor=di) g1 = c.add_grupo(5) -g2 = c.add_grupo(8, responsable=ai2) - -g2.add_alumno(ai1) -g2.add_alumno(ai2) -g2.add_docente(di) - -entrega = ai1.add_entrega(ide) -ai2.add_entrega(ide, correcta=True) -entrega2 = g1.add_entrega(ide, correcta=True) -d.add_entrega(ide, correcta=True, observaciones='Prueba de docente') - -te = entrega.add_tarea_ejecutada(t1) -entrega.add_tarea_ejecutada(t2) -entrega2.add_tarea_ejecutada(t1, inicio=datetime(2007, 1, 2), - fin=datetime.now(), exito=True) -entrega2.add_tarea_ejecutada(t2, observaciones='Va a tardar') - -te.add_prueba(cp1, inicio=datetime(2007, 1, 7), fin=datetime.now(), pasada=True) -te.add_prueba(cp2) - +g2 = c.add_grupo(8, responsable=ai2, miembros=[ai1], tutores=[di]) +g2.add_miembro(ai2) + +# Entregas +archivo_zip = file('doc/entrega.zip').read() +ai1.add_entrega(ide, archivos=archivo_zip) +entrega = ai2.add_entrega(ide, inicio_tareas=datetime.now(), + fin_tareas=datetime.now() + timedelta(0, 0, 1), correcta=True, + archivos=archivo_zip) +entrega2 = g1.add_entrega(ide, inicio_tareas=datetime.now(), + fin_tareas=datetime.now() + timedelta(0, 0, 3), correcta=False, + archivos=archivo_zip) +d.add_entrega(ide, observaciones='Prueba de docente', archivos=archivo_zip) + +# Comandos ejecutados / pruebas +cpe = entrega.add_comando_ejecutado(cf, exito=True, + fin=datetime(2007, 2, 25, 10, 13, 34), + inicio=datetime(2007, 2, 25, 10, 12, 34)) +p = entrega.add_prueba(cp1) +p.add_comando_ejecutado(cp) + +# Correcciones di.add_correccion(entrega, asignado=datetime(2007, 1, 19), nota=7.5, corregido=datetime.now(), observaciones=u'Le faltó un punto') di.add_correccion(entrega2)