Harden participant and map ownership and validate bounded physical flight

This commit is contained in:
2026-09-19 12:17:01 +02:00
parent dfd7cc49e2
commit 4125018d04
120 changed files with 20043 additions and 47 deletions
+13
View File
@@ -23,6 +23,19 @@ class FlightActionRunner(unittest.TestCase):
self.assertIn('flight-autohover requires Core powered-flight with flight-action-inputs',result.stderr)
self.assertEqual(list(root.iterdir()),[])
self.assertIn("if a.flight_autohover: command += ['-errFlightAutohover', '1']",(ROOT/'tools/headless_workbench.py').read_text())
def test_translation_requires_both_proven_control_paths(self):
for extra in [[],['--flight-action-inputs'],['--flight-autohover']]:
with self.subTest(extra=extra),tempfile.TemporaryDirectory() as directory:
root=Path(directory)
result=subprocess.run([sys.executable,str(ROOT/'tools/headless_workbench.py'),'--compat',str(root/'prefix'),'--profile',str(root/'profile'),'--project','core','--smoke','powered-translate','--rounds','1','--timeout','420',*extra],capture_output=True,text=True)
self.assertNotEqual(result.returncode,0)
self.assertIn('powered-translate requires Core with flight-action-inputs and flight-autohover',result.stderr)
self.assertEqual(list(root.iterdir()),[])
with tempfile.TemporaryDirectory() as directory:
root=Path(directory)
result=subprocess.run([sys.executable,str(ROOT/'tools/headless_workbench.py'),'--compat',str(root/'prefix'),'--profile',str(root/'profile'),'--project','core','--smoke','powered-translate','--rounds','1','--timeout','420','--flight-action-inputs','--flight-autohover'],capture_output=True,text=True)
self.assertIn('must be a disposable cloned prefix',result.stderr)
self.assertEqual(list(root.iterdir()),[])
def test_valid_scope_still_requires_disposable_prefix(self):
with tempfile.TemporaryDirectory() as directory:
root=Path(directory)