rosotacom-dev 2.5.dev2__tar.gz → 2.5.dev3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/PKG-INFO +1 -1
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/cli.py +14 -2
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom_dev.egg-info/PKG-INFO +1 -1
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom_dev.egg-info/scm_version.json +2 -2
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/unit/test_cli.py +36 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/.devcontainer/devcontainer.json.template +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/.devcontainer/re_generate_devcontainer_json.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/.github/CODEOWNERS +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/.github/ISSUE_TEMPLATE/documentation-audit.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/.github/ISSUE_TEMPLATE/implementation-cleanup.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/.github/ISSUE_TEMPLATE/quality-workflow.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/.github/ISSUE_TEMPLATE/redesign.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/.github/ISSUE_TEMPLATE/release-process.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/.github/ISSUE_TEMPLATE/repository-diagnosis.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/.github/ISSUE_TEMPLATE/test-ci-audit.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/.github/ISSUE_TEMPLATE/work-item.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/.github/dependabot.yml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/.github/workflows/benchmark-calibrate.yml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/.github/workflows/benchmark-gate.yml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/.github/workflows/dev-release.yml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/.github/workflows/image-scan.yml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/.github/workflows/nightly-e2e.yml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/.github/workflows/pr-lightweight.yml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/.github/workflows/pr-merge-gate.yml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/.github/workflows/release.yml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/.pre-commit-config.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/AGENTS.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/CONCURRENCY.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/CONTRIBUTING.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/DEVELOPMENT_PRINCIPLES.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/LICENSE.txt +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/MANIFEST.in +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/README.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/budgets.jsonl +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/calibration/README.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/calibration/capacity-size-tight-cyclone.json +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/calibration/probe-loss-gop-tight-cyclone.json +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/calibration/probe-loss-nominal-cyclone.json +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/calibration/probe-loss-tight-cyclone.json +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/calibration/probe-loss-tight-fastdds.json +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/calibration/probe-loss-tight-zenoh.json +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/codecov.yml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/deployment-configuration.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/docs/benchmark-ab.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/docs/benchmark-bag-as-load.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/docs/ci.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/docs/ffmpeg-keyframes.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/docs/findings/README.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/docs/findings/cyclone-spdp-discovery-bursts.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/docs/findings/delay-alone-no-loss.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/docs/findings/head-of-line-irregularity.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/docs/findings/jitter-loss-bandwidth-latency.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/docs/findings/lighter-message-loss.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/docs/findings/zero-loss-boundaries-18kb-20hz.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/docs/forensics-report.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/docs/geo-link-map.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/docs/github-repository-settings.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/docs/link-trace.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/docs/owner-runbook.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/docs/performance-bands.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/docs/playbooks/README.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/docs/quality-model.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/docs/release-notes/TEMPLATE.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/docs/release-notes/v2.1.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/docs/release-notes/v2.2.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/docs/release-notes/v2.3.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/docs/release-notes/v2.4.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/docs/release.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/docs/rfcs/0001-expectation-driven-test-suite.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/docs/rfcs/0002-expectation-concepts.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/docs/rfcs/0003-metric-backbone.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/docs/rfcs/0004-network-profiles.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/docs/rfcs/0005-benchmark-genres-and-ci.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/docs/rfcs/0006-dynamic-qos.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/docs/rfcs/0007-regression-gate.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/docs/rfcs/README.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/docs/testing.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/docs/work-items.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/install.sh +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/justfile +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/media/control_center.png +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/media/echo_test.png +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/media/forensics-report-example.png +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/media/host.png +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/media/vehicle.png +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/pyproject.toml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/requirements.txt +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/rosotacom.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/run_session_in_container.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/session-configuration.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/setup.cfg +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/__init__.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/__main__.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/anonymize.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/bag_ground_truth.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/benched_set.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/benchmark.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/bundle_check.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/cli_benchmark.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/deployment.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/ffmpeg_packet.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/forensics.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/geomap.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/network_profiles.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/network_shaper.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/plots.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/py.typed +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/benched-set.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/.gitignore +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/README.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/__init__.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/bags/8_drop_reference/metadata.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/deployment.example.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/profiles.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/rosotacom.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scenarios/2_native_chatter/scenario-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/1_heartbeat/run_machine_a.sh +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/1_heartbeat/run_machine_b.sh +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/2_native_chatter/machine_a/external.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/2_native_chatter/machine_a/run_communication.sh +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/2_native_chatter/machine_a/run_external.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/2_native_chatter/machine_a/wait_for_echo_topic.sh +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/2_native_chatter/machine_b/external.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/2_native_chatter/machine_b/run_communication.sh +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/2_native_chatter/machine_b/run_external.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_a/external.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_a/external_session.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_a/foxglove.json +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_a/run_communication.sh +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_a/run_external.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_b/costmap_1second/costmap_1second_0.mcap +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_b/costmap_1second/metadata.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_b/external.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_b/run_communication.sh +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_b/run_external.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_a/external.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_a/external_session.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_a/foxglove.json +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_a/run_communication.sh +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_a/run_external.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_b/costmap_1second/costmap_1second_0.mcap +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_b/costmap_1second/metadata.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_b/external.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_b/run_communication.sh +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_b/run_external.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/5_sized_payload/machine_a/external.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/5_sized_payload/machine_a/external_session.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/5_sized_payload/machine_a/run_communication.sh +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/5_sized_payload/machine_a/run_external.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/5_sized_payload/machine_b/external.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/5_sized_payload/machine_b/external_session.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/5_sized_payload/machine_b/run_communication.sh +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/5_sized_payload/machine_b/run_external.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_a/external.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_a/external_session.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_a/run_communication.sh +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_a/run_external.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_b/external.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_b/external_session.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_b/run_communication.sh +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_b/run_external.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/sessions/10_restamp/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/sessions/11_trickle/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/sessions/12_content_integrity/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/sessions/13_link_latency/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/sessions/14_remote_assist_anonymized/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/sessions/15_remote_assist_anonymized_costmap/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/sessions/16_remote_assist_anonymized_camera/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/sessions/17_synthetic_camera_quality/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/sessions/1_heartbeat/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/sessions/1_heartbeat_status/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/sessions/2_native_chatter/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/sessions/3_comp_occ_grid/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/sessions/4_comp_occ_grid_zen/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/sessions/5_sized_payload/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/sessions/6_sized_payload_zen/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/sessions/7_latched_static/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/sessions/8_drop/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/sessions/9_throttle/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/sessions/bench_1_1_capacity/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/sessions/bench_1_2_load_sweep/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/sessions/bench_1_3_ramp/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/sessions/bench_1_4_recovery/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/sessions/bench_1_5_camera/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ros2docker.json.example +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/.vscode/c_cpp_properties.json +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/.vscode/settings.json +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ota_configs/archive/fastdds_easy_mode.xml.template +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ota_configs/archive/fastdds_initial_peer_list.xml.template +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ota_configs/archive/fastdds_v2.xml.template +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ota_configs/archive/fastdds_v3.xml.template +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ota_configs/archive/fastdds_v4.xml.template +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ota_configs/archive/fastdds_v5.xml.template +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ota_configs/create_zenoh_json5.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ota_configs/cyclonedds_minimal.xml.template +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ota_configs/cyclonedds_tuned.xml.template +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ota_configs/fastdds_unicast.xml.template +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ota_configs/get_ota_xml.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ota_configs/utils.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ota_configs/zenoh.json5.template +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/.gitkeep +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_cpp/CMakeLists.txt +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_cpp/COLCON_IGNORE +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_cpp/LICENSE.txt +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_cpp/package.xml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_cpp/src/hz_monitor.cpp +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_cpp/src/universal_compressor.cpp +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_cpp/src/universal_decompressor.cpp +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_msgs/CMakeLists.txt +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_msgs/LICENSE.txt +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_msgs/msg/CompressedData.msg +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_msgs/msg/EchoHeartbeat.msg +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_msgs/msg/OtaStamped.msg +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_msgs/msg/SizedPayload.msg +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_msgs/package.xml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/LICENSE.txt +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/com_py/__init__.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/com_py/base_bridge_relay.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/com_py/bridge_in.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/com_py/bridge_out.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/com_py/heartbeat_echo.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/com_py/hz_monitor.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/com_py/image_bandwidth_reducer.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/com_py/image_pixel_capper.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/com_py/lanelet_saver.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/com_py/latch_relay.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/com_py/legacy/costmap_remapper.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/com_py/legacy/marker_remapper.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/com_py/legacy/speed_test.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/com_py/legacy/tf_remapper.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/com_py/legacy/traffic_monitor.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/com_py/legacy/wifi_network_analysis_1.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/com_py/link_bytes.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/com_py/link_trace.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/com_py/local_global_frame_bridge.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/com_py/localization_map_split_reduce_saver.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/com_py/msg_transform.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/com_py/pair_management.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/com_py/pub_sub_pair.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/com_py/qos.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/com_py/relay_in.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/com_py/relay_out.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/com_py/restamp.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/com_py/sized_publisher.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/com_py/stage_latency.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/com_py/stage_latency_core.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/com_py/status_overview.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/com_py/status_overview_core.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/com_py/tf_map_to_cart_saver.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/com_py/topic_monitor.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/com_py/topic_resolution.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/com_py/trickle.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/com_py/universal_compressor.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/com_py/universal_decompressor.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/com_py/universal_ota_unwrapper.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/com_py/universal_ota_wrapper.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/package.xml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/resource/com_py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/setup.cfg +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/setup.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/test/test_copyright.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/test/test_flake8.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/ros2src/com_py/test/test_pep257.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/session/content/base/session_plugin_base.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/session/content/network/up_connectivity.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/session/content/network/wifi_network_analysis_2.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/session/creation/anonymize_bag.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/session/creation/catmux_log_setup.sh +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/session/creation/create_session_yaml.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/session/creation/generate_session_files.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/session/creation/run_session.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/session/creation/run_session_in_external_terminal.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/ws/session/creation/strip_ansi.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/status_eval.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/stream_stats.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/trace_profiles.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/transit.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/video_quality.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom_dev.egg-info/SOURCES.txt +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom_dev.egg-info/dependency_links.txt +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom_dev.egg-info/entry_points.txt +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom_dev.egg-info/requires.txt +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom_dev.egg-info/scm_file_list.json +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom_dev.egg-info/top_level.txt +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/stop_session_in_container.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/terminology.md +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/contract/test_benched_set_registry.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/contract/test_findings.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/contract/test_markdown_links.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/contract/test_ota_source_bundle.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/contract/test_package_metadata.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/contract/test_packaged_resources.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/contract/test_profile_covers_generated_commands.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/contract/test_pytest_policy.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/contract/test_readme_examples.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/contract/test_security_maintenance_config.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/contract/test_workflow_contracts.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/e2e/conftest.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/e2e/test_anonymize_e2e.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/e2e/test_benchmark_ab.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/e2e/test_benchmark_capacity.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/e2e/test_benchmark_replay.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/e2e/test_parallel_smoke.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/e2e/test_smoke.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/e2e/test_timeline_stepping.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/e2e/test_video_quality_e2e.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/sessions/generate_rmw_matrix.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/sessions/rmw_matrix/1_heartbeat_cyclone-local_zenoh-ros2dds-ota/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/sessions/rmw_matrix/1_heartbeat_cyclone-ota/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/sessions/rmw_matrix/1_heartbeat_cyclone-ota-tuned/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/sessions/rmw_matrix/1_heartbeat_fastdds/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/sessions/rmw_matrix/1_heartbeat_zen-endpoints/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/unit/test_anonymize.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/unit/test_bag_ground_truth.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/unit/test_benched_set.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/unit/test_benchmark.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/unit/test_bundle_check.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/unit/test_cli_benchmark.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/unit/test_concurrency.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/unit/test_deployment.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/unit/test_ffmpeg_packet.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/unit/test_forensics.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/unit/test_geomap.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/unit/test_link_bytes.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/unit/test_link_trace.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/unit/test_network_profiles.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/unit/test_network_shaper.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/unit/test_ota_xml.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/unit/test_plots.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/unit/test_stage_latency.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/unit/test_status_eval.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/unit/test_status_overview.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/unit/test_stream_stats.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/unit/test_trace_profiles.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/unit/test_transit.py +0 -0
- {rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/tests/unit/test_video_quality.py +0 -0
|
@@ -98,7 +98,19 @@ SESSION_CONFIG_CONTAINER_DIR = "/session/configs"
|
|
|
98
98
|
SESSION_DEFINITION_CONTAINER_DIR = "/session/definitions"
|
|
99
99
|
SESSION_INSTANCE_CONTAINER_DIR = "/session/instances"
|
|
100
100
|
EXTERNAL_SESSION_CONTAINER_DIR = "/session/current"
|
|
101
|
-
|
|
101
|
+
# Run through the interpreter, never as a bare path. `docker exec` on a bare
|
|
102
|
+
# path relies on the file's executable bit, and a wheel does not carry
|
|
103
|
+
# executable bits for package data: the bit is present in a checkout and gone
|
|
104
|
+
# after an install. Every packaged machine therefore failed with
|
|
105
|
+
# `exec: "/ws/session/creation/run_session.py": permission denied` and exit 126,
|
|
106
|
+
# while the development laptop — an editable install over the checkout — worked.
|
|
107
|
+
# That is the one shape no test exercised, and the only shape a control centre,
|
|
108
|
+
# a vehicle or a bench machine ever runs.
|
|
109
|
+
#
|
|
110
|
+
# Not relying on the bit beats making the bit survive packaging: one is a
|
|
111
|
+
# property of this command, the other a property of every tool in the chain.
|
|
112
|
+
# `anonymize_bag.py` two thousand lines below already does it this way.
|
|
113
|
+
RUN_SESSION_CONTAINER_ARGV = ("python3", "/ws/session/creation/run_session.py")
|
|
102
114
|
DEFAULT_SMOKE_SESSION = "1_heartbeat"
|
|
103
115
|
OTA_SUDO_MODES = ("passwordless", "askpass")
|
|
104
116
|
|
|
@@ -4299,7 +4311,7 @@ def _session_command(
|
|
|
4299
4311
|
link_trace_modem_command: str | None = None,
|
|
4300
4312
|
) -> list[str]:
|
|
4301
4313
|
parts = [
|
|
4302
|
-
|
|
4314
|
+
*RUN_SESSION_CONTAINER_ARGV,
|
|
4303
4315
|
"--session-dir",
|
|
4304
4316
|
session.container_dir,
|
|
4305
4317
|
"--output-dir",
|
|
@@ -1759,6 +1759,7 @@ def test_peer_binding_identity_and_command_helpers(tmp_path: Path, monkeypatch:
|
|
|
1759
1759
|
peer_address_overrides={"a": "10.0.0.1", "b": "10.0.0.2"},
|
|
1760
1760
|
attach_mode="attach",
|
|
1761
1761
|
) == [
|
|
1762
|
+
"python3",
|
|
1762
1763
|
"/ws/session/creation/run_session.py",
|
|
1763
1764
|
"--session-dir",
|
|
1764
1765
|
"/session/current",
|
|
@@ -1801,6 +1802,41 @@ def test_peer_binding_identity_and_command_helpers(tmp_path: Path, monkeypatch:
|
|
|
1801
1802
|
rosotacom._parse_peer_address_overrides(["a=1.1.1.1", "a=2.2.2.2"])
|
|
1802
1803
|
|
|
1803
1804
|
|
|
1805
|
+
def test_container_scripts_run_through_the_interpreter() -> None:
|
|
1806
|
+
"""No `docker exec` may depend on a file's executable bit.
|
|
1807
|
+
|
|
1808
|
+
A wheel does not carry executable bits for package data, so a bare script
|
|
1809
|
+
path works from a checkout and fails from an install with
|
|
1810
|
+
|
|
1811
|
+
exec: "/ws/session/creation/run_session.py": permission denied
|
|
1812
|
+
|
|
1813
|
+
and exit 126. That broke `rosotacom start` on every packaged machine —
|
|
1814
|
+
bench, control centre, vehicle — while the development laptop's editable
|
|
1815
|
+
install kept working, which is why it survived to a two-host bring-up on
|
|
1816
|
+
2026-08-09 before anyone saw it.
|
|
1817
|
+
|
|
1818
|
+
Asserted as a property rather than as one literal command, so a second
|
|
1819
|
+
script added later fails here instead of on a machine.
|
|
1820
|
+
"""
|
|
1821
|
+
assert rosotacom.RUN_SESSION_CONTAINER_ARGV[0] == "python3"
|
|
1822
|
+
assert rosotacom.RUN_SESSION_CONTAINER_ARGV[1].endswith("/run_session.py")
|
|
1823
|
+
|
|
1824
|
+
# And the same for any container script added later. Comment lines are
|
|
1825
|
+
# dropped first: the explanation above quotes the failing path, and a test
|
|
1826
|
+
# that reads prose as code would fail on the wrong thing.
|
|
1827
|
+
code = "\n".join(
|
|
1828
|
+
line
|
|
1829
|
+
for line in Path(rosotacom.__file__).read_text(encoding="utf-8").splitlines()
|
|
1830
|
+
if not line.lstrip().startswith("#")
|
|
1831
|
+
)
|
|
1832
|
+
for match in re.finditer(r'"(/ws/[^"]*\.py)"', code):
|
|
1833
|
+
preceding = code[max(0, match.start() - 200) : match.start()]
|
|
1834
|
+
assert '"python3"' in preceding, (
|
|
1835
|
+
f"{match.group(1)} is handed to the container without an interpreter; "
|
|
1836
|
+
"a wheel install has no executable bit and this fails with exit 126"
|
|
1837
|
+
)
|
|
1838
|
+
|
|
1839
|
+
|
|
1804
1840
|
def test_resolve_session_and_base_extra_run_args(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> None:
|
|
1805
1841
|
session = tmp_path / "sessions" / "1_heartbeat"
|
|
1806
1842
|
session.mkdir(parents=True)
|
|
File without changes
|
{rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/.devcontainer/re_generate_devcontainer_json.py
RENAMED
|
File without changes
|
|
File without changes
|
{rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/.github/ISSUE_TEMPLATE/documentation-audit.md
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/.github/ISSUE_TEMPLATE/implementation-cleanup.md
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/.github/ISSUE_TEMPLATE/quality-workflow.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/.github/ISSUE_TEMPLATE/repository-diagnosis.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/calibration/capacity-size-tight-cyclone.json
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/calibration/probe-loss-gop-tight-cyclone.json
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/calibration/probe-loss-nominal-cyclone.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/docs/findings/cyclone-spdp-discovery-bursts.md
RENAMED
|
File without changes
|
|
File without changes
|
{rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/docs/findings/head-of-line-irregularity.md
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/docs/findings/jitter-loss-bandwidth-latency.md
RENAMED
|
File without changes
|
|
File without changes
|
{rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/docs/findings/zero-loss-boundaries-18kb-20hz.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/docs/rfcs/0001-expectation-driven-test-suite.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/.gitignore
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/README.md
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/profiles.yaml
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/ros2docker.json
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev2 → rosotacom_dev-2.5.dev3}/src/rosotacom/resources/examples/rosotacom.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|