Implement EndorObject runtime operations and managed lifetimes without language types
Verify databases and deploy Aster VM / verify-and-deploy (push) Successful in 14m4s

This commit is contained in:
2026-10-18 18:14:22 +08:00
parent d394f07fc2
commit 534c2a3b2c
13 changed files with 1251 additions and 520 deletions
+4 -3
View File
@@ -31,8 +31,9 @@ def main():
# This must succeed even when an explicit database URL is invalid.
isolated_env = {**env, "DATABASE_URL": "invalid-database-url"}
bootstrap = run(cli, "bootstrap", env=isolated_env)
assert "root=Object parent=None" in bootstrap, bootstrap
assert "instances_distinct=true heap_objects=5" in bootstrap, bootstrap
assert "runtime=EndorObject type_system=disabled" in bootstrap, bootstrap
assert "objects_distinct=true heap_objects=2" in bootstrap, bootstrap
assert "released heap_objects=0" in bootstrap, bootstrap
assert not Path(env["SQLITE_PATH"]).exists(), "bootstrap must not open storage"
assert "sqlite" in run(cli, "metadata", "put", "smoke", "持久化成功", env=env)
assert run(cli, "metadata", "get", "smoke", env=env) == "持久化成功"
@@ -61,7 +62,7 @@ def main():
for _ in range(2):
with urllib.request.urlopen(f"http://127.0.0.1:{port}/bootstrap", timeout=2) as response:
info = json.load(response)
assert info == {"root_class": "Object", "root_has_parent": False, "heap_objects": 2}, info
assert info == {"object_model": "EndorObject", "type_system": False, "heap_objects": 0}, info
finally:
process.send_signal(signal.SIGTERM)
try: