はじめに
競技プログラミングを、データ構造とアルゴリズムの勉強のためにやろうと思っていて、最近は開発ツールの開発に精神を持っていかれてしまいました。まあまあ使いやすいものになったので、よかったら使ってみてください(改善点等あれば是非教えてください!)。こちらに掲載したテストスクリプトと組み合わせることで、自動テストスクリプトとなります。その内1つのページにまとめるかもしれません。
環境構築
ファイル更新検知のためにfswatch
というコマンドを用いる。
environment
# Mac$ brew install fswatch
# Ubuntu$ sudo apt install fswatch
組み合わせたもの
スクリプト実行ディレクトリにtest.sh
を配置することで、ファイル更新時に自動で入力をテストしてくれる。また、正解データと出力を上下に並べて表示するため、簡単に正解かどうか確認することができる。
autoreloader.sh
#!/bin/bashwhile :;do
./test.sh
res=$(fswatch -1.>/dev/null)done
自動コンパイル実行だけを使用したい方向け
test.sh
に関係なく自動更新する場合は、以下のようにコンパイルコマンドと実行コマンドを記述することで自動実行できる。
autoreloader.sh
#!/bin/bashwhile :;do
g++ -o main.out main.cpp
./main.out
res=$(fswatch -1.>/dev/null)done