私は、これらのテストのいずれかが凍結すると私の全体のテストスイートがハングします時折、私のテストスイートを実行するために使用する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. Win32 API - Ctrl + Ctrl C
- 2. forcePasteAsPlainTextは、Ctrlキー+ V
- 3. Ctrl + ReturnキーまたはCtrl + Enterキーの検出
- 4. jquery.hotkeys.jsを使用してCtrlキーとCtrl +キーをバインドします
- 5. キーシーケンス:CTRL + Page UpキーまたはCtrl + Page Downキー
- 6. 特別なキーを有効にする方法(ctrl-c、ctrl-v、tab、delete)Windows.Form.WebBrowserコントロール
- 7. のC#はCtrl + A/Ctrlキー+ qは私が問題を抱えている
- 8. Ctrl + C
- 9. JavascriptとCtrlキーの競合
- 10. Ctrlキー+シフト+ F8はアンドロイドスタジオ
- 11. EoFの/ Ctrlキー+ Dコマンド
- 12. リモートインタラクティブシェルはCTRL-C
- 13. オーバーライドCtrl-C
- 14. request.getにCtrl-C
- 15. C - CTRL +文字
- 16. ダーツコンソールアプリケーションのCtrl + c
- 17. C - CTRL +が
- 18. のVisual Studio 2015のTabControl無効にキーボードショートカットのCtrl + Tabキー&Ctrlキー+ Shift + Tab
- 19. VimでCtrlキーとCtrlキーをマップする方法はありますか?
- 20. ボタンを経由してCtrlキーSまたはCtrl Pをトリガ
- 21. はどのように私はのCtrl-、つまり、Ctrlキー+コンマ
- 22. 送信Ctrl + K Ctrk + Uが機能しないCtrl + K Ctrl + C
- 23. Scalaは:CTRL + C /コントロール+ C/SIGINT
- 24. Visual StudioでCtrl + C(Ctrl + V、Ctrl + Z、Ctrl + X)キーボードショートカットボタンを1回押す
- 25. VimのCtrlキーを押しながら左/ Ctrlキーを押しながら右キーの動作
- 26. Ctrlキーを押してシミュレーションする
- 27. EmacsでfnキーをCtrlに設定
- 28. TextBoxのCtrl + 1キーの押下方法
- 29. Ctrl + Aキーを押しますか?
- 30. JavaでのNokia Ctrl/Chrキーの押下