ble-reticulum/migration/reports/identities_20260517_report.md
2026-05-17 13:22:25 -07:00

5.4 KiB

zerodev1 & 2 compile and tests succeeded, example form zerodev2:

jlpoole@zerodev2:/usr/local/src/ble-reticulum $ python3 -m pytest migration/tests/test_identity_helpers_cpp_equivalence.py -q -rs
===================================== test session starts =====================================
platform linux -- Python 3.13.5, pytest-8.3.5, pluggy-1.5.0
rootdir: /usr/local/src/ble-reticulum
configfile: pytest.ini
plugins: typeguard-4.4.2, asyncio-0.25.1
asyncio: mode=Mode.AUTO, asyncio_default_fixture_loop_scope=function
collected 21 items                                                                            

migration/tests/test_identity_helpers_cpp_equivalence.py ..s..................          [100%]

=================================== short test summary info ===================================
SKIPPED [1] migration/tests/test_identity_helpers_cpp_equivalence.py:64: BLEInterface importable; source fallback not used
================================ 20 passed, 1 skipped in 2.60s ================================
jlpoole@zerodev2:/usr/local/src/ble-reticulum $ python3 -m pytest migration/tests/test_fragmentation_cpp_equivalence.py migration/tests/test_fragmentation_backend_shim.py -q
===================================== test session starts =====================================
platform linux -- Python 3.13.5, pytest-8.3.5, pluggy-1.5.0
rootdir: /usr/local/src/ble-reticulum
configfile: pytest.ini
plugins: typeguard-4.4.2, asyncio-0.25.1
asyncio: mode=Mode.AUTO, asyncio_default_fixture_loop_scope=function
collected 36 items                                                                            

migration/tests/test_fragmentation_cpp_equivalence.py ............................      [ 77%]
migration/tests/test_fragmentation_backend_shim.py ........                             [100%]

===================================== 36 passed in 5.07s ======================================
jlpoole@zerodev2:/usr/local/src/ble-reticulum $ 

Field test results

(rnsenv) jlpoole@jp /usr/local/src/ble-reticulum/scripts $ ./analyze_reticulum_file_transfer_20260516_1130.pl ../tmp/run16/20260517_1316_zerodev1_BilateralConstitution_CPP.txt ../tmp/run16/20260517_1316_zerodev2_BilateralConstitution_CPP.txt
Reticulum BLE file transfer analysis
Generated: 2026-05-17 13:18:17 PDT
Input files:
  ../tmp/run16/20260517_1316_zerodev1_BilateralConstitution_CPP.txt
  ../tmp/run16/20260517_1316_zerodev2_BilateralConstitution_CPP.txt

Log provenance summary:
  20260517_1316_zerodev1_BilateralConstitution_CPP.txt receiver=zerodev1   date='Sun May 17 13:14:42 PDT 2026' command_lines=21 post_marker_lines=591
  20260517_1316_zerodev2_BilateralConstitution_CPP.txt receiver=zerodev2   date='Sun May 17 01:14:44 PM PDT 2026' command_lines=20 post_marker_lines=587

Chrony clock notes from logs:
  20260517_1316_zerodev1_BilateralConstitution_CPP.txt
    System time     : 0.000601033 seconds slow of NTP time
    System time     : 0.000489284 seconds slow of NTP time
  20260517_1316_zerodev2_BilateralConstitution_CPP.txt
    System time     : 0.000179263 seconds slow of NTP time
    System time     : 0.000172438 seconds slow of NTP time

Declared outbound sends observed in logs:
  sender=zerodev1   file=US_Constitution.txt      chunks= 140 bytes=  44225 chunk_data_bytes=316
  sender=zerodev2   file=US_Constitution.txt      chunks= 148 bytes=  44225 chunk_data_bytes=n/a

Direction: zerodev1->zerodev2
  file                 : US_Constitution.txt
  chunks received      : 140 of 140
  completeness         : 100.00%
  missing chunks       : none
  duplicate chunks     : none
  payload bytes RX     : 44225
  first chunk RX       : 13:15:09.853
  last chunk RX        : 13:15:46.269
  receiver span        : 36.416 s
  sender span          : 14.301 s
  payload rate RX span : 1214.4 B/s  9715.5 bit/s
  payload rate TX span : 3092.5 B/s  24739.9 bit/s
  one-way latency       min/median/mean/p95/max/stddev: 243.979 / 11512.287 / 11498.435 / 21675.719 / 22359.194 / 6564.508 ms
  receiver inter-chunk gap min/median/mean/p95/max/stddev: 149.000 / 247.000 / 261.986 / 340.000 / 391.000 / 41.138 ms
  sender inter-chunk gap min/median/mean/p95/max/stddev: 101.950 / 102.959 / 102.883 / 103.934 / 108.573 / 1.017 ms

Direction: zerodev2->zerodev1
  file                 : US_Constitution.txt
  chunks received      : 148 of 148
  completeness         : 100.00%
  missing chunks       : none
  duplicate chunks     : none
  payload bytes RX     : 44225
  first chunk RX       : 13:15:09.804
  last chunk RX        : 13:15:44.712
  receiver span        : 34.908 s
  sender span          : 15.452 s
  payload rate RX span : 1266.9 B/s  10135.2 bit/s
  payload rate TX span : 2862.1 B/s  22897.1 bit/s
  one-way latency       min/median/mean/p95/max/stddev: 247.634 / 9976.582 / 9997.460 / 18882.898 / 19703.868 / 5718.277 ms
  receiver inter-chunk gap min/median/mean/p95/max/stddev: 146.000 / 243.000 / 237.469 / 292.000 / 341.000 / 28.719 ms
  sender inter-chunk gap min/median/mean/p95/max/stddev: 103.746 / 103.952 / 105.114 / 108.940 / 123.369 / 3.165 ms

Hello/handshake RX records:
  zerodev2   -> zerodev1   recv=13:15:09.530 latency= 169.698 ms message='hello'
  zerodev1   -> zerodev2   recv=13:15:09.537 latency= 118.429 ms message='hello back'

Caution: one-way latency assumes sender and receiver clocks are synchronized.
Your chronyc tracking output helps bound this error, but it is not a substitute for ACK/round-trip timing.
(rnsenv) jlpoole@jp /usr/local/src/ble-reticulum/scripts $