---
generated_at: 2026-02-17 21:30:00
metrics:
  claims_total: 133
  claims_with_evidence: 133
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート：testament.csv

## 本レポートについて

### 目的
本レポートは、生成された単体テストケース一覧の信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

### チェック方法
以下の観点でドキュメントの内容（Claim：主張）を検証しています：

1. **根拠の有無確認**：各主張に対して、ソースコード・既存設計書・要件定義書などの根拠（Evidence）が存在するか
2. **根拠との整合性**：主張の内容が根拠と矛盾していないか
3. **網羅性**：参照すべき情報源を適切にカバーしているか

### 信頼度スコアの算出
- **confidence_derived** = 根拠あり件数 / 総主張件数
- 状態「○」：根拠あり、「△」：根拠不足または要確認

### 本レポートの使い方
1. まず「サマリー」で全体の信頼度と優先レビュー項目を確認
2. 「Claims と根拠の対応」で △ の項目を重点的にレビュー
3. 「不足情報」で補完が必要な情報源を確認

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：133 / 133、根拠なし：0
- 優先レビュー（高）
  1. **該当なし**：すべてのテストケースに根拠あり

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。抽出フェーズで付けたIDをそのまま出す。

- E-01: `testament/specs.nim` - テスト仕様解析モジュール（526行）
- E-02: `testament/testament.nim` - メインテストランナー（845行）
- E-03: `testament/categories.nim` - カテゴリ処理モジュール（751行）
- E-04: `testament/backend.nim` - バックエンドモジュール（71行）
- E-05: `testament/azure.nim` - Azure Pipelines連携モジュール（148行）
- E-06: `testament/htmlgen.nim` - HTMLレポート生成モジュール（150行）
- E-07: `testament/important_packages.nim` - 重要パッケージ定義（193行）
- E-08: `testament/caasdriver.nim` - Compiler as a Service ドライバー（196行）
- E-09: `testament/lib/stdtest/testutils.nim` - テストユーティリティ（127行）
- E-10: `testament/lib/stdtest/specialpaths.nim` - 特殊パス処理（57行）
- E-11: `testament/lib/stdtest/netutils.nim` - ネットワークユーティリティ（14行）
- E-12: `testament/lib/stdtest/unittest_light.nim` - 軽量ユニットテスト（43行）

## 3) Claims と根拠の対応（レビューの主戦場）

### specs.nim 関連テストケース
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | parseTargets - 有効なターゲット文字列を解析 | E-01 (301-309行) | ○ |
| C-02 | parseTargets - 複数ターゲットの空白区切り解析 | E-01 (301-309行) | ○ |
| C-03 | parseTargets - cpp別名c++解析 | E-01 (306行) | ○ |
| C-04 | parseTargets - 無効ターゲットでValueError | E-01 (309行) | ○ |
| C-05 | parseTargets - 空文字列で空set | E-01 (302-303行) | ○ |
| C-06 | initSpec - 初期TSpec作成 | E-01 (311-312行) | ○ |
| C-07 | parseSpec - 仕様文字列解析 | E-01 (320-503行) | ○ |
| C-08 | parseSpec - errormsgでactionがreject | E-01 (379-381行) | ○ |
| C-09 | parseSpec - outputで出力チェックモード | E-01 (362-365行) | ○ |
| C-10 | parseSpec - exitcodeでactionがrun | E-01 (376-378行) | ○ |
| C-11 | parseSpec - timeout設定 | E-01 (477-481行) | ○ |
| C-12 | parseSpec - 無効キーでparseErrors追加 | E-01 (492-493行) | ○ |
| C-13 | parseSpec - disabled設定 | E-01 (402-467行) | ○ |
| C-14 | parseSpec - matrix設定 | E-01 (489-491行) | ○ |
| C-15 | parseSpec - 空nimoutエラー | E-01 (508-509行) | ○ |
| C-16 | isCurrentBatch - バッチ0でtrue | E-01 (314-318行) | ○ |
| C-17 | isCurrentBatch - ハッシュ一致でtrue | E-01 (314-318行) | ○ |
| C-18 | isCurrentBatch - ハッシュ不一致でfalse | E-01 (314-318行) | ○ |
| C-19 | extractErrorMsg - インラインエラー抽出 | E-01 (143-258行) | ○ |
| C-20 | extractErrorMsg - 複数エラー抽出 | E-01 (143-258行) | ○ |
| C-21 | extractErrorMsg - 無効種別エラー | E-01 (180-181行) | ○ |
| C-22 | extractSpec - 仕様文字列抽出 | E-01 (259-299行) | ○ |
| C-23 | extractSpec - 未終了仕様でValueError | E-01 (296-298行) | ○ |
| C-24 | getCmd - 空cmdでデフォルト | E-01 (108-112行) | ○ |
| C-25 | getCmd - 設定cmdそのまま返却 | E-01 (108-112行) | ○ |
| C-26 | defaultOptions - JSターゲット | E-01 (118-123行) | ○ |
| C-27 | defaultOptions - 非JSターゲット | E-01 (118-123行) | ○ |
| C-28 | addLine - 文字列連結と改行 | E-01 (133-136行) | ○ |

