---
generated_at: 2026-02-22 12:00:00
metrics:
  claims_total: 233
  claims_with_evidence: 228
  claims_without_evidence: 5
confidence_derived: 0.98
---

# 根拠レポート：unix-net単体テストケース一覧

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.98**
  - 根拠あり：228 / 233、根拠なし：5
- 優先レビュー（高）
  1. **C-015 (IPv6リンクローカルスコープ自動補完)**：テスト環境にリンクローカルインターフェースが必要で、環境依存
  2. **C-095 (SSMマルチキャスト)**：プラットフォーム固有の条件分岐が多く、全プラットフォームでの検証が必要
  3. **C-214 (インターフェース0件のケース)**：通常の環境では発生しにくいエッジケース
  4. **C-218 (kqueue作成失敗)**：通常環境では再現困難
  5. **C-052 (UV_UDP_LINUX_RECVERR)**：Linux固有機能でBSD系では検証不可

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

- E-01: `src/unix/tcp.c` - TCP関連関数の実装（uv_tcp_init_ex, uv__tcp_bind, uv__tcp_connect等）
- E-02: `src/unix/udp.c` - UDP関連関数の実装（uv__udp_init_ex, uv__udp_bind, uv__udp_connect等）
- E-03: `src/unix/pipe.c` - パイプ関連関数の実装（uv_pipe_init, uv_pipe_bind2, uv_pipe_connect2等）
- E-04: `src/unix/stream.c` - ストリーム関連関数の実装（uv__stream_init, uv__stream_open, uv_write2等）
- E-05: `src/unix/poll.c` - ポーリング関連関数の実装（uv_poll_init, uv_poll_start等）
- E-06: `src/unix/getaddrinfo.c` - DNS解決関連関数の実装（uv_getaddrinfo, uv_if_indextoname等）
- E-07: `src/unix/getnameinfo.c` - 逆引きDNS関連関数の実装（uv_getnameinfo）
- E-08: `src/unix/bsd-ifaddrs.c` - インターフェースアドレス取得の実装（uv_interface_addresses）
- E-09: `src/unix/kqueue.c` - kqueueバックエンド実装（uv__kqueue_init, uv__io_poll, uv_fs_event_start等）
- E-10: `docs/code-to-docs/単体テストケース一覧/plan.md` - モジュール分割計画

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-001 | AF_INETでTCPハンドル初期化 | E-01: tcp.c L113-143 uv_tcp_init_exでdomain&0xFFをチェックし、AF_INET/AF_INET6/AF_UNSPECのみ許可 | ○ |
| C-002 | AF_INET6でTCPハンドル初期化 | E-01: tcp.c L113-143 同上 | ○ |
| C-003 | AF_UNSPECで遅延初期化 | E-01: tcp.c L131 domain!=AF_UNSPECの場合のみnew_socketを呼ぶ | ○ |
| C-004 | 不正ドメインフラグでUV_EINVAL | E-01: tcp.c L119-120 domain判定で不正値を排除 | ○ |
| C-005 | 上位8ビットフラグでUV_EINVAL | E-01: tcp.c L122-123 flags&~0xFFでチェック | ○ |
| C-006 | uv_tcp_initデフォルト初期化 | E-01: tcp.c L146-148 AF_UNSPECでuv_tcp_init_exを呼び出し | ○ |
| C-007 | IPv4バインド | E-01: tcp.c L151-211 uv__tcp_bindの実装 | ○ |
| C-008 | IPv6バインド | E-01: tcp.c L207-208 AF_INET6時にUV_HANDLE_IPV6フラグ設定 | ○ |
| C-009 | IPv6Only バインド | E-01: tcp.c L178-191 IPV6_V6ONLYソケットオプション設定 | ○ |
| C-010 | 非IPv6でIPV6ONLYエラー | E-01: tcp.c L159 条件チェック | ○ |
| C-011 | アドレス競合時delayed_error | E-01: tcp.c L197-204 bind失敗時のdelayed_error設定 | ○ |
| C-012 | REUSEPORT バインド | E-01: tcp.c L170-174 UV_TCP_REUSEPORTフラグ処理 | ○ |
| C-013 | TCP接続要求発行 | E-01: tcp.c L277-349 uv__tcp_connectの実装 | ○ |
| C-014 | 二重接続でUV_EALREADY | E-01: tcp.c L288-289 connect_req!=NULLチェック | ○ |
| C-015 | IPv6リンクローカルscope_id自動補完 | E-01: tcp.c L300-305 uv__is_ipv6_link_localとuv__ipv6_link_local_scope_id | △ |
| C-016 | 接続拒否時delayed_error | E-01: tcp.c L321-330 ECONNREFUSED時のdelayed_error設定 | ○ |
| C-017 | tcp_open正常 | E-01: tcp.c L352-365 uv_tcp_openの実装 | ○ |
| C-018 | tcp_open重複fd | E-01: tcp.c L355-356 uv__fd_existsチェック | ○ |
| C-019 | getsockname正常 | E-01: tcp.c L368-379 uv_tcp_getsocknameの実装 | ○ |
| C-020 | getsockname delayed_error | E-01: tcp.c L372-373 delayed_errorチェック | ○ |
| C-021 | getpeername正常 | E-01: tcp.c L382-393 uv_tcp_getpeernameの実装 | ○ |
| C-022 | close_reset正常 | E-01: tcp.c L396-418 SO_LINGER設定とuv_close呼び出し | ○ |
| C-023 | close_resetシャットダウン中 | E-01: tcp.c L401 uv__is_stream_shuttingチェック | ○ |
| C-024 | tcp_listen正常 | E-01: tcp.c L421-450 listen()呼び出しとPOLLIN開始 | ○ |
| C-025 | tcp_listen delayed_error | E-01: tcp.c L425-426 delayed_errorチェック | ○ |
| C-026 | tcp_nodelay有効 | E-01: tcp.c L453-457 setsockopt TCP_NODELAY | ○ |
| C-027 | tcp_nodelay無効 | E-01: tcp.c L453-457 on=0での呼び出し | ○ |
| C-028 | tcp_keepalive有効 | E-01: tcp.c L468-570 SO_KEEPALIVE設定 | ○ |
| C-029 | tcp_keepalive無効 | E-01: tcp.c L476-477 on=0でSO_KEEPALIVE設定後即return | ○ |
| C-030 | keepalive idle=0でEINVAL | E-01: tcp.c L479-480 idle<1チェック | ○ |
| C-031 | keepalive idle=1境界値 | E-01: tcp.c L479 idle>=1で通過 | ○ |
| C-032 | handle nodelay有効 | E-01: tcp.c L573-588 フラグ設定処理 | ○ |
| C-033 | handle nodelay fd=-1 | E-01: tcp.c L576 fd!=-1チェックでスキップ | ○ |
| C-034 | keepalive_ex正常 | E-01: tcp.c L596-619 拡張keepalive実装 | ○ |
| C-035 | simultaneous_accepts | E-01: tcp.c L622-624 常に0を返す | ○ |
| C-036 | tcp_close | E-01: tcp.c L627-629 uv__stream_close委譲 | ○ |
| C-037 | socketpair正常 | E-01: tcp.c L632-675 socketpairの実装 | ○ |
| C-038 | socketpair非ブロッキング | E-01: tcp.c L639-665 UV_NONBLOCK_PIPEフラグ処理 | ○ |
| C-039 | is_ipv6_link_local真 | E-01: tcp.c L214-225 fe80判定ロジック | ○ |
| C-040 | is_ipv6_link_local偽 | E-01: tcp.c L214-225 fe80でない場合0を返す | ○ |
| C-041 | is_ipv6_link_local IPv4 | E-01: tcp.c L218-219 sa_family!=AF_INET6で0を返す | ○ |
| C-042 | maybe_bind_socket未バインドIPv4 | E-01: tcp.c L38-61 getsockname後にbind | ○ |
| C-043 | maybe_bind_socketバインド済み | E-01: tcp.c L49-50 sin_port!=0で即return 0 | ○ |
| C-044 | maybe_bind_socket未バインドIPv6 | E-01: tcp.c L52-54 IPv6版のポートチェック | ○ |
| C-045 | udp_init_ex AF_INET | E-02: udp.c L938-961 uv__udp_init_exの実装 | ○ |
| C-046 | udp_init_ex AF_UNSPEC | E-02: udp.c L945 domain!=AF_UNSPECチェック | ○ |
| C-047 | udp_bind IPv4 | E-02: udp.c L440-511 uv__udp_bindの実装 | ○ |
| C-048 | udp_bind IPv6Only | E-02: udp.c L484-495 IPV6_V6ONLY設定 | ○ |
| C-049 | udp_bind不正フラグ | E-02: udp.c L449-451 フラグバリデーション | ○ |
| C-050 | udp_bind非IPv6でIPV6ONLY | E-02: udp.c L454-455 条件チェック | ○ |
| C-051 | udp_bind REUSEADDR | E-02: udp.c L472-476 uv__sock_reuseaddr呼び出し | ○ |
| C-052 | udp_bind LINUX_RECVERR | E-02: udp.c L466-470 uv__set_recverr呼び出し | △ |
| C-053 | udp_connect正常 | E-02: udp.c L551-571 uv__udp_connectの実装 | ○ |
| C-054 | udp_disconnect正常 | E-02: udp.c L604-645 uv__udp_disconnectの実装 | ○ |
| C-055 | udp_send正常 | E-02: udp.c L647-710 uv__udp_sendの実装 | ○ |
| C-056 | udp_send addr=NULL | E-02: udp.c L659-663 addr判定分岐 | ○ |
| C-057 | udp_send ENOMEM | E-02: udp.c L685-688 bufs==NULLチェック | ○ |
| C-058 | udp_try_send正常 | E-02: udp.c L713-740 uv__udp_try_sendの実装 | ○ |
| C-059 | udp_try_send EAGAIN | E-02: udp.c L724-725 send_queue_count!=0チェック | ○ |
| C-060 | udp_try_send nbufs=0 | E-02: udp.c L720-721 nbufs<1チェック | ○ |
| C-061 | udp_try_send2正常 | E-02: udp.c L1515-1527 uv__udp_try_send2の実装 | ○ |
| C-062 | udp_try_send2 fd=-1 | E-02: udp.c L1523-1524 fd==-1チェック | ○ |
| C-063 | udp_open正常 | E-02: udp.c L1011-1017 UV_UDP_REUSEADDR付きオープン | ○ |
| C-064 | udp_open_ex正常 | E-02: udp.c L973-1008 uv_udp_open_exの実装 | ○ |
| C-065 | udp_open_ex不正フラグ | E-02: udp.c L977-978 フラグバリデーション | ○ |
| C-066 | udp_open_ex EBUSY | E-02: udp.c L981-982 fd!=-1チェック | ○ |
| C-067 | udp_open_ex EEXIST | E-02: udp.c L984-985 uv__fd_existsチェック | ○ |
| C-068 | udp_set_membership IPv4参加 | E-02: udp.c L1020-1041 uv_udp_set_membershipの実装 | ○ |
| C-069 | udp_set_membership IPv4脱退 | E-02: udp.c L1020-1041 UV_LEAVE_GROUP分岐 | ○ |
| C-070 | udp_set_membership不正アドレス | E-02: udp.c L1038-1040 uv_ip4_addr/uv_ip6_addr両方失敗 | ○ |
| C-071 | udp_set_membership IPv6 | E-02: udp.c L1033-1037 IPv6分岐 | ○ |
| C-072 | udp_set_broadcast有効 | E-02: udp.c L1132-1142 SO_BROADCAST設定 | ○ |
| C-073 | udp_set_broadcast無効 | E-02: udp.c L1132-1142 on=0での呼び出し | ○ |
| C-074 | udp_set_ttl正常 | E-02: udp.c L1145-1179 IP_TTL/IPV6_UNICAST_HOPS設定 | ○ |
| C-075 | udp_set_ttl下限 | E-02: udp.c L1146-1147 ttl<1チェック | ○ |
| C-076 | udp_set_ttl上限 | E-02: udp.c L1146-1147 ttl>255チェック | ○ |
| C-077 | udp_set_ttl ttl=1 | E-02: udp.c L1146 ttl>=1で通過 | ○ |
| C-078 | udp_set_ttl ttl=255 | E-02: udp.c L1146 ttl<=255で通過 | ○ |
| C-079 | udp_set_multicast_ttl | E-02: udp.c L1182-1204 IP_MULTICAST_TTL設定 | ○ |
| C-080 | udp_set_multicast_loop | E-02: udp.c L1207-1229 IP_MULTICAST_LOOP設定 | ○ |
| C-081 | udp_set_multicast_interface正常 | E-02: udp.c L1231-1278 IP_MULTICAST_IF設定 | ○ |
| C-082 | udp_set_multicast_interface NULL | E-02: udp.c L1239-1247 interface_addr=NULLの分岐 | ○ |
| C-083 | udp_set_multicast_interface不正 | E-02: udp.c L1252-1253 パース失敗時UV_EINVAL | ○ |
| C-084 | udp_getsockname | E-02: udp.c L1290-1298 uv__getsockpeername委譲 | ○ |
| C-085 | udp_getpeername | E-02: udp.c L1280-1288 uv__getsockpeername委譲 | ○ |
| C-086 | udp_recv_start正常 | E-02: udp.c L1301-1323 POLLIN開始と handle_start | ○ |
| C-087 | udp_recv_start alloc_cb=NULL | E-02: udp.c L1306-1307 NULLチェック | ○ |
| C-088 | udp_recv_start recv_cb=NULL | E-02: udp.c L1306-1307 NULLチェック | ○ |
| C-089 | udp_recv_start EALREADY | E-02: udp.c L1309-1310 io_activeチェック | ○ |
| C-090 | udp_recv_stop | E-02: udp.c L1326-1336 POLLIN停止とcbクリア | ○ |
| C-091 | udp_using_recvmmsg true | E-02: udp.c L964-970 フラグチェック | ○ |
| C-092 | udp_using_recvmmsg false | E-02: udp.c L964-970 フラグ未設定時0 | ○ |
| C-093 | udp_close | E-02: udp.c L59-67 io_close/handle_stop/fd=-1 | ○ |
| C-094 | udp_finish_close | E-02: udp.c L70-95 write_queueキャンセル処理 | ○ |
| C-095 | SSMマルチキャスト | E-02: udp.c L1044-1085 プラットフォーム条件付きSSM実装 | △ |
| C-096 | pipe_init正常 | E-03: pipe.c L48-55 uv_pipe_initの実装 | ○ |
| C-097 | pipe_init IPC | E-03: pipe.c L53 handle->ipc=ipc設定 | ○ |
| C-098 | pipe_bind2正常 | E-03: pipe.c L63-150 uv_pipe_bind2の実装 | ○ |
| C-099 | pipe_bind2 name=NULL | E-03: pipe.c L78-79 NULLチェック | ○ |
| C-100 | pipe_bind2バインド済み | E-03: pipe.c L101-102 fd>=0チェック | ○ |
| C-101 | pipe_bind2クローズ中 | E-03: pipe.c L104-105 uv__is_closingチェック | ○ |
| C-102 | pipe_bind2 NULバイト | E-03: pipe.c L89-90 includes_invalid_nulチェック | ○ |
| C-103 | pipe_bind2 NO_TRUNCATE長超過 | E-03: pipe.c L92-94 パス長チェック | ○ |
| C-104 | pipe_bind2パス切り詰め | E-03: pipe.c L97-98 namelen>sun_pathで切り詰め | ○ |
| C-105 | pipe_bind2不正フラグ | E-03: pipe.c L75-76 フラグバリデーション | ○ |
| C-106 | pipe_bind正常 | E-03: pipe.c L58-60 strlen+uv_pipe_bind2呼び出し | ○ |
| C-107 | pipe_listen正常 | E-03: pipe.c L153-175 listen+POLLIN開始 | ○ |
| C-108 | pipe_listen fd=-1 | E-03: pipe.c L154-155 fd==-1チェック | ○ |
| C-109 | pipe_listen IPC | E-03: pipe.c L157-158 ipcチェック | ○ |
| C-110 | pipe_open正常 | E-03: pipe.c L195-228 fcntl+uv__stream_open | ○ |
| C-111 | pipe_open EEXIST | E-03: pipe.c L201-202 uv__fd_existsチェック | ○ |
| C-112 | pipe_open読み取り専用 | E-03: pipe.c L222-223 mode!=O_WRONLYでREADABLE | ○ |
| C-113 | pipe_open書き込み専用 | E-03: pipe.c L224-225 mode!=O_RDONLYでWRITABLE | ○ |
| C-114 | pipe_connect2正常 | E-03: pipe.c L254-346 接続処理の実装 | ○ |
| C-115 | pipe_connect2 name=NULL | E-03: pipe.c L269-270 NULLチェック | ○ |
| C-116 | pipe_connect2 namelen=0 | E-03: pipe.c L272-273 namelen==0チェック | ○ |
| C-117 | pipe_connect2 NULバイト | E-03: pipe.c L275-276 includes_invalid_nulチェック | ○ |
| C-118 | pipe_connect正常 | E-03: pipe.c L231-251 uv_pipe_connect2委譲 | ○ |
| C-119 | pipe_getsockname正常 | E-03: pipe.c L406-408 uv__pipe_getsockpeername委譲 | ○ |
| C-120 | pipe_getsockname buffer=NULL | E-03: pipe.c L364 NULLチェック | ○ |
| C-121 | pipe_getsockname ENOBUFS | E-03: pipe.c L390-393 サイズ比較チェック | ○ |
| C-122 | pipe_getpeername正常 | E-03: pipe.c L411-413 uv__pipe_getsockpeername委譲 | ○ |
| C-123 | pipe_pending_count IPC | E-03: pipe.c L420-434 queued_fds->offset+1 | ○ |
| C-124 | pipe_pending_count非IPC | E-03: pipe.c L423-424 ipcチェック | ○ |
| C-125 | pipe_pending_count fd=-1 | E-03: pipe.c L426-427 accepted_fd==-1チェック | ○ |
| C-126 | pipe_pending_type正常 | E-03: pipe.c L437-445 uv_guess_handle呼び出し | ○ |
| C-127 | pipe_pending_type非IPC | E-03: pipe.c L438-439 ipcチェック | ○ |
| C-128 | pipe_chmod正常 | E-03: pipe.c L448-494 chmod処理 | ○ |
| C-129 | pipe_chmod handle=NULL | E-03: pipe.c L456-457 NULLチェック | ○ |
| C-130 | pipe_chmod fd=-1 | E-03: pipe.c L459-461 fd==-1チェック | ○ |
| C-131 | pipe_chmod不正モード | E-03: pipe.c L463-466 モードバリデーション | ○ |
| C-132 | pipe正常 | E-03: pipe.c L497-547 pipe/pipe2呼び出し | ○ |
| C-133 | pipe非ブロッキング | E-03: pipe.c L509-519 UV_NONBLOCK_PIPEフラグ処理 | ○ |
| C-134 | make_pipe正常 | E-03: pipe.c L550-554 uv_pipe委譲 | ○ |
| C-135 | pipe_close正常 | E-03: pipe.c L178-192 unlink+uv__stream_close | ○ |
| C-136 | includes_invalid_nul正常 | E-03: pipe.c L34-45 memchr検索 | ○ |
| C-137 | includes_invalid_nulNUL検出 | E-03: pipe.c L44 memchrでNUL検出 | ○ |
| C-138 | includes_invalid_nul n=0 | E-03: pipe.c L35-36 n==0で即return 0 | ○ |
| C-139 | stream_init正常 | E-04: stream.c L81-116 uv__stream_initの実装 | ○ |
| C-140 | stream_open正常 | E-04: stream.c L402-436 uv__stream_openの実装 | ○ |
| C-141 | stream_open EBUSY | E-04: stream.c L407-408 fd不一致チェック | ○ |
| C-142 | stream_openでTCPオプション適用 | E-04: stream.c L413-422 TCP_NODELAY/TCP_KEEPALIVE適用 | ○ |
| C-143 | accept TCP正常 | E-04: stream.c L535-597 uv_acceptの実装 | ○ |
| C-144 | accept EAGAIN | E-04: stream.c L540-541 accepted_fd==-1チェック | ○ |
| C-145 | accept未サポートタイプ | E-04: stream.c L564-565 defaultケースでUV_EINVAL | ○ |
| C-146 | listen TCP | E-04: stream.c L600-622 TCPケースでuv__tcp_listen呼び出し | ○ |
| C-147 | listenパイプ | E-04: stream.c L610-611 NAMED_PIPEケースでuv__pipe_listen呼び出し | ○ |
| C-148 | listenクローズ中 | E-04: stream.c L602-603 uv__is_closingチェック | ○ |
| C-149 | listen未サポートタイプ | E-04: stream.c L614-615 defaultケースでUV_EINVAL | ○ |
| C-150 | shutdown正常 | E-04: stream.c L1161-1187 uv_shutdownの実装 | ○ |
| C-151 | shutdown ENOTCONN | E-04: stream.c L1166-1170 WRITABLEフラグチェック | ○ |
| C-152 | shutdown二重 | E-04: stream.c L1168 uv__is_stream_shuttingチェック | ○ |
| C-153 | write2正常 | E-04: stream.c L1341-1407 uv_write2の実装 | ○ |
| C-154 | write2 nbufs=0 | E-04: stream.c L1309 nbufs<1チェック | ○ |
| C-155 | write2 EBADF | E-04: stream.c L1312-1313 fd<0チェック | ○ |
| C-156 | write2 EPIPE | E-04: stream.c L1315-1316 WRITABLEフラグチェック | ○ |
| C-157 | write2 IPC fd送信 | E-04: stream.c L1318-1319 IPCパイプ判定 | ○ |
| C-158 | write2非IPCでfd送信拒否 | E-04: stream.c L1318-1320 非IPC判定でUV_EINVAL | ○ |
| C-159 | write2 nbufs上限 | E-04: stream.c L1309 nbufs>1024*1024チェック | ○ |
| C-160 | write正常 | E-04: stream.c L1413-1419 uv_write2(send_handle=NULL)委譲 | ○ |
| C-161 | try_write正常 | E-04: stream.c L1422-1426 uv_try_write2委譲 | ○ |
| C-162 | try_write EAGAIN | E-04: stream.c L1436-1437 write_queue_size!=0チェック | ○ |
| C-163 | try_write2 EAGAIN接続中 | E-04: stream.c L1436 connect_req!=NULLチェック | ○ |
| C-164 | read_start正常 | E-04: stream.c L1447-1470 uv__read_startの実装 | ○ |
| C-165 | read_stop正常 | E-04: stream.c L1473-1485 uv_read_stopの実装 | ○ |
| C-166 | read_stop冪等性 | E-04: stream.c L1474-1475 READINGフラグチェック | ○ |
| C-167 | is_readable真 | E-04: stream.c L1488-1490 READABLEフラグチェック | ○ |
| C-168 | is_readable偽 | E-04: stream.c L1488-1490 同上 | ○ |
| C-169 | is_writable真 | E-04: stream.c L1493-1495 WRITABLEフラグチェック | ○ |
| C-170 | is_writable偽 | E-04: stream.c L1493-1495 同上 | ○ |
| C-171 | set_blockingブロッキング | E-04: stream.c L1570-1575 uv__nonblock(!blocking)呼び出し | ○ |
| C-172 | set_blockingノンブロッキング | E-04: stream.c L1570-1575 同上 | ○ |
| C-173 | stream_close正常 | E-04: stream.c L1515-1567 uv__stream_closeの実装 | ○ |
| C-174 | stream_close accepted_fd | E-04: stream.c L1552-1555 accepted_fdクローズ | ○ |
| C-175 | stream_close queued_fds | E-04: stream.c L1558-1564 queued_fds解放 | ○ |
| C-176 | stream_destroy接続キャンセル | E-04: stream.c L454-469 connect_reqキャンセル処理 | ○ |
| C-177 | stream_flush_write_queue | E-04: stream.c L439-451 write_queue全リクエストにerror設定 | ○ |
| C-178 | poll_init正常 | E-05: poll.c L67-93 uv_poll_initの実装 | ○ |
| C-179 | poll_init EEXIST | E-05: poll.c L70-71 uv__fd_existsチェック | ○ |
| C-180 | poll_init_socket正常 | E-05: poll.c L96-99 uv_poll_init委譲 | ○ |
| C-181 | poll_start READABLE | E-05: poll.c L118-154 POLLIN変換と開始 | ○ |
| C-182 | poll_start WRITABLE | E-05: poll.c L145 POLLOUT変換 | ○ |
| C-183 | poll_start複合イベント | E-05: poll.c L139-148 全イベント変換 | ○ |
| C-184 | poll_start pevents=0 | E-05: poll.c L136-137 pevents==0で停止後return 0 | ○ |
| C-185 | poll_start fd競合 | E-05: poll.c L130-132 watchers[fd]!=wチェック | ○ |
| C-186 | poll_stop正常 | E-05: poll.c L111-115 uv__poll_stop呼び出し | ○ |
| C-187 | poll_close | E-05: poll.c L157-159 uv__poll_stop委譲 | ○ |
| C-188 | getaddrinfo非同期 | E-06: getaddrinfo.c L138-222 cbあり時のuv__work_submit | ○ |
| C-189 | getaddrinfoサービス名 | E-06: getaddrinfo.c L175 service_lenの計算 | ○ |
| C-190 | getaddrinfo同期 | E-06: getaddrinfo.c L217-221 cb=NULLで直接実行 | ○ |
| C-191 | getaddrinfo req=NULL | E-06: getaddrinfo.c L152 NULLチェック | ○ |
| C-192 | getaddrinfo両方NULL | E-06: getaddrinfo.c L152 hostname==NULL&&service==NULL | ○ |
| C-193 | getaddrinfo loop=NULL+cb | E-06: getaddrinfo.c L154-155 loop==NULL&&cb!=NULLチェック | ○ |
| C-194 | getaddrinfo hints指定 | E-06: getaddrinfo.c L197-199 hintsコピー | ○ |
| C-195 | freeaddrinfo正常 | E-06: getaddrinfo.c L225-228 freeaddrinfo呼び出し | ○ |
| C-196 | freeaddrinfo NULL | E-06: getaddrinfo.c L226 NULLチェック | ○ |
| C-197 | if_indextoname正常 | E-06: getaddrinfo.c L231-253 if_indextoname呼び出し | ○ |
| C-198 | if_indextoname buffer=NULL | E-06: getaddrinfo.c L235 NULLチェック | ○ |
| C-199 | if_indextoname size=NULL | E-06: getaddrinfo.c L235 NULLチェック | ○ |
| C-200 | if_indextoname size=0 | E-06: getaddrinfo.c L235 *size==0チェック | ○ |
| C-201 | if_indextoname ENOBUFS | E-06: getaddrinfo.c L243-245 サイズ比較チェック | ○ |
| C-202 | if_indextoname不正インデックス | E-06: getaddrinfo.c L238-239 if_indextoname失敗時 | ○ |
| C-203 | if_indextoiid | E-06: getaddrinfo.c L255-257 uv_if_indextoname委譲 | ○ |
| C-204 | translate_error 0 | E-06: getaddrinfo.c L41 case 0: return 0 | ○ |
| C-205 | translate_error NONAME | E-06: getaddrinfo.c L71 EAI_NONAME変換 | ○ |
| C-206 | getnameinfo非同期IPv4 | E-07: getnameinfo.c L81-121 AF_INETのmemcpy+uv__work_submit | ○ |
| C-207 | getnameinfo非同期IPv6 | E-07: getnameinfo.c L93-96 AF_INET6のmemcpy | ○ |
| C-208 | getnameinfo同期 | E-07: getnameinfo.c L116-120 cb=NULLで直接実行 | ○ |
| C-209 | getnameinfo req=NULL | E-07: getnameinfo.c L86 NULLチェック | ○ |
| C-210 | getnameinfo addr=NULL | E-07: getnameinfo.c L86 NULLチェック | ○ |
| C-211 | getnameinfo未サポートファミリ | E-07: getnameinfo.c L97-98 else分岐でUV_EINVAL | ○ |
| C-212 | interface_addresses正常 | E-08: bsd-ifaddrs.c L69-157 getifaddrs+集計処理 | ○ |
| C-213 | interface_addressesループバック | E-08: bsd-ifaddrs.c L128 IFF_LOOPBACKフラグ判定 | ○ |
| C-214 | interface_addresses 0件 | E-08: bsd-ifaddrs.c L91-94 count==0で即return 0 | △ |
| C-215 | ifaddr_exclude非アクティブ | E-08: bsd-ifaddrs.c L39 IFF_UP&&IFF_RUNNINGチェック | ○ |
| C-216 | ifaddr_exclude NULLアドレス | E-08: bsd-ifaddrs.c L41-42 ifa_addr==NULLチェック | ○ |
| C-217 | kqueue_init正常 | E-09: kqueue.c L52-60 kqueue()呼び出し | ○ |
| C-218 | kqueue_init失敗 | E-09: kqueue.c L54-55 kqueue()==-1チェック | △ |
| C-219 | io_fork正常 | E-09: kqueue.c L67-94 backend_fd=-1+再初期化 | ○ |
| C-220 | io_check_fd正常 | E-09: kqueue.c L97-139 keventテスト | ○ |
| C-221 | io_check_fd通常ファイル | E-09: kqueue.c L115-116 S_ISREG判定 | ○ |
| C-222 | io_check_fdディレクトリ | E-09: kqueue.c L115-116 S_ISDIR判定 | ○ |
| C-223 | io_pollタイムアウト0 | E-09: kqueue.c L157-452 timeout処理ロジック | ○ |
| C-224 | io_poll空キュー | E-09: kqueue.c L182-185 nfds==0チェック | ○ |
| C-225 | platform_invalidate_fd正常 | E-09: kqueue.c L455-472 ident=-1設定 | ○ |
| C-226 | platform_invalidate_fd NULL | E-09: kqueue.c L465-466 events==NULLチェック | ○ |
| C-227 | fs_event_init正常 | E-09: kqueue.c L537-540 uv__handle_init呼び出し | ○ |
| C-228 | fs_event_start正常 | E-09: kqueue.c L543-609 open+io_init_start | ○ |
| C-229 | fs_event_startアクティブ | E-09: kqueue.c L553-554 uv__is_activeチェック | ○ |
| C-230 | fs_event_start不正パス | E-09: kqueue.c L562-567 open失敗時のエラー処理 | ○ |
| C-231 | fs_event_stop正常 | E-09: kqueue.c L612-638 io_close+close fd | ○ |
| C-232 | fs_event_stop非アクティブ | E-09: kqueue.c L616-617 uv__is_activeチェック | ○ |
| C-233 | fs_event_close | E-09: kqueue.c L641-643 uv_fs_event_stop委譲 | ○ |

