]> git.llucax.com Git - software/sercom-old.git/blob - doc/README
1c504d8be1875e0414442ecafe2c875750aa7dd5
[software/sercom-old.git] / doc / README
1 Corrector Automático para Taller de Programación I (75.42)
2 Universidad de Buenos Aires - Facultad de Ingeniería
3
4 Este programa requiere el siguiente los siguientes programas y bibliotecas:
5 * php4-cli
6 * php4-imap
7 * php4-pear
8 * php4 PEAR DB_DataObject (1.7.2 o superior) (# pear install -a DB_DataObject)
9 * make
10 * python2.4
11 * python2.4-sqlobject (0.6.2 o superior)
12
13 En el directorio /etc/sercom se encuentran los archivos de configuración,
14 debería darle una mirada antes de correr el servidor.
15
16 /etc/sercom/log.ini es un poco más complejo y sirve para configurar el nivel
17 de log. El formato está descripto en:
18 http://docs.python.org/lib/logging-config-fileformat.html
19 Se lo provee de una forma bastante razonable, probablemente haya que cambiar
20 la sección [handler_mail] para poner un servidor SMTP y direcciones de mail
21 válidas solamente.
22
23 Los archivos de configuración originales se encuentran en
24 /usr/share/doc/sercom/examples, por si fuera necesario recuperarlos.
25
26 En /var/lib/sercom están los archivos de datos del programa. Contiene:
27 - Makefile de ejemplo ('Makefile' para C y 'Makefile-cpp' para C++).
28 - Directorio 'intentos' donde los intentos de entrega que llegan por mail
29   de los alumnos. Su estructura es:
30   intentos/año.cuatrimestre/curso.ejercicio.entrega/padron.intento
31   dentro de cada directorio están los archivos fuente enviados por el alumno.
32 - Directorio 'ejercicios' donde los datos sobre los ejercicios deben ser
33   guardados, incluyendo los archivos para casos de prueba. Su estructura es:
34   ejercicios/[id]/Makefile
35                   casos_de_prueba/[nombre]/{stdin}
36                                            {stdout}
37                                            {stderr}
38                                            {entradas/[archivo]}
39                                            {salidas/[archivo]}
40   [algo] significa que algo es una variable. {algo} indica que puede no existir.
41   id: es el identificador de ejercicio en la base de datos.
42   nombre: es el nombre del caso de prueba
43   stdin/stdout/stderr: es la entrada estándar, salida estándar y salida de error
44     esperada (la entrada es la que espera el programa a probar y las salidas son
45     las que espera el corrector para saber si la corrida fue correcta).
46   entradas: los 'archivo's de entradas son los archivos que espera tener
47     presente el programa para correr el caso de prueba.
48   salidas: los 'archivo's de salidas son los archivos que espera que genere (o
49     modifique si estaba presente también en entradas) el corrector y con el que
50     serán comparados dichos archivos generados para evaluar si la corrida fue
51     correcta.
52 - Archivo de base de datos: la configuración por omisión espera la base de datos
53   en /var/lib/sercom/corrector.sqlite, con la estructura descripta en
54   /usr/share/doc/sercom/schema.sql. Para crear la base de datos vacía:
55   sqlite /var/lib/sercom/corrector.sqlite < /usr/share/doc/sercom/schema.sql
56   Pero recuerde que también habrá que cargar la base de datos con los datos
57   mínimos para que el corrector funcione (entregas, ejercicios, cursos,
58   docentes, inscriptos, casos de prueba).
59
60 Por omisión el programa guarda el archivo de log en /var/log/sercom.log.
61
62  -- Leandro Lucarella <llucare@fi.uba.ar>, sáb mar  5 22:16:29 ART 2005