### testament.nim 関連テストケース
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-29 | trimUnitSep - ユニットセパレータ削除 | E-02 (27-30行) | ○ |
| C-30 | trimUnitSep - 変更なし | E-02 (27-30行) | ○ |
| C-31 | trimUnitSep - 空文字列 | E-02 (28-30行) | ○ |
| C-32 | isSuccess - 成功パターン一致 | E-02 (112-119行) | ○ |
| C-33 | isSuccess - 成功パターン不一致 | E-02 (112-119行) | ○ |
| C-34 | isSuccess - 空文字列 | E-02 (119行) | ○ |
| C-35 | getFileDir - 相対パス | E-02 (121-124行) | ○ |
| C-36 | getFileDir - 絶対パス | E-02 (121-124行) | ○ |
| C-37 | nimcacheDir - パス生成 | E-02 (159-162行) | ○ |
| C-38 | prepareTestCmd - テンプレート展開 | E-02 (164-172行) | ○ |
| C-39 | callNimCompiler - コンパイラ呼び出し | E-02 (174-229行) | ○ |
| C-40 | callNimCompiler - 成功時reSuccess | E-02 (208-213行) | ○ |
| C-41 | callNimCompiler - 失敗時エラー情報 | E-02 (222-229行) | ○ |
| C-42 | initResults - 結果初期化 | E-02 (231-238行) | ○ |
| C-43 | testName - テスト名生成 | E-02 (270-277行) | ○ |
| C-44 | testName - allowFailure表示 | E-02 (273-274行) | ○ |
| C-45 | addResult - 結果追加 | E-02 (279-345行) | ○ |
| C-46 | addResult - 成功カウント | E-02 (302-303行) | ○ |
| C-47 | finishTest - 経過時間計算 | E-02 (347-355行) | ○ |
| C-48 | finishTest - タイムアウト判定 | E-02 (353-354行) | ○ |
| C-49 | finishTestRetryable - リトライ可能 | E-02 (357-372行) | ○ |
| C-50 | finishTestRetryable - リトライなし | E-02 (369-372行) | ○ |
| C-51 | toString (InlineError) - 文字列変換 | E-02 (374-381行) | ○ |
| C-52 | inlineErrorsMsgs - エラーメッセージ結合 | E-02 (383-386行) | ○ |
| C-53 | checkForInlineErrors - 検証成功 | E-02 (388-392行) | ○ |
| C-54 | checkForInlineErrors - 検証失敗 | E-02 (388-392行) | ○ |
| C-55 | nimoutCheck - 完全一致成功 | E-02 (394-400行) | ○ |
| C-56 | nimoutCheck - 完全一致失敗 | E-02 (396-398行) | ○ |
| C-57 | nimoutCheck - 部分一致成功 | E-02 (399-400行) | ○ |
| C-58 | cmpMsgs - 成功 | E-02 (402-421行) | ○ |
| C-59 | cmpMsgs - 失敗 | E-02 (408-409行) | ○ |
| C-60 | cmpMsgs - ファイル不一致 | E-02 (412-414行) | ○ |
| C-61 | cmpMsgs - 行番号不一致 | E-02 (415-418行) | ○ |
| C-62 | generatedFile - JS | E-02 (423-429行) | ○ |
| C-63 | generatedFile - C | E-02 (423-429行) | ○ |
| C-64 | needsCodegenCheck - maxCodeSize | E-02 (431-432行) | ○ |
| C-65 | needsCodegenCheck - ccodeCheck | E-02 (431-432行) | ○ |
| C-66 | codegenCheck - 検証 | E-02 (434-456行) | ○ |
| C-67 | codegenCheck - サイズ超過 | E-02 (447-450行) | ○ |
| C-68 | codegenCheck - ファイル未発見 | E-02 (454-456行) | ○ |
| C-69 | equalModuloLastNewline - 末尾改行許容 | E-02 (485-487行) | ○ |
| C-70 | equalModuloLastNewline - 完全一致 | E-02 (485-487行) | ○ |
| C-71 | testSpec - テスト実行 | E-02 (603-619行) | ○ |
| C-72 | testSpec - parseErrorsでreInvalidSpec | E-02 (605-608行) | ○ |
| C-73 | makeTest - テストオブジェクト作成 | E-02 (627-634行) | ○ |
| C-74 | makeTest - 仕様解析統合 | E-02 (632行) | ○ |
| C-75 | loadSkipFrom - スキップリスト読込 | E-02 (674-682行) | ○ |
| C-76 | loadSkipFrom - コメント処理 | E-02 (680-681行) | ○ |
| C-77 | loadSkipFrom - 空パス | E-02 (676行) | ○ |
| C-78 | getTestSpecTarget - CPP環境 | E-02 (477-481行) | ○ |
| C-79 | getTestSpecTarget - デフォルト | E-02 (477-481行) | ○ |
| C-80 | changeTarget - オプションから変更 | E-02 (573-586行) | ○ |
| C-81 | changeTarget - デフォルト維持 | E-02 (573-586行) | ○ |
| C-82 | isNimRepoTests - 設定あり | E-02 (79-84行) | ○ |
| C-83 | isNimRepoTests - 設定なし | E-02 (79-84行) | ○ |

