如果執行期間發生錯誤,TAEF 的 「Te.exe」 命令行可執行檔前端會傳回非零結束代碼。 有不同方式可以發生「錯誤」,而進程結束代碼會反映這一點。
Te.exe 的程序結束代碼是32位數位,而該數位內的不同位會反映不同類型的錯誤。 退出代碼分解如下:
- 位元 0-15:「測試結果值」- 這是測試未通過的數目。
- 位元 16-23:“TestMode 結果值” - 來自 TestMode 的錯誤代碼(尚未使用)。
- 位 24-30:「線束結果值」- 來自線束本身的錯誤。
最顯著的位元(第 31 位元,即有符號數的符號位)不會用,以避免混淆有符號和無符號數。 進程結束代碼一律為正數。 更實際地說:
- 如果結束代碼小於或等於 0xFFFF (65535),則表示執行 Te.exe 未通過的測試數目(失敗、封鎖、未執行或略過)。 如果超過 65535 個測試未通過,則此值上限為 65535。
- 如果結束代碼大於 0xFFFF/65535,則出現了執行測試代碼以外的錯誤。
下列清單顯示目前的「利用結果值」及其解譯。
| Harness 結果值 | Te.exe 結束代碼 | 解譯 |
|---|---|---|
| 1 | 0x01000000(16777216) | 要求協助 (“/?” 或 “/!”) - 未執行任何測試。 |
| 2 | 0x02000000 (33554432) | Wex.Logger 回報錯誤。 |
| 3 | 0x03000000 (50331648) | 無法初始化 Wex.Logger。 |
| 4 | 0x04000000 (67108864) | Wex.Logger 產生了無效的 Pass/Fail 計數(通常是由測試中的 StartGroup/EndGroup 呼叫不平衡造成的) |
| 5 | 0x05000000(83886080) | 無效的命令列(未指定有效的測試檔案,同時指定多個測試檔案時使用了 "/inproc")。 |
| 6 | 0x06000000 (100663296) | 發生其他一些例外狀況。 |
| 7 | 0x07000000 (117440512) | 未執行任何測試。 |
| 8 | 0x08000000 (134217728) | TAEF 會話逾時。 |
| 9 | 0x09000000 (150994944) | 要求版本資訊 (“/version”) - 未執行任何測試。 |