---
generated_at: 2026-03-01 10:30:00
metrics:
  claims_total: 95
  claims_with_evidence: 95
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート：nu-test-support 単体テストケース一覧

## 本レポートについて

### 目的
本レポートは、生成された設計書・ドキュメントの信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

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

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

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

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

---

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

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

- E-01: `crates/nu-test-support/src/lib.rs` - Outcome構造体、nu_repl_code関数、shell_os_paths関数、定数定義
- E-02: `crates/nu-test-support/src/fs.rs` - ファイル操作関数（file_contents, file_contents_binary, line_ending, files_exist_at等）、Stub enum、パス関連関数（executable_path, installed_nu_path, root, binaries, fixtures, assets, in_directory）
- E-03: `crates/nu-test-support/src/commands.rs` - ensure_plugins_built関数、CARGO_BUILD_LOCK、PLUGINS_BUILT
- E-04: `crates/nu-test-support/src/macros.rs` - nu!マクロ、nu_with_std!マクロ、nu_with_plugins!マクロ、NuOpts構造体、nu_run_test関数、nu_with_plugin_run_test関数
- E-05: `crates/nu-test-support/src/locale_override.rs` - with_locale_override関数
- E-06: `crates/nu-test-support/src/playground.rs` - モジュール公開宣言（Director, Executable, NuProcess, Outcome, Dirs, EnvironmentVariable, Playground）
- E-07: `crates/nu-test-support/src/playground/play.rs` - Playground構造体、Dirs構造体、EnvironmentVariable構造体、各種メソッド実装
- E-08: `crates/nu-test-support/src/playground/director.rs` - Director構造体、Executable trait実装、各種メソッド
- E-09: `crates/nu-test-support/src/playground/nu_process.rs` - NuProcess構造体、Outcome構造体、NuError構造体、Executable trait定義
- E-10: `crates/nu-test-support/src/playground/tests.rs` - 既存テスト（current_working_directory_in_sandbox_directory_created, current_working_directory_back_to_root_from_anywhere）
- E-11: `crates/nu-test-support/tests/get_system_locale.rs` - with_locale_overrideの使用例テスト

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

### lib.rs 関連
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | Outcome::new正常系 | E-01: L29-33 Outcome::new実装 | ○ |
| C-02 | Outcome::new境界値（空文字列） | E-01: L29-33 Outcome構造体フィールド定義 | ○ |
| C-03 | nu_repl_code正常系（単一行） | E-01: L35-48 nu_repl_code関数実装 | ○ |
| C-04 | nu_repl_code正常系（複数行） | E-01: L38-43 ループ処理 | ○ |
| C-05 | nu_repl_code境界値（空配列） | E-01: L35-48 | ○ |
| C-06 | shell_os_paths正常系 | E-01: L50-58 shell_os_paths関数実装 | ○ |
| C-07 | shell_os_paths境界値（環境変数未設定） | E-01: L53 if let Some(paths) 条件分岐 | ○ |

### fs.rs 関連
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-08 | file_contents正常系 | E-02: L11-17 file_contents関数実装 | ○ |
| C-09 | file_contents異常系（ファイル不在） | E-02: L12 expect("can not open file") | ○ |
| C-10 | file_contents_binary正常系 | E-02: L19-24 file_contents_binary関数実装 | ○ |
| C-11 | file_contents_binary異常系 | E-02: L20 expect("can not open file") | ○ |
| C-12 | line_ending正常系 | E-02: L26-36 line_ending関数実装（cfg属性） | ○ |
| C-13 | files_exist_at正常系（全存在） | E-02: L38-41 files_exist_at関数実装 | ○ |
| C-14 | files_exist_at正常系（一部不在） | E-02: L40 all()メソッド使用 | ○ |
| C-15 | files_exist_at境界値（空リスト） | E-02: L40 all()は空でtrueを返す | ○ |
| C-16 | executable_path正常系 | E-02: L43-47 executable_path関数実装 | ○ |
| C-17 | installed_nu_path正常系 | E-02: L49-56 installed_nu_path関数実装 | ○ |
| C-18 | installed_nu_path異常系 | E-02: L54 else分岐でexecutable_path()呼び出し | ○ |
| C-19 | root正常系 | E-02: L58-77 root関数実装 | ○ |
| C-20 | binaries正常系 | E-02: L79-97 binaries関数実装 | ○ |
| C-21 | binaries正常系（カスタムプロファイル） | E-02: L82-88 NUSHELL_CARGO_PROFILE環境変数処理 | ○ |
| C-22 | fixtures正常系 | E-02: L99-104 fixtures関数実装 | ○ |
| C-23 | assets正常系 | E-02: L106-111 assets関数実装 | ○ |
| C-24 | in_directory正常系 | E-02: L113-115 in_directory関数実装 | ○ |

