Skip to main content
Glama
dummy-test-runner.cjsโ€ข2.31 kB
#!/usr/bin/env node /** * Dummy Test Runner - for testing singleton process behavior * Runs for 30 seconds and prints status updates */ const fs = require('fs'); const path = require('path'); const STATUS_FILE = path.join(__dirname, 'test-process-status.json'); function updateStatus(status) { const statusData = { isRunning: status.isRunning, pid: process.pid, startedAt: status.startedAt || new Date().toISOString(), lastUpdate: new Date().toISOString(), message: status.message, progress: status.progress || 0 }; try { fs.writeFileSync(STATUS_FILE, JSON.stringify(statusData, null, 2)); } catch (error) { console.error('Failed to update status file:', error.message); } } function cleanup() { console.log('๐Ÿงน Dummy test cleaning up...'); updateStatus({ isRunning: false, message: 'Test completed and stopped' }); // Remove status file try { if (fs.existsSync(STATUS_FILE)) { fs.unlinkSync(STATUS_FILE); } } catch (error) { console.error('Failed to remove status file:', error.message); } console.log('โœ… Dummy test completed'); process.exit(0); } // Handle shutdown signals process.on('SIGTERM', cleanup); process.on('SIGINT', cleanup); async function runDummyTest() { console.log('๐Ÿงช Starting dummy test runner...'); console.log(`๐Ÿ“‹ PID: ${process.pid}`); // Initialize status updateStatus({ isRunning: true, message: 'Dummy test started', progress: 0 }); const duration = 30000; // 30 seconds const interval = 3000; // Update every 3 seconds const steps = duration / interval; for (let i = 0; i < steps; i++) { const progress = Math.round(((i + 1) / steps) * 100); const message = `Dummy test running... Step ${i + 1}/${steps} (${progress}%)`; console.log(`๐Ÿ“Š ${message}`); updateStatus({ isRunning: true, message: message, progress: progress }); // Simulate work await new Promise(resolve => setTimeout(resolve, interval)); } cleanup(); } if (require.main === module) { runDummyTest().catch(error => { console.error('โŒ Dummy test failed:', error); updateStatus({ isRunning: false, message: `Test failed: ${error.message}` }); process.exit(1); }); }

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/pythondev-pro/egw_writings_mcp_server'

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