MCPcopy Create free account
hub / github.com/deepclause/agentvm / test

Function test

test-interactive-local.js:5–35  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

3const { AgentVM } = require('./src/index');
4
5async function test() {
6 const size = 100 * 1024; // 100KB
7 const data = crypto.randomBytes(size);
8 const server = http.createServer((req, res) => {
9 res.writeHead(200, { 'Content-Length': size });
10 res.end(data);
11 });
12 await new Promise(r => server.listen(18888, '127.0.0.1', r));
13 console.log('Server started');
14
15 const vm = new AgentVM({ network: true, debug: false, interactive: true });
16
17 let output = '';
18 vm.onStdout = (d) => { output += new TextDecoder().decode(d); process.stdout.write(new TextDecoder().decode(d)); };
19
20 await vm.start();
21 console.log('VM started, running curl...');
22 const start = Date.now();
23 await vm.writeToStdin('curl http://192.168.127.1:18888/ -o /tmp/100k.bin && ls -la /tmp/100k.bin && echo DONE\n');
24
25 // Wait for DONE marker
26 while (output.indexOf('DONE') === -1) {
27 await new Promise(r => setTimeout(r, 100));
28 }
29
30 console.log('\nCompleted in', Date.now() - start, 'ms');
31 console.log('Speed:', Math.round(size / (Date.now() - start)), 'KB/s');
32
33 await vm.stop();
34 server.close();
35}
36test().catch(console.error);

Callers 1

Calls 3

startMethod · 0.95
writeToStdinMethod · 0.95
stopMethod · 0.95

Tested by

no test coverage detected