Add MX-T40 BLE desktop controller and protocol documentation
Checks / tests (ubuntu-latest, 3.11) (push) Canceled after 0s
Checks / tests (ubuntu-latest, 3.14) (push) Canceled after 0s
Checks / tests (windows-latest, 3.11) (push) Canceled after 0s
Checks / tests (windows-latest, 3.14) (push) Canceled after 0s
Checks / package (push) Canceled after 0s
Checks / tests (ubuntu-latest, 3.11) (push) Canceled after 0s
Checks / tests (ubuntu-latest, 3.14) (push) Canceled after 0s
Checks / tests (windows-latest, 3.11) (push) Canceled after 0s
Checks / tests (windows-latest, 3.14) (push) Canceled after 0s
Checks / package (push) Canceled after 0s
This commit is contained in:
38 files changed
+2344
No files matched your search
@@ -0,0 +1,46 @@
|
||||
"""Guard the seam between private firmware research and publishable source."""
|
||||
|
||||
import tempfile
|
||||
import unittest
|
||||
from pathlib import Path
|
||||
|
||||
from scripts.export_project import export_project
|
||||
|
||||
|
||||
class ExportTests(unittest.TestCase):
|
||||
def test_excludes_vendor_inputs_and_preserves_source(self):
|
||||
with tempfile.TemporaryDirectory() as temporary:
|
||||
root = Path(temporary) / "workspace"
|
||||
for name in (
|
||||
"controller/main.py",
|
||||
"controller/cache.bin",
|
||||
"README.md",
|
||||
"analysis/app-source/Vendor.java",
|
||||
"speaker.bin",
|
||||
"app.apk",
|
||||
".env",
|
||||
):
|
||||
path = root / name
|
||||
path.parent.mkdir(parents=True, exist_ok=True)
|
||||
path.write_text("fixture")
|
||||
output = Path(temporary) / "export"
|
||||
export_project(root, output)
|
||||
self.assertEqual(
|
||||
sorted(
|
||||
str(path.relative_to(output)).replace("\\", "/")
|
||||
for path in output.rglob("*")
|
||||
if path.is_file()
|
||||
),
|
||||
["README.md", "controller/main.py"],
|
||||
)
|
||||
|
||||
def test_refuses_existing_content(self):
|
||||
with tempfile.TemporaryDirectory() as temporary:
|
||||
root = Path(temporary)
|
||||
output = root / "export"
|
||||
output.mkdir()
|
||||
marker = output / "keep.txt"
|
||||
marker.write_text("do not replace")
|
||||
with self.assertRaises(ValueError):
|
||||
export_project(root, output)
|
||||
self.assertEqual(marker.read_text(), "do not replace")
|
||||
Reference in new issue
Block a user