X-Git-Url: https://git.llucax.com/software/sercom.git/blobdiff_plain/2344dcf6736372c1dd359a95819fb3c2e131afc2..9a300bd78c09c4212613ecccbc4ee7363ef16b92:/doc/testdata.py diff --git a/doc/testdata.py b/doc/testdata.py index 39477e5..594d351 100644 --- a/doc/testdata.py +++ b/doc/testdata.py @@ -1,65 +1,84 @@ -c = Curso(anio=2007, cuatrimestre=1, numero=1, descripcion=u'Martes') - -d = Docente(usuario=u'luca', nombre='Leandro Lucarella') -d.password = 'luca' - -a = Alumno(usuario='77891', nombre='Tito Puente') -a.password = '77891' - -r = Rol(nombre='admin', permisos=(entregar_tp, admin)) -d.addRol(r) - -r = Rol(nombre='alumno', permisos=(entregar_tp,)) -a.addRol(r) - -t1 = Tarea(nombre='compilar') -t2 = Tarea(nombre='probar') -t2.dependencias = (t1,) -t3 = Tarea(nombre=u'configurar detector de copias') -t4 = Tarea(nombre=u'detectar copias') -t4.dependencias = (t3, t2) - -e1 = Enunciado(nombre=u'Un enunciado', autor=d, descripcion=u'Ejercicio reeee jodido') -e2 = Enunciado(nombre=u'Otro enunciado', autor=d, descripcion=u'Ejercicio facilongo') -e3 = Enunciado(nombre=u'Más enunciados', descripcion=u'Ejercicio anónimo') - -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')) - -ej1 = c.add_ejercicio(1, e1, grupal=True) -ej2 = c.add_ejercicio(2, e2) - -ide = ej1.add_instancia(1, datetime(2007, 1, 25), datetime(2007, 1, 31, 20), - observaciones='Entrega fea', activo=False) - -di = c.add_docente(d, corrige=True, observaciones=u'Tipo Pulenta') - +# vim: set et sw=4 sts=4 encoding=utf-8 foldmethod=marker : + +from datetime import timedelta + +# Roles +r1 = Rol(nombre='admin', permisos=(entregar_tp, admin)) +r2 = Rol(nombre='alumno', permisos=(entregar_tp,)) + +# 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') +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') +cp = tp.add_comando(1, retorno=ComandoPrueba.RET_PRUEBA, 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=1, + comando='./tito --test -c "con espacios"', terminar_si_falla=False, + archivos_a_guardar=('__stdout__',)) + +# Ejercicios +ej1 = c.ejercicios[0] +ej1.grupal = True +ej2 = c.ejercicios[1] + +# 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(usuario='83525', nombre=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() +entrega = g2.add_entrega(ide, inicio=datetime.now(), + fin=datetime.now() + timedelta(0, 0, 1), exito=True, + archivos=archivo_zip) +entrega2 = g1.add_entrega(ide, inicio=datetime.now(), + fin=datetime.now() + timedelta(0, 0, 3), exito=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) __connection__.hub.commit() +