コードスニペットをオンラインで送信およびテストできるプラットフォーム。
LaunchTestrunは、実行する次のソフトウェアに依存します。
これらのパッケージをubuntuまたはdebianにインストールするには、次のコマンドを実行してください。
必要なツールチェーンをインストールするには、実行します
sudo apt-get update
sudo apt-get install default-jre default-jdk build-essential python2 python3 mono-devel
release/ webapps/ Directoryにコピーします(以前のステップを使用した場合は、tomcatを〜/ launchtestrunにインストールする必要があります)。LaunchTestRun.warという名前の.warにエクスポートします。webapps/ディレクトリのApache Tomcatサーバーに移動します。bin/catalina.sh Apache Tomcatのインストールでは、このディレクトリのcatalina.shに置き換えます(Java 9およびTomcat 8のパッチの問題)。bin/ディレクトリでchmod +x *.shを実行して、Tomcatインストール実行可能ファイルのbin/ディレクトリにシェルスクリプトを作成します。bin/startup.shを実行して、LaunchTestrunを開始します。LaunchTestrunインストールでより多くのセキュリティが必要な場合(他の人がサーバーでコードを実行するため、強くお勧めします!)、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
これらの権限を設定した後、LaunchTestrunサーバーを起動するときは、次のコマンドで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 、サンプル/裁判官の入力ファイルの名前が変更されるユーザーがUploadedプログラムが読み取る入力ファイルの名前です。timeout 、プログラムが強制終了前に実行されるように割り当てられるミリ秒数を定義する整数です。webapps/LaunchTestRun/settings.jsonを編集できます。LaunchTestrunサーバーは、デフォルトで、前のセクションでTomcatで構成された後、 http://127.0.0.1:8080/LaunchTestRun/index.html/ launchtestrun/index.html/からアクセスできます。追加された問題のリストは、デフォルトでhttp://127.0.0.1:8080/LaunchTestRun/listproblems.html/からアクセスできます。