Una plataforma que le permite enviar y probar fragmentos de código en línea para practicar.
LaunchTestrun depende del siguiente software para ejecutar:
Para instalar estos paquetes en Ubuntu o Debian, ejecute los siguientes comandos:
Para instalar las cadenas de herramientas requeridas, ejecute
sudo apt-get update
sudo apt-get install default-jre default-jdk build-essential python2 python3 mono-devel
release/ al directorio webapps/ directorio en su servidor Apache Tomcat (si usó los pasos anteriores, Tomcat debe instalarse en ~/ LaunchTestrun), y omita al paso 5.LaunchTestRun.war .webapps/ .bin/catalina.sh en su instalación de Apache Tomcat con catalina.sh en este directorio (problemas de parches con Java 9 y Tomcat 8).bin/ en su ejecutable de instalación de Tomcat ejecutando chmod +x *.sh en el bin/ directorio de su instalación de Tomcat.bin/startup.sh en su directorio de instalación de Tomcat para iniciar el lanzamiento de Lunchtestrun. Si desea obtener más seguridad en su instalación de lanzamiento de Trastore (¡muy recomendable como otros ejecutarán código en su servidor!), Debe crear un nuevo usuario que solo tenga permisos para ejecutar y acceder a los archivos dentro del directorio de instalación de TomCat. Para asegurar su configuración, después de ejecutar bin/startup.sh la primera vez después de mover el archivo .war, ejecute los siguientes comandos (reemplace todo el texto entre paréntesis con ubicaciones aplicables a su instalación específica):
su root
chmod 755 [ YOUR TOMCAT DIRECTORY HERE ] -R
cd [ YOUR TOMCAT DIRECTORY HERE ]
useradd launchtestrun
mkdir work
touch webapps/LaunchTestRun/forensics.txt
chown launchtestrun:launchtestrun -R work
chown launchtestrun:launchtestrun -R logs
chown launchtestrun:launchtestrun -R webapps/LaunchTestRun
chown launchtestrun:launchtestrun -R webapps/LaunchTestRun/upload
chown launchtestrun:launchtestrun -R webapps/LaunchTestRun/forensics.txt
Después de configurar estos permisos, al iniciar el servidor LaunchTestrun, cambie al usuario launchtestrun antes de ejecutar startup.sh con los siguientes comandos:
su launchtestrun
cd [ YOUR TOMCAT DIRECTORY HERE ]/bin
./startup.sh
Para ver un registro forense de todos los archivos cargados y ejecutados (que contienen IP, entrada, salida, hash MD5, Tiempo cargado, etc.), Ver webapps/LaunchTestRun/forensics.txt .
Nota: Se recomienda initalizar un repositorio de Git en webapps/LaunchTestRun/problems para que los problemas puedan cargarse, editarse y revertirse de forma remota si es necesario.
webapps/LaunchTestRun/problems dentro de su directorio Apache Tomcat. Cree un nuevo directorio con la siguiente estructura: [+] Name of problem
|- config.json
|- judge.in
|- judge.out
|- sample.in
|- sample.out
config.json debe contener los siguientes datos:
{
"cpid":"12345",
"title":"Sample Tile 1",
"description":"Test Problem Description",
"pdf":"http://www.pdfsite.org/files/test.pdf",
"setinfo":"Fall Competition 2019",
"samplein":"sample.in",
"sampleout":"sample.out",
"judgein":"judge.in",
"judgeout":"judge.out",
"inputname":"input.txt",
"timeout":"2000"
}
Dónde:
cpid es el # de identificación para el problema que desea definir.title es el título del problema que desea definir.description es la descripción del problema que desea definir.pdf es el enlace de URL al archivo PDF que desea mostrar con el problema.setinfo es la información sobre el conjunto de problemas del que proviene el problema que desea definir.samplein es el nombre del archivo de entrada de muestra. (La entrada dada al programa superpotrado del usuario)sampleout es el nombre del archivo de salida de muestra. (La salida esperada para la entrada)judgein es el nombre del archivo de entrada del juez. (La entrada dada al programa superpotrado del usuario)judgeout es el nombre del archivo de salida del juez. (La salida esperada para la entrada)inputname es el nombre del archivo de entrada que leerá el programa superado por el usuario, que se cambiará el nombre del archivo de entrada de muestra/juez.timeout es un entero que define el número de milisegundos que el programa se asignará para ejecutar antes de una terminación forzada.webapps/LaunchTestRun/settings.json , que contiene las rutas en las que la lista de lanzamiento buscará los compiladores. Se puede acceder al servidor LaunchTestrun de forma predeterminada desde: http://127.0.0.1:8080/LaunchTestRun/index.html/ Después de que se configura con Tomcat en las secciones anteriores. Se puede acceder a una lista de problemas agregados de forma predeterminada desde: http://127.0.0.1:8080/LaunchTestRun/listproblems.html/ .