-- Full-boot e2e: replicate the real boot path (startup/boot.lua) closely enough -- to prove the whole stack works end to end. Sets the sandbox.* settings, creates -- the global event loop, runs the REAL servers/sandbox.lua daemon, then under -- parallel waits for the connection and runs the REAL `sandbox health` program. -- -- Args (via shell.run): url, secret ('' => none). -- NOTE: shell.run drops empty-string args; the harness passes '-' for "no secret". local args = { ... }; local url = args[1]; local secret = args[2]; settings.set('sandbox.url', url); if secret and secret ~= '' and secret ~= '-' then settings.set('sandbox.password', secret); end _G.bootEventLoop = require('/apis/eventloop')(); -- Start the real daemon (reads sandbox.url/sandbox.password, opens the WS). shell.run('/servers/sandbox.lua'); parallel.waitForAny( function() _G.bootEventLoop.runLoop(true); end, function() os.pullEvent('trapos_sandbox_connected'); shell.run('/programs/sandbox.lua', 'health'); end ); os.shutdown();