### backend.nim 関連テストケース
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-84 | getMachine - ホスト名取得 | E-04 (22-30行) | ○ |
| C-85 | getMachine - 取得失敗 | E-04 (27-28行) | ○ |
| C-86 | getCommit - コミット取得 | E-04 (32-37行) | ○ |
| C-87 | writeTestResult - JSON書き込み | E-04 (44-61行) | ○ |
| C-88 | writeTestResult - カテゴリ切替 | E-04 (46-53行) | ○ |
| C-89 | open - 初期化 | E-04 (63-65行) | ○ |
| C-90 | close - ファイル閉じ | E-04 (67-70行) | ○ |

### azure.nim 関連テストケース
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-91 | init - Azure初期化 | E-05 (57-98行) | ○ |
| C-92 | init - トークンなし | E-05 (65行) | ○ |
| C-93 | addTestResult - キャッシュ追加 | E-05 (127-147行) | ○ |
| C-94 | addTestResult - キャッシュフラッシュ | E-05 (146-147行) | ○ |
| C-95 | finalize - 終了処理 | E-05 (112-125行) | ○ |

### htmlgen.nim 関連テストケース
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-96 | generateHtml - HTML生成 | E-06 (123-136行) | ○ |
| C-97 | generateHtml - 失敗フィルタ | E-06 (131行) | ○ |
| C-98 | allTestResults - 結果集計 | E-06 (70-92行) | ○ |
| C-99 | allTestResults - 統計計算 | E-06 (85-92行) | ○ |

