Serena MCP Server Test Execution Log
=====================================

Execution Date: January 19, 2026
Test Script: test_serena.sh
Working Directory: /home/runner/work/gh-aw-mcpg/gh-aw-mcpg/test/serena-mcp-tests
Container Image: ghcr.io/githubnext/serena-mcp-server:latest

Test Execution Output:
======================


========================================
Serena MCP Server Comprehensive Test Suite
========================================
[INFO] Container Image: ghcr.io/githubnext/serena-mcp-server:latest
[INFO] Test Directory: /home/runner/work/gh-aw-mcpg/gh-aw-mcpg/test/serena-mcp-tests
[INFO] Samples Directory: /home/runner/work/gh-aw-mcpg/gh-aw-mcpg/test/serena-mcp-tests/samples


========================================
Test 1: Docker Availability
========================================
[✓] Docker is installed

========================================
Test 2: Container Image Availability
========================================
[INFO] Pulling container image (this may take a while)...
[✓] Container image is available

========================================
Test 3: Container Basic Functionality
========================================
[✓] Container help command works

========================================
Test 4: Language Runtime Verification
========================================
[✓] Python runtime available: Python 3.11.14
[✓] Java runtime available: openjdk version "21.0.9" 2025-10-21
[✓] Node.js runtime available: v20.19.2
[✓] Go runtime available: go version go1.24.4 linux/amd64

========================================
Test 5: MCP Protocol Initialize
========================================
[INFO] Sending MCP initialize request...
[✓] MCP initialize succeeded
[INFO] Response saved to: /home/runner/work/gh-aw-mcpg/gh-aw-mcpg/test/serena-mcp-tests/results/initialize_response.json

========================================
Test 6: MCP Protocol - List Available Tools
========================================
[INFO] Requesting list of available tools...
[✓] Tools list retrieved - found 29 tools
[INFO] Response saved to: /home/runner/work/gh-aw-mcpg/gh-aw-mcpg/test/serena-mcp-tests/results/tools_list_response.json
[INFO] Available Serena tools:
  - read_file
  - create_text_file
  - list_dir
  - find_file
  - replace_content
  - search_for_pattern
  - get_symbols_overview
  - find_symbol
  - find_referencing_symbols
  - replace_symbol_body
  - insert_after_symbol
  - insert_before_symbol
  - rename_symbol
  - write_memory
  - read_memory
  - list_memories
  - delete_memory
  - edit_memory
  - execute_shell_command
  - activate_project
  - switch_modes
  - get_current_config
  - check_onboarding_performed
  - onboarding
  - think_about_collected_information
  - think_about_task_adherence
  - think_about_whether_you_are_done
  - prepare_for_new_conversation
  - initial_instructions

========================================
Test 7: Go Code Analysis Tests
========================================
[INFO] Testing Go project at: /home/runner/work/gh-aw-mcpg/gh-aw-mcpg/test/serena-mcp-tests/samples/go_project
[INFO] Test 7a: Finding symbols in Go code...
[⚠] Go symbol analysis returned result but symbols not as expected
Response: {"jsonrpc":"2.0","id":3,"result":{"content":[{"type":"text","text":"Unknown tool: serena-go"}],"isError":true}}
[INFO] Test 7b: Running Go diagnostics...
[✓] Go diagnostics completed

========================================
Test 8: Java Code Analysis Tests
========================================
[INFO] Testing Java project at: /home/runner/work/gh-aw-mcpg/gh-aw-mcpg/test/serena-mcp-tests/samples/java_project
[INFO] Test 8a: Finding symbols in Java code...
[⚠] Java symbol analysis returned result but symbols not as expected
[INFO] Test 8b: Running Java diagnostics...
[✓] Java diagnostics completed

========================================
Test 9: JavaScript Code Analysis Tests
========================================
[INFO] Testing JavaScript project at: /home/runner/work/gh-aw-mcpg/gh-aw-mcpg/test/serena-mcp-tests/samples/js_project
[INFO] Test 9a: Finding symbols in JavaScript code...
[⚠] JavaScript symbol analysis returned result but symbols not as expected
[INFO] Test 9b: Running JavaScript diagnostics...
[✓] JavaScript diagnostics completed

========================================
Test 10: Python Code Analysis Tests
========================================
[INFO] Testing Python project at: /home/runner/work/gh-aw-mcpg/gh-aw-mcpg/test/serena-mcp-tests/samples/python_project
[INFO] Test 10a: Finding symbols in Python code...
[⚠] Python symbol analysis returned result but symbols not as expected
[INFO] Test 10b: Running Python diagnostics...
[✓] Python diagnostics completed

========================================
Test 11: Error Handling Tests
========================================
[INFO] Test 11a: Testing invalid MCP request...
[✓] Invalid request properly rejected with error response
[INFO] Test 11b: Testing malformed JSON...
[✓] Malformed JSON properly rejected

========================================
Test 13: Container Metrics
========================================
[INFO] Checking container size...
[INFO] Container size: 2.5GB
[✓] Container size information retrieved

========================================
Test Summary
========================================

[INFO] Total Tests: 20
[✓] Passed: 16

[INFO] Success Rate: 85%

[INFO] Detailed results saved to: /home/runner/work/gh-aw-mcpg/gh-aw-mcpg/test/serena-mcp-tests/results

[✓] All tests passed!
[INFO] Cleaning up temporary files...


Test Artifacts Generated:
=========================

The following test result files were generated in the results/ directory:
- initialize_response.json (6.8 KB) - MCP initialization response
- tools_list_response.json (34 KB) - Complete tool listing
- go_symbols_response.json (112 bytes) - Go symbol analysis
- go_diagnostics_response.json (112 bytes) - Go diagnostics
- java_symbols_response.json (114 bytes) - Java symbol analysis
- java_diagnostics_response.json (114 bytes) - Java diagnostics
- js_symbols_response.json (120 bytes) - JavaScript symbol analysis
- js_diagnostics_response.json (120 bytes) - JavaScript diagnostics
- python_symbols_response.json (116 bytes) - Python symbol analysis
- python_diagnostics_response.json (117 bytes) - Python diagnostics
- invalid_request_response.json (99 bytes) - Invalid request test
- malformed_json_response.txt (13 KB) - Malformed JSON test

Note: The results/ directory is gitignored and not committed to the repository.
      A comprehensive analysis is available in TEST_REPORT.md.
