- Add e2e_plugin_net_additional.rs with parallel server tests - Fix test to properly handle request objects (no double accept) - Add comprehensive net-plugin documentation - Implement debug tracing for method calls - Enhance plugin lifecycle documentation - Improve error handling in plugin loader - Add leak tracking infrastructure (for future use) - Update language spec with latest plugin features This enhances test coverage for concurrent HTTP servers and improves the overall plugin system documentation and debugging capabilities. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
48 lines
1.9 KiB
Plaintext
48 lines
1.9 KiB
Plaintext
HTTP E2Eテスト実行ログ (2025-08-21)
|
||
================================
|
||
|
||
【テスト実行コマンド】
|
||
NYASH_NET_LOG=1 cargo test --features plugins --test e2e_plugin_net -- --nocapture
|
||
|
||
【テスト結果サマリー】
|
||
- 全5テスト失敗
|
||
- エラー内容: Cannot call method 'respond' on non-instance type (VoidBox)
|
||
|
||
【詳細なエラー解析】
|
||
|
||
1. 根本原因: HttpRequestBox作成失敗
|
||
- HttpServerBox.start() → 成功(instance_id作成確認)
|
||
- server.accept() → VoidBoxを返す(本来はHttpRequestBoxを返すべき)
|
||
- VoidBox.respond() → エラー(VoidBoxにはrespond()メソッドがない)
|
||
|
||
2. 主要なログ出力:
|
||
- 🎉 birth() success: HttpServerBox instance_id=5
|
||
- 🎉 birth() success: HttpClientBox instance_id=6
|
||
- ❌ Interpreter error: Type error: Cannot call method 'respond' on non-instance type
|
||
|
||
3. プラグインシステムの挙動:
|
||
- プラグインロード: 成功
|
||
- Box型の認識: 成功(type_id=20 for HttpServerBox等)
|
||
- メソッド呼び出し: 部分的成功(start/stopは動作、acceptが問題)
|
||
|
||
【失敗したテスト一覧】
|
||
1. e2e_http_stub_end_to_end
|
||
2. e2e_http_post_and_headers
|
||
3. e2e_http_multiple_requests_order
|
||
4. e2e_http_server_restart
|
||
5. e2e_http_server_shutdown_and_restart
|
||
|
||
【Socket E2Eテストとの比較】
|
||
- Socket E2Eテスト: 全て成功(2/2 passed)
|
||
- HTTP E2Eテスト: 全て失敗(0/5 passed)
|
||
- 結論: プラグインシステム自体は正常、HTTP実装固有の問題
|
||
|
||
【推測される問題】
|
||
1. HTTP accept()メソッドの実装が未完成(PoC段階)
|
||
2. 実際のHTTPリクエスト受信処理が未実装
|
||
3. HttpRequestBoxインスタンスの生成ロジックが欠落
|
||
|
||
【ChatGPT5さんへの報告事項】
|
||
- VoidBoxエラーはaccept()メソッドの戻り値が原因
|
||
- HTTPサーバーの実装は基本的なソケット処理が必要
|
||
- Socket実装は安定しているので参考にできる可能性あり |