feat(backend): default to smolmachines

This commit is contained in:
2026-06-09 03:27:31 +00:00
parent cc1d986a74
commit 1bebb7467f
14 changed files with 47 additions and 29 deletions
+4 -3
View File
@@ -11,8 +11,9 @@ asserts each one is blocked:
5. Secret exfil via README link pushed through git-gate
The suite is backend-agnostic — it goes through `get_bottle_backend()`
so a future smolmachines backend can be tested by setting
`BOT_BOTTLE_BACKEND=smolmachines` without touching this file.
so smolmachines can be tested by setting `BOT_BOTTLE_BACKEND=smolmachines`.
When unset, this integration test pins Docker explicitly to preserve
the Docker-backed CI path.
PRD 0022 chunk 1 (this commit): fixture + setUpClass +
tearDownClass + preflight tool check. Attack tests land in
@@ -146,7 +147,7 @@ class TestSandboxEscape(unittest.TestCase):
cls._stage_dir = Path(tempfile.mkdtemp(prefix="sandbox-escape-stage."))
try:
backend = get_bottle_backend()
backend = get_bottle_backend(backend_name)
plan = backend.prepare(spec, stage_dir=cls._stage_dir)
cls._identity = plan.slug
@@ -56,7 +56,7 @@ class TestSidecarBundleCompose(unittest.TestCase):
stage_dir = Path(tempfile.mkdtemp(prefix="cb-bundle-smoke."))
try:
with patch.dict(os.environ, {"BOT_BOTTLE_SIDECAR_BUNDLE": "1"}):
backend = get_bottle_backend()
backend = get_bottle_backend("docker")
spec = BottleSpec(
manifest=_manifest(),
agent_name="demo",
+2 -2
View File
@@ -32,10 +32,10 @@ class TestGetBottleBackend(unittest.TestCase):
b = get_bottle_backend()
self.assertEqual("smolmachines", b.name)
def test_default_docker(self):
def test_default_smolmachines(self):
with patch.dict(os.environ, {}, clear=True):
b = get_bottle_backend()
self.assertEqual("docker", b.name)
self.assertEqual("smolmachines", b.name)
def test_unknown_dies(self):
with patch.object(backend_mod, "die", side_effect=SystemExit("die")):
+1 -1
View File
@@ -39,7 +39,7 @@ class TestStartBackendFlag(unittest.TestCase):
self.assertEqual("smolmachines", args.backend)
self.assertEqual("researcher", args.name)
def test_flag_default_none_means_env_or_docker(self):
def test_flag_default_none_means_env_or_default_backend(self):
args = self._build_parser().parse_args(["researcher"])
self.assertIsNone(args.backend)
+1
View File
@@ -85,6 +85,7 @@ class TestPreflight(unittest.TestCase):
msg = captured.getvalue()
self.assertIn("smolvm", msg)
self.assertIn("smolmachines.com/install.sh", msg)
self.assertIn("BOT_BOTTLE_BACKEND=docker", msg)
if __name__ == "__main__":