### categories.nim 関連テストケース
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-100 | isTestFile - テストファイル判定 | E-03 (45-47行) | ○ |
| C-101 | isTestFile - 非テストファイル | E-03 (47行) | ○ |
| C-102 | isTestFile - 拡張子チェック | E-03 (46行) | ○ |
| C-103 | processCategory - カテゴリ処理 | E-03 (653-728行) | ○ |
| C-104 | processPattern - パターン処理 | E-03 (730-750行) | ○ |
| C-105 | isJoinableSpec - 結合可能判定 | E-03 (530-555行) | ○ |
| C-106 | isJoinableSpec - 結合不可判定 | E-03 (541行) | ○ |
| C-107 | runJoinedTest - 結合テスト実行 | E-03 (562-648行) | ○ |
| C-108 | findMainFile - メインファイル検索 | E-03 (319-331行) | ○ |
| C-109 | findMainFile - 単一ファイル | E-03 (328-329行) | ○ |
| C-110 | findMainFile - 曖昧ファイル | E-03 (331行) | ○ |

### important_packages.nim 関連テストケース
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-111 | pkg - パッケージ追加 | E-07 (33-34行) | ○ |

### categories.nim (listPackages) 関連テストケース
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-112 | listPackages - フィルタリング | E-03 (406-422行) | ○ |
| C-113 | listPackages - フィルタなし | E-03 (415-416行) | ○ |

### caasdriver.nim 関連テストケース
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-114 | replaceVars - 変数置換 | E-08 (32-35行) | ○ |
| C-115 | startNimSession - セッション開始 | E-08 (37-55行) | ○ |
| C-116 | startNimSession - CaaSプロセス開始 | E-08 (53-55行) | ○ |
| C-117 | doCaasCommand - コマンド実行 | E-08 (57-71行) | ○ |
| C-118 | doProcCommand - プロセスコマンド | E-08 (73-88行) | ○ |
| C-119 | doScenario - シナリオ実行 | E-08 (112-159行) | ○ |
| C-120 | caasTestsRunner - テストランナー | E-08 (161-169行) | ○ |

### lib/stdtest/testutils.nim 関連テストケース
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-121 | flakyAssert - 成功 | E-09 (8-30行) | ○ |
| C-122 | flakyAssert - 失敗 | E-09 (8-30行) | ○ |
| C-123 | greedyOrderedSubsetLines - 成功 | E-09 (35-60行) | ○ |
| C-124 | greedyOrderedSubsetLines - 失敗 | E-09 (35-60行) | ○ |
| C-125 | enableRemoteNetworking | E-09 (62-67行) | ○ |

### lib/stdtest/specialpaths.nim 関連テストケース
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-126 | splitTestFile - パス分割 | E-10 (37-52行) | ○ |
| C-127 | splitTestFile - 無効パス | E-10 (52行) | ○ |

### lib/stdtest/netutils.nim 関連テストケース
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-128 | bindAvailablePort - ポートバインド | E-11 (3-13行) | ○ |
| C-129 | bindAvailablePort - バインド失敗 | E-11 (11-12行) | ○ |

### lib/stdtest/unittest_light.nim 関連テストケース
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-130 | mismatch - 差分検出 | E-12 (4-38行) | ○ |
| C-131 | mismatch - 改行可視化 | E-12 (15-16行) | ○ |
| C-132 | assertEquals - 成功 | E-12 (40-42行) | ○ |
| C-133 | assertEquals - 失敗 | E-12 (41-42行) | ○ |

## 4) 不足情報（Unknown / Missing）
- 該当なし - すべてのテストケースに対応するソースコード根拠が存在

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - すべてのテストケースがソースコードに基づいて生成されている

### 注意事項
- testamentはNimコンパイラのテストフレームワークであり、テスト実行に関する重要な機能を持つ
- コンパイラ呼び出し（callNimCompiler）やテスト結果判定（cmpMsgs, nimoutCheck）は特に重要なテスト対象
- Azure Pipelines連携やHTML生成はCI/CD環境での動作に影響するため、環境依存のテストが必要

## 6) レビュアーチェックリスト（最小）
- [ ] specs.nim: parseSpec関数のすべてのキー処理パスがテストケースでカバーされているか
- [ ] testament.nim: コンパイラ呼び出しの各終了コードパターンがテストされているか
- [ ] categories.nim: 特殊カテゴリ（js, dll, gc等）の処理がテストされているか
- [ ] backend.nim: JSONファイル出力形式が正しいか
- [ ] azure.nim: API呼び出しのエラーハンドリングがテストされているか
- [ ] lib/stdtest: ユーティリティ関数の境界値テストが十分か