## 4) 不足情報（Unknown / Missing）
- C-015: IPv6リンクローカルスコープ自動補完のテストは、テスト環境にリンクローカルインターフェースが必須。`uv__ipv6_link_local_scope_id`関数は`getifaddrs()`に依存し、環境固有の動作となる。
  - 候補：テスト環境にリンクローカルインターフェースを用意 / モック化 / 環境依存テストとしてスキップ
- C-052: `UV_UDP_LINUX_RECVERR`は`#if defined(__linux__)`で条件コンパイルされており、macOS/BSD環境ではテスト不可。
  - 候補：Linux CI環境でのみ実行 / 条件付きテスト
- C-095: SSMマルチキャスト (`uv_udp_set_source_membership`) は`#if !defined(__OpenBSD__) && !defined(__NetBSD__)...`で多くのプラットフォームが除外される。
  - 候補：対応プラットフォームでのみ実行 / UV_ENOSYSの返却を確認
- C-214: インターフェース0件のケースは通常の環境では発生しにくいエッジケース。
  - 候補：コンテナ環境でのテスト / getifaddrsモック
- C-218: kqueue作成失敗はfd枯渇等の極端な環境でのみ発生。
  - 候補：fd制限をulimitで絞った環境でテスト / エラーパスの静的解析

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - 大部分のテストケース（228/233件）はソースコードの条件分岐・バリデーションロジックから直接導出されており、根拠が明確
- 1: 中リスク - プラットフォーム固有の条件分岐（Linux RECVERR、Solaris keepalive、BSD SSM等）のテストカバレッジ。実行プラットフォームによっては一部テストケースがスキップ必須
- 1: 中リスク - IPv6リンクローカルスコープ自動補完のテスト環境依存性
- 0: 低リスク - kqueue.cはBSD/macOS固有のI/Oバックエンドだが、テスト対象のAPIは明確に定義されている

## 6) レビュアーチェックリスト（最小）
- [ ] CSVの全233件のテストケースが対象9ファイルの公開関数を網羅しているか確認
- [ ] 正常系・異常系・境界値の観点がバランスよく配分されているか確認
- [ ] プラットフォーム固有テスト（C-052, C-095等）の実行条件が適切に記載されているか確認
- [ ] テストID（UT-UNT-001〜UT-UNT-233）の連番に欠番がないか確認
- [ ] 優先度の割り当て（高：セキュリティ・データ整合性、中：データ変換・バリデーション、低：ヘルパー関数）が適切か確認
- [ ] 入力値・期待結果の記述が実装のためのテストコード作成に十分な粒度か確認
