LaunchTestRun
Stable Release 1.2.2
一個平台,您可以在線提交和測試代碼片段進行練習。
LaunchTestrun取決於以下軟件運行:
要在Ubuntu或Debian上安裝這些軟件包,請運行以下命令:
要安裝所需的工具鏈,請運行
sudo apt-get update
sudo apt-get install default-jre default-jdk build-essential python2 python3 mono-devel
release/中的.war文件複製到Apache Tomcat服務器中的webapps/ Directory(如果您使用的是以前的步驟,則應在〜/ lainingTestrun中安裝tomcat),然後跳過到第5步。LaunchTestRun.war的.war中。webapps/ Directory中的Apache Tomcat服務器中。catalina.sh在Apache Tomcat安裝中替換bin/catalina.sh (java 9和tomcat 8)中的catalina.sh。chmod +x *.sh在tomcat安裝的bin/ directory中運行chmod +x *.sh,在bin/ tocat安裝中製作shell腳本。bin/startup.sh以啟動啟動圖。如果您想在啟動圖表安裝上進行更多的安全性(強烈建議使用服務器上的其他代碼!),您應該創建一個新用戶,該用戶只有在Tomcat安裝目錄中運行和訪問文件的權限。為了保護您的設置,在運行bin/startup.sh後,第一次運行.war文件後,運行以下命令(替換適用於特定安裝的位置的括號中的所有文本):
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
設置這些權限後,在啟動啟動器服務器時,請在運行以下命令下運行startup.sh之前切換到launchtestrun用戶:
su launchtestrun
cd [ YOUR TOMCAT DIRECTORY HERE ]/bin
./startup.sh
要查看上傳和執行的所有文件的法醫日誌(包含IP,輸入,輸出,MD5哈希,上傳時間等),請查看webapps/LaunchTestRun/forensics.txt 。
注意:建議在webapps/LaunchTestRun/problems中將GIT存儲庫歸化,以便在需要時可以遠程上載,編輯和恢復問題。
webapps/LaunchTestRun/problems 。創建一個具有以下結構的新目錄: [+] Name of problem
|- config.json
|- judge.in
|- judge.out
|- sample.in
|- sample.out
config.json應該包含以下數據:
{
"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"
}
在哪裡:
cpid是您要定義的問題的ID#。title是您要定義的問題的標題。description是您要定義的問題的描述。pdf是您想要與問題顯示的PDF文件的URL鏈接。setinfo是有關您要定義的問題集的信息集。samplein是示例輸入文件的名稱。 (給出的用戶刪除程序的輸入)sampleout是示例輸出文件的名稱。 (輸入的預期輸出)judgein是法官輸入文件的名稱。 (給出的用戶刪除程序的輸入)judgeout是法官輸出文件的名稱。 (輸入的預期輸出)inputname是用戶更易程序將讀取輸入文件的名稱,該程序將重命名為示例/法官輸入文件。timeout是一個整數,定義了該程序將在強制終止之前執行的毫秒數。webapps/LaunchTestRun/settings.json ,其中包含啟動Testrun將尋找編譯器的路徑。默認情況下,可以訪問啟動Testrun服務器: http://127.0.0.1:8080/LaunchTestRun/index.html/ 8080/launchtestrun/index.html/在以前的一節中配置了tomcat之後。默認情況下可以訪問添加的問題列表: http://127.0.0.1:8080/LaunchTestRun/listproblems.html/ 8080/launchtestrun/listproblems.html/。