Skip to main content
Glama
README.md4.05 kB
# Shell Environment Testing ## Overview This directory contains comprehensive shell environment testing for the PDFDancer MCP server. ``` ┌─────────────────────────────────────────────────────────────┐ │ Shell Testing Strategy │ └─────────────────────────────────────────────────────────────┘ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ Local │ │ Docker │ │ GitHub │ │ Tests │ │ Tests │ │ Actions │ │ │ │ │ │ │ │ • Fast │ │ • Isolated │ │ • Automatic │ │ • Quick │ │ • Complete │ │ • Matrix │ │ • Dev │ │ • Pre-release│ │ • Every push │ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ │ │ │ │ │ │ v v v ┌─────────────────────────────────────────────────────────────┐ │ Shells Tested │ ├─────────────────────────────────────────────────────────────┤ │ Unix: bash, sh, zsh, dash, fish, ksh, tcsh │ │ Windows: PowerShell, pwsh, CMD, Git Bash │ │ Special: WSL, non-root, no-TTY, minimal, locales │ └─────────────────────────────────────────────────────────────┘ ``` ## Quick Commands ```bash # Local testing (2 minutes) npm run test:shells # Docker testing (15 minutes) npm run test:shells:docker # Standard tests (30 seconds) npm test ``` ## Documentation - **[QUICK_START.md](./QUICK_START.md)** - Quick reference guide - **[SHELL_TESTING.md](./SHELL_TESTING.md)** - Complete testing guide - **[IMPLEMENTATION_SUMMARY.md](./IMPLEMENTATION_SUMMARY.md)** - Technical details ## Files - `Dockerfile.shells` - Multi-stage Docker testing environments - `run-shell-tests.sh` - Automated Docker test runner ## What Gets Tested? | Category | Tests | |----------|-------| | **Shells** | 13 different shell environments | | **Platforms** | Linux, macOS, Windows, WSL | | **Node.js** | Versions 18-25 | | **Locales** | UTF-8, ASCII, non-English | | **Permissions** | Root, non-root, restricted | | **Terminal** | TTY, non-TTY, interactive | ## Test Coverage - ✅ Server initialization across all shells - ✅ MCP protocol compliance - ✅ All 4 tools (help, version, search-docs, get-docs) - ✅ Environment variable handling - ✅ Special character handling (shell injection prevention) - ✅ Error handling and validation - ✅ Permission restrictions - ✅ Locale compatibility ## CI/CD Integration Tests run automatically on: - Every push to any branch - Every pull request to main - 50+ different environment combinations View results: [GitHub Actions](https://github.com/MenschMachine/pdfdancer-mcp/actions) ## Adding New Tests See [SHELL_TESTING.md](./SHELL_TESTING.md#adding-new-shell-tests) for instructions on: - Adding new shells to local tests - Adding new Docker test stages - Adding new GitHub Actions workflows

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/MenschMachine/pdfdancer-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server