README: add architecture diagrams (EN/RU)
Both READMEs gain a capture-and-analysis diagram right under the screenshot: simtrace2-pysniff and sigrok_iso7816_stream feed the GSMTAP UDP :4729 listener, SIMtrace2 hardware can be read directly over USB, PCAP/COMPRION traces come from files, and simtrace-analyser-server decodes/stores into SQLite and serves the web UI. The SVGs carry title/desc and role=img, use only inline presentation attributes (no scripts, no external refs) and render without clipped text; the RU text matches the EN layout. The runtime zip includes both diagrams so the embedded READMEs keep working, and a new drift guard checks that every image a README references is present in the archive. RU wording: "устанавливаемое PWA" (neuter agreement). 558 Python + 80 Node tests.
This commit is contained in:
1 parent
9a661f5ab2
commit
2b83d21e64
6 files changed
+129
No files matched your search
@@ -81,6 +81,21 @@ class TestReleaseZip(unittest.TestCase):
|
||||
self.assertIn('%s/frontend/%s' % (top, asset), self.names,
|
||||
'precached %s is missing from the zip' % asset)
|
||||
|
||||
def test_readme_images_are_in_the_zip(self):
|
||||
# Drift guard: the runtime tree's READMEs embed the screenshot and the
|
||||
# architecture diagrams by relative path, so every referenced image
|
||||
# must travel with the archive.
|
||||
top = 'simtrace-analyser-%s' % __version__
|
||||
for readme in ('README.md', 'README_RUS.md'):
|
||||
text = (REPO / readme).read_text()
|
||||
images = re.findall(r'!\[[^\]]*\]\(([^)\s]+)\)', text)
|
||||
self.assertTrue(images, 'no images referenced by %s' % readme)
|
||||
for image in images:
|
||||
self.assertNotIn('://', image, image)
|
||||
self.assertIn('%s/%s' % (top, image), self.names,
|
||||
'%s references %s, which is missing from the zip'
|
||||
% (readme, image))
|
||||
|
||||
def test_batch_files_use_crlf(self):
|
||||
with zipfile.ZipFile(self.archive) as zf:
|
||||
bats = [n for n in self.names if n.endswith('.bat')]
|
||||
|
||||
Reference in new issue
Block a user