私は、これらのテストのいずれかが凍結すると私の全体のテストスイートがハングします時折、私のテストスイートを実行するために使用するAntタスクのセットを持っています。私は優雅にはCtrl +Cアリがシャットダウンを打ったときにシャットダウンハンドラを追加し、私に実行していないとしてマークされた最終テストでレポートを与えます。これは私のシャットダウンフックが呼び出されていないWindows上を除いて素晴らしい作品(これらは統合テストであり、時間のために実行することができますので、これは重要です)。どのような種類の入力にも対応し、正常なシャットダウンを行う方法はありますか?Antビルドシャットダウン - CtrlキーC
4
A
答えて
2
long-running known issueあるようです。
問題は、あなたが子供のVMに伝播しない、観察していると、Windows上でAntのはCtrl +Cは、ということです。考えられること:
- テストを細かく分割して、
timeout
を使用して、ハングするものをすべて削除します。これは、ハングする1つのテストに失われたデータを制限します。 - テスト実行時に、シャットダウンの「シグナル」(おそらくフラグファイルの存在)を待つ「リスナー」スレッドを追加し、ハングアップするとコンソールからのコマンドでAntによってそのシグナルが設定されるように調整しますが検出される。
これは複雑に見えますが、ショット価値があるかもしれません。 Ant parallel
とinput
タスクを組み合わせて1つのスレッドでテストを実行し、2番目のスレッドでコンソールからの入力を待つ必要があります。アボートが選択されると、シグナルファイルが書き込まれます。これはテスト実行のリスナーで検出され、終了します。他の入力があれば、ランのクリーンな終了につながります。これに伴う問題は、テストが正常に完了した場合、あなたはAntがユーザーの入力を待って残っている、ということですが、そのための場所で、全体的なタイムアウトを置くことができます。 (私はテスト実行コードは、信号のファイルを検出する方法の例を与えられていませんでした。)
擬アリ:
<property name="signal.abort" value="stop.txt" />
<target name="runner">
<delete file="${signal.abort}" />
<parallel timeout="86400000">
<sequential>
<!-- run tests here -->
</sequential>
<sequential>
<input validargs="y,n"
message="Abort the test (y/n)?"
addproperty="abort.test" />
<condition property="do.abort">
<equals arg1="y" arg2="${abort.test}"/>
</condition>
<ant target="terminator" />
</sequential>
</parallel>
</target>
<target name="terminator" if="do.abort">
<echo message="abort" file="${signal.abort}" />
</target>
関連する問題
- 1. forcePasteAsPlainTextは、Ctrlキー+ V
- 2. Ctrl + ReturnキーまたはCtrl + Enterキーの検出
- 3. jquery.hotkeys.jsを使用してCtrlキーとCtrl +キーをバインドします
- 4. Win32 API - Ctrl + Ctrl C
- 5. 特別なキーを有効にする方法(ctrl-c、ctrl-v、tab、delete)Windows.Form.WebBrowserコントロール
- 6. Ctrl + C
- 7. VimでCtrlキーとCtrlキーをマップする方法はありますか?
- 8. C - CTRL +文字
- 9. リモートインタラクティブシェルはCTRL-C
- 10. オーバーライドCtrl-C
- 11. ダーツコンソールアプリケーションのCtrl + c
- 12. はどのように私はのCtrl-、つまり、Ctrlキー+コンマ
- 13. ボタンを経由してCtrlキーSまたはCtrl Pをトリガ
- 14. VimのCtrlキーを押しながら左/ Ctrlキーを押しながら右キーの動作
- 15. 送信Ctrl + K Ctrk + Uが機能しないCtrl + K Ctrl + C
- 16. EmacsでfnキーをCtrlに設定
- 17. Ctrlキーを押してシミュレーションする
- 18. JavaでのNokia Ctrl/Chrキーの押下
- 19. キーダウンイベントなしでCTRLキーとSHIFTキーを検出しますか?
- 20. FirefoxとChromeでJavascriptを使用してCtrl + Ctrlキーを押しながら
- 21. エクセルでコピー(ctrl + c)、ペースト(ctrl + v)、カット(ctrl + x)を無効にする
- 22. Java Swing Menubarで3つのShoutcutキー(Ctrl + Shift + C)を追加するには?
- 23. フレックスでCTRL + C入力とF3キー入力を検出する方法
- 24. Ctrl + CをPythonスクリプトにシミュレート
- 25. Google ChromeのCtrl + cとBackspace
- 26. "Ctrl + C"ボタンが押されたC#コンソールアプリケーション
- 27. EclipseでCTRL + C/CTRL + Vが動作しません
- 28. VS2010:Ctrlキーを押しながらPgUpキー/ -PgDownようなブラウザで
- 29. WindowsのサブプロセスツリーにCTRL + Cを送信
- 30. 実行中のjGrasp JavaブレークCtrl-C