### commands.rs 関連
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-25 | ensure_plugins_built正常系 | E-03: L16-72 ensure_plugins_built関数実装 | ○ |
| C-26 | ensure_plugins_built正常系（スキップ） | E-03: L19-21 PLUGINS_BUILT.load()チェック | ○ |
| C-27 | ensure_plugins_built異常系 | E-03: L67-69 panic!("cargo build failed") | ○ |

### macros.rs 関連
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-28 | NuOpts::Default | E-04: L235-246 NuOpts構造体定義 | ○ |
| C-29 | nu_run_test正常系 | E-04: L248-320 nu_run_test関数実装 | ○ |
| C-30 | nu_run_test正常系（cwd） | E-04: L263 opts.cwd.unwrap_or_else | ○ |
| C-31 | nu_run_test正常系（locale） | E-04: L264, L269 locale処理 | ○ |
| C-32 | nu_run_test正常系（with_std） | E-04: L289-291 with_std条件分岐 | ○ |
| C-33 | nu_run_test正常系（envs） | E-04: L272-274 envs処理 | ○ |
| C-34 | nu_run_test正常系（experimental） | E-04: L284-287 experimental処理 | ○ |
| C-35 | nu_run_test正常系（collapse_output） | E-04: L311-315 collapse_output処理 | ○ |
| C-36 | nu_run_test異常系 | E-04: L317 stderrの出力 | ○ |
| C-37 | nu_with_plugin_run_test正常系 | E-04: L322-407 nu_with_plugin_run_test関数実装 | ○ |
| C-38 | nu_with_plugin_run_test正常系（複数プラグイン） | E-04: L354-361 plugin_pathsのループ処理 | ○ |
| C-39 | nu_with_plugin_run_test正常系（envs） | E-04: L372 cmd.envs(envs) | ○ |

### locale_override.rs 関連
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-40 | with_locale_override正常系 | E-05: L19-40 with_locale_override関数実装 | ○ |
| C-41 | with_locale_override正常系（復元） | E-05: L31-35 saved変数による復元処理 | ○ |
| C-42 | with_locale_override異常系（panic時復元） | E-05: L29 std::panic::catch_unwind使用 | ○ |

### playground/play.rs 関連
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-43 | EnvironmentVariable::new | E-07: L17-23 new関数実装 | ○ |
| C-44 | Dirs::formats | E-07: L42-44 formats関数実装 | ○ |
| C-45 | Dirs::root | E-07: L46-48 root関数実装 | ○ |
| C-46 | Dirs::test | E-07: L50-52 test関数実装 | ○ |
| C-47 | Playground::setup | E-07: L73-110 setup関数実装 | ○ |
| C-48 | Playground::root | E-07: L56-58 root関数実装 | ○ |
| C-49 | Playground::cwd | E-07: L60-62 cwd関数実装 | ○ |
| C-50 | Playground::back_to_playground | E-07: L64-67 back_to_playground関数実装 | ○ |
| C-51 | Playground::with_config | E-07: L112-115 with_config関数実装 | ○ |
| C-52 | Playground::with_env | E-07: L117-121 with_env関数実装 | ○ |
| C-53 | Playground::get_config（設定済み） | E-07: L123-127 get_config関数実装 | ○ |
| C-54 | Playground::get_config（未設定） | E-07: L124-126 Optionのmap処理 | ○ |
| C-55 | Playground::build | E-07: L129-136 build関数実装 | ○ |
| C-56 | Playground::cococo | E-07: L138-140 cococo関数実装 | ○ |
| C-57 | Playground::pipeline | E-07: L142-144 pipeline関数実装 | ○ |
| C-58 | Playground::mkdir | E-07: L146-151 mkdir関数実装 | ○ |
| C-59 | Playground::mkdir（ネスト） | E-07: L148 create_dir_all使用 | ○ |
| C-60 | Playground::symlink | E-07: L153-179 symlink関数実装 | ○ |
| C-61 | Playground::with_files（EmptyFile） | E-07: L190 Stub::EmptyFile処理 | ○ |
| C-62 | Playground::with_files（FileWithContent） | E-07: L191 Stub::FileWithContent処理 | ○ |
| C-63 | Playground::with_files（FileWithContentToBeTrimmed） | E-07: L192-200 トリム処理 | ○ |
| C-64 | Playground::with_files（FileWithPermission） | E-07: L201-206 パーミッション処理 | ○ |
| C-65 | Playground::with_files（空リスト） | E-07: L184-220 イテレータ処理 | ○ |
| C-66 | Playground::within | E-07: L225-231 within関数実装 | ○ |
| C-67 | Playground::within（ディレクトリ作成） | E-07: L228 create_dir条件分岐 | ○ |
| C-68 | Playground::glob_vec正常系 | E-07: L233-245 glob_vec関数実装 | ○ |
| C-69 | Playground::glob_vec（マッチなし） | E-07: L237-244 collect処理 | ○ |
| C-70 | Playground::glob_vec（不正パターン） | E-07: L236 expect("invalid pattern") | ○ |

