| 837 | } |
| 838 | |
| 839 | fn write_echo_script() -> PathBuf { |
| 840 | let root = temp_dir(); |
| 841 | fs::create_dir_all(&root).expect("temp dir"); |
| 842 | let script_path = root.join("echo-mcp.sh"); |
| 843 | fs::write( |
| 844 | &script_path, |
| 845 | "#!/bin/sh\nprintf 'READY:%s\\n' \"$MCP_TEST_TOKEN\"\nIFS= read -r line\nprintf 'ECHO:%s\\n' \"$line\"\n", |
| 846 | ) |
| 847 | .expect("write script"); |
| 848 | let mut permissions = fs::metadata(&script_path).expect("metadata").permissions(); |
| 849 | permissions.set_mode(0o755); |
| 850 | fs::set_permissions(&script_path, permissions).expect("chmod"); |
| 851 | script_path |
| 852 | } |
| 853 | |
| 854 | fn write_jsonrpc_script() -> PathBuf { |
| 855 | let root = temp_dir(); |