### playground/director.rs 関連
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-71 | Director::cococo | E-08: L17-30 cococo関数実装 | ○ |
| C-72 | Director::and_then | E-08: L32-42 and_then関数実装 | ○ |
| C-73 | Director::and_then（複数） | E-08: L35-38 pipeline分岐 | ○ |
| C-74 | Director::pipeline | E-08: L44-74 pipeline関数実装 | ○ |
| C-75 | Director::pipeline（空コマンド） | E-08: L46-50 commands.is_empty()チェック | ○ |
| C-76 | Director::executable（設定済み） | E-08: L76-82 executable関数実装 | ○ |
| C-77 | Director::executable（未設定） | E-08: L79-81 else分岐 | ○ |
| C-78 | Director::execute正常系 | E-08: L86-145 execute実装 | ○ |
| C-79 | Director::execute異常系（未設定） | E-08: L139-144 None分岐 | ○ |
| C-80 | Director::execute異常系（コマンド失敗） | E-08: L129-136 status.success()チェック | ○ |
| C-81 | Director::fmt | E-08: L148-152 Display trait実装 | ○ |

### playground/nu_process.rs 関連
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-82 | Outcome::new正常系 | E-09: L20-26 new関数実装 | ○ |
| C-83 | Outcome::new境界値 | E-09: L20-26 to_vec()使用 | ○ |
| C-84 | NuProcess::arg | E-09: L55-58 arg関数実装 | ○ |
| C-85 | NuProcess::args | E-09: L60-64 args関数実装 | ○ |
| C-86 | NuProcess::args（空リスト） | E-09: L61-63 extend処理 | ○ |
| C-87 | NuProcess::cwd | E-09: L66-69 cwd関数実装 | ○ |
| C-88 | NuProcess::construct | E-09: L71-98 construct関数実装 | ○ |
| C-89 | NuProcess::construct（cwd） | E-09: L74-76 cwd条件分岐 | ○ |
| C-90 | NuProcess::construct（環境変数） | E-09: L89-91 environment_varsループ | ○ |
| C-91 | NuProcess::fmt | E-09: L42-52 Display trait実装 | ○ |

### fs.rs Stub enum 関連
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-92 | Stub::EmptyFile | E-02: L7 EmptyFile定義 | ○ |
| C-93 | Stub::FileWithContent | E-02: L5 FileWithContent定義 | ○ |
| C-94 | Stub::FileWithContentToBeTrimmed | E-02: L6 FileWithContentToBeTrimmed定義 | ○ |
| C-95 | Stub::FileWithPermission | E-02: L8 FileWithPermission定義 | ○ |

## 4) 不足情報（Unknown / Missing）
- なし：全てのテストケースがソースコードの実装に基づいています

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - 全てのテストケースがソースコードから直接導出されており、根拠が明確です

## 6) レビュアーチェックリスト（最小）
- [ ] 各テストケースが対象の関数/メソッドの仕様を正しく反映しているか確認
- [ ] 境界値テストケースが適切なエッジケースをカバーしているか確認
- [ ] 異常系テストケースがエラー処理を網羅しているか確認
- [ ] プラットフォーム依存の処理（Windows/Unix）に関するテストケースが適切か確認
- [ ] マクロ（nu!, nu_with_std!, nu_with_plugins!）の各オプションがテストされているか確認
- [ ] Playground関連のテストケースがテストヘルパーとしての機能を網羅しているか確認
