oep-client-python 0.0.43__tar.gz → 0.0.44__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.
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/CHANGELOG.md +18 -4
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/PKG-INFO +5 -7
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/README.ja.md +4 -6
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/README.md +4 -6
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/README.ja.md +6 -6
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/allocator-conformance.ja.md +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/analog-payload-conformance.ja.md +6 -7
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/arm-adi-conformance.ja.md +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/attach-conformance.ja.md +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/capture-group-geometry-conformance.ja.md +3 -3
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/capture-metadata-conformance.ja.md +0 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/capture-serial-conformance.ja.md +1 -3
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/capture-timeline-lifecycle-conformance.ja.md +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/config-conformance.ja.md +2 -2
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/config-execution-conformance.ja.md +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/config-fallback-conformance.ja.md +2 -2
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/config-paging-conformance.ja.md +4 -4
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/config-power-loss-conformance.ja.md +4 -4
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/config-storage-conformance.ja.md +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/conformance-checks.ja.md +11 -11
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/conformance-spec-compatibility.ja.md +8 -11
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/core-fixed-fields-review.ja.md +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/core-smoke-conformance.ja.md +4 -5
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/corr-conformance.ja.md +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/cut-conformance.ja.md +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/data-conformance.ja.md +2 -2
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/gpio-lifecycle-conformance.ja.md +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/hardware-configuration.ja.md +3 -18
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/hardware-quickstart.ja.md +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/hardware-schema.ja.md +6 -8
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/host-core-shapes-conformance.ja.md +2 -2
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/host-deadline-conformance.ja.md +2 -2
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/host-request-conformance.ja.md +4 -7
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/host-resend-conformance.ja.md +3 -4
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/host-wait-conformance.ja.md +2 -2
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/interface-conformance.ja.md +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/interface-smoke-conformance.ja.md +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/notification-retention-conformance.ja.md +2 -3
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/oep-example-smoke-conformance.ja.md +3 -3
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/outcome-conformance.ja.md +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/pin-constraints-conformance.ja.md +4 -5
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/pipeline-conformance.ja.md +3 -3
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/port-speed-conformance.ja.md +3 -3
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/recovery-conformance.ja.md +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/recovery-races-conformance.ja.md +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/refusal-order-conformance.ja.md +3 -3
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/replay-pressure-conformance.ja.md +2 -2
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/resource-conformance.ja.md +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/response-race-conformance.ja.md +1 -2
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/retention-conformance.ja.md +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/retry-conformance.ja.md +2 -2
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/route-conformance.ja.md +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/run-conformance.ja.md +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/session-loss-conformance.ja.md +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/session-smoke-conformance.ja.md +2 -2
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/stream-conformance.ja.md +3 -3
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/subscription-conformance.ja.md +4 -4
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/tcp-recovery-conformance.ja.md +2 -3
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/testing-consumers.ja.md +2 -2
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/testing-policy.ja.md +4 -40
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/trace/common.json +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/trace/core.json +28 -28
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/trace/debug.json +18 -18
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/trace/fixture.json +8 -8
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/trace/transports.json +9 -9
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/usb-conformance.ja.md +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/pyproject.toml +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/__init__.py +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/__init__.py +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/core_smoke.py +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/oep_smoke.py +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/dump.py +3 -3
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/endpoint.py +6 -6
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/frames.py +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/host.py +7 -7
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/link.py +22 -23
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/pins.py +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/riscv.py +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/speed_record.py +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/targets.py +6 -5
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/virtual_bench.py +4 -4
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/virtual_bench_serve.py +2 -2
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/virtual_core.py +3 -4
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/README.ja.md +6 -6
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/README.md +5 -5
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_capabilities.py +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_capture_blocks.py +1 -1
- oep_client_python-0.0.43/tests/test_spec_2c6d18d.py → oep_client_python-0.0.44/tests/test_capture_generation_rules.py +5 -5
- oep_client_python-0.0.44/tests/test_capture_rules.py +448 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_core_fixed_fields.py +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_core_smoke.py +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_fixture_metadata.py +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_host_core.py +2 -2
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_host_critical_calls.py +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_host_deadline.py +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_host_resend.py +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_host_tlv.py +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_host_wait.py +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_i2c.py +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_lease.py +4 -4
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_logic.py +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_port_speed.py +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_port_speed_execution.py +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_replay_records_optional.py +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_response_race.py +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_reviewed_pins.py +2 -2
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_selected_metadata.py +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_spi.py +2 -2
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_tcp_peers.py +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_wire_options.py +2 -2
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_writer_lease.py +1 -1
- oep_client_python-0.0.44/tests/test_core_rules.py +792 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_debug_attach.py +2 -2
- oep_client_python-0.0.44/tests/test_debug_rules.py +881 -0
- oep_client_python-0.0.43/tests/test_spec_3cc50c8.py → oep_client_python-0.0.44/tests/test_describe_unset_idle_rules.py +1 -1
- oep_client_python-0.0.43/tests/test_review7_exact_payload.py → oep_client_python-0.0.44/tests/test_exact_payload_rules.py +8 -8
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_extension_patterns.py +1 -1
- oep_client_python-0.0.44/tests/test_fixture_link_settings_rules.py +430 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_gpio_drive_and_serve_options.py +1 -1
- oep_client_python-0.0.43/tests/test_review7_host_recovery.py → oep_client_python-0.0.44/tests/test_host_recovery_rules.py +3 -3
- oep_client_python-0.0.43/tests/test_host_rules_2026_10_06.py → oep_client_python-0.0.44/tests/test_host_rules_bounds_options.py +26 -27
- oep_client_python-0.0.43/tests/test_host_rules_2026_10_02.py → oep_client_python-0.0.44/tests/test_host_rules_waits_lines.py +37 -39
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_host_wait_bound.py +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_interfaces.py +2 -2
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_pins.py +1 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_plan.py +1 -1
- oep_client_python-0.0.43/tests/test_review7_request_validation.py → oep_client_python-0.0.44/tests/test_request_validation_rules.py +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_spec_sections.py +1 -1
- oep_client_python-0.0.43/tests/test_review7_state_resources.py → oep_client_python-0.0.44/tests/test_state_resource_rules.py +1 -1
- oep_client_python-0.0.43/tests/test_review7_tlv_readers.py → oep_client_python-0.0.44/tests/test_tlv_reader_rules.py +2 -2
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_trace_capture.py +20 -20
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_trace_common.py +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_trace_console.py +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_trace_core.py +3 -3
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_trace_core_names.py +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_trace_debug.py +2 -2
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_trace_fixture.py +2 -2
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_trace_link.py +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_trace_plan.py +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_trace_restart.py +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_trace_transports.py +1 -1
- oep_client_python-0.0.43/tests/test_spec_283e5b5.py → oep_client_python-0.0.44/tests/test_transport_session_rules.py +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_virtual_bench_pin_constraints.py +1 -1
- oep_client_python-0.0.43/tests/test_virtual_bench_rules_2026_10_02.py → oep_client_python-0.0.44/tests/test_virtual_bench_rules_core.py +45 -46
- oep_client_python-0.0.43/tests/test_virtual_bench_rules_2026_10_06.py → oep_client_python-0.0.44/tests/test_virtual_bench_rules_ops_lines.py +36 -37
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_virtual_bench_spec.py +2 -2
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_virtual_bench_targets.py +1 -1
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_virtual_core.py +1 -1
- oep_client_python-0.0.43/tests/test_review4_capture.py +0 -227
- oep_client_python-0.0.43/tests/test_review4_debug.py +0 -201
- oep_client_python-0.0.43/tests/test_review4_small.py +0 -176
- oep_client_python-0.0.43/tests/test_review5_capture.py +0 -111
- oep_client_python-0.0.43/tests/test_review5_core_a.py +0 -202
- oep_client_python-0.0.43/tests/test_review5_core_b.py +0 -166
- oep_client_python-0.0.43/tests/test_review5_debug_targets.py +0 -106
- oep_client_python-0.0.43/tests/test_review5_debug_wires.py +0 -237
- oep_client_python-0.0.43/tests/test_review5_small.py +0 -157
- oep_client_python-0.0.43/tests/test_review6_capture_console.py +0 -127
- oep_client_python-0.0.43/tests/test_review6_core_early.py +0 -166
- oep_client_python-0.0.43/tests/test_review6_core_late.py +0 -146
- oep_client_python-0.0.43/tests/test_review6_debug_a.py +0 -149
- oep_client_python-0.0.43/tests/test_review6_debug_b.py +0 -164
- oep_client_python-0.0.43/tests/test_review6_rest.py +0 -118
- oep_client_python-0.0.43/tests/test_review8_core_1.py +0 -43
- oep_client_python-0.0.43/tests/test_review8_core_2.py +0 -144
- oep_client_python-0.0.43/tests/test_review8_debug.py +0 -101
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/.gitignore +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/LICENSE +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/analog-conformance.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/block-conformance.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/capture-group-conformance.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/capture-timeline-conformance.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/clock-conformance.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/debug-conformance.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/dependency-conformance.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/discovery-conformance.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/dmseq-conformance.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/dmseq-target-conformance.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/execution-order-conformance.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/exhausted-conformance.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/fixture-metadata-conformance.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/gpio-conformance.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/host-notification-conformance.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/host-tlv-conformance.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/host-value-conformance.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/i2c-conformance.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/lease-conformance.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/link-routes-conformance.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/link-transfer-conformance.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/logic-conformance.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/mailbox-conformance.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/notification-output-sample.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/notification-sequence-conformance.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/oep-declaration-conformance.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/probe-input-conformance.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/registered-ops-conformance.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/reset-conformance.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/restart-conformance.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/retention-lifecycle-conformance.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/scan-conformance.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/scan-options-conformance.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/selected-metadata-conformance.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/spec-follow-notes.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/spi-conformance.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/step-conformance.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/tlv-request-conformance.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/trace/README.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/trace/capture.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/trace/console.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/trace/link.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/trace/plan.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/trace/restart.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/uart-conformance.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/uart-stream-conformance.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/wire-options-conformance.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/writer-lease-conformance.ja.md +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/__main__.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/acquire.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/arm.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/capture.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/capture_blocks.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/catalog.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/ch32_flash.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/cobs.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/allocator.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/allocator_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/allocator_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/analog.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/analog_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/analog_payload.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/analog_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/arm_adi.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/arm_adi_blocks.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/arm_adi_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/arm_adi_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/attach.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/attach_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/attach_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/block_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/block_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/blocks.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/capture_group.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/capture_group_geometry.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/capture_group_geometry_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/capture_group_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/capture_group_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/capture_metadata.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/capture_metadata_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/capture_serial.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/capture_serial_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/capture_timeline.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/capture_timeline_lifecycle.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/capture_timeline_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/capture_timeline_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/clock.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/clock_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/clock_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/core_fixed_fields.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/corr.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/cut.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/cut_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/cut_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/data.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/data_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/data_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/debug.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/debug_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/debug_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/declaration_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/dependencies.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/dependency_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/dependency_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/discovery.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/dmseq.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/dmseq_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/dmseq_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/dmseq_target.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/dmseq_target_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/dmseq_target_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/execution_order.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/execution_order_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/exhausted.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/exhausted_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/fixture_metadata.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/fixture_metadata_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/gpio.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/gpio_lifecycle.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/gpio_lifecycle_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/gpio_lifecycle_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/gpio_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/gpio_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/host_core.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/host_core_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/host_deadline.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/host_deadline_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/host_notifications.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/host_notifications_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/host_request_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/host_requests.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/host_resend.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/host_resend_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/host_tlv.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/host_tlv_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/host_values.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/host_values_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/host_wait.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/host_wait_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/i2c.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/i2c_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/i2c_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/interface_smoke.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/interfaces.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/lease.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/lease_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/link_routes.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/link_routes_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/link_routes_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/link_transfer_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/link_transfer_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/link_transfers.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/logic.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/logic_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/logic_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/mailbox.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/mailbox_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/mailbox_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/notification_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/notification_retention.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/notification_retention_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/notification_sequence.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/notification_sequence_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/oep_declaration_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/oep_declarations.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/outcome_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/outcome_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/outcomes.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/pipeline.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/pipeline_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/pipeline_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/port_speed.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/port_speed_execution.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/port_speed_execution_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/port_speed_execution_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/port_speed_lifecycle.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/port_speed_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/port_speed_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/probe_input.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/probe_input_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/recovery.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/recovery_race_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/recovery_races.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/recovery_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/refusal_order.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/refusal_order_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/registered_ops.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/registered_ops_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/replay_pressure.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/reset.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/reset_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/reset_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/resource_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/resource_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/resources.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/response_race.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/response_race_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/restart.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/restart_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/restart_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/retention.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/retention_lifecycle.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/retention_lifecycle_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/retention_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/retention_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/retry.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/retry_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/retry_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/route_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/route_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/routes.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/run.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/run_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/run_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/scan.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/scan_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/scan_options.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/scan_options_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/scan_options_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/scan_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/selected_metadata.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/selected_metadata_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/serial.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/session_loss.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/session_loss_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/session_smoke.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/spi.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/spi_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/spi_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/step.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/step_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/step_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/stream.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/stream_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/stream_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/subscription_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/subscriptions.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/tcp.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/tcp_peers.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/tcp_recovery.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/tcp_recovery_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/tlv_request_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/tlv_requests.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/uart.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/uart_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/uart_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/uart_stream.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/uart_stream_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/usb.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/usb_cases.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/usb_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/wire_options.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/wire_options_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/wire_options_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/writer_lease.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/writer_lease_model.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/conformance/writer_lease_sample.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/console.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/core.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/decode.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/discovery.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/fixture.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/hardware.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/hid_stream.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/interfaces.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/kept_session.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/linktest.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/message.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/names.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/probe_log.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/pytest_conformance.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/registry.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/rp2350.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/settings.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/stimulus.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/uiapduino.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/usb_stream.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/virtual_bench_capture.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/virtual_bench_mdns.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/virtual_bench_serial.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/virtual_bench_trigger.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/virtual_bench_usb.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/virtual_fixture_drive.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/src/oep_client/virtual_names.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/conftest.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/equipment/.env.example +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/equipment/test_core_contract.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/equipment/test_preflight.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/fixtures/hardware.virtual.toml +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/.env.example +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/.env.virtual.example +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/__init__.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/boards.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/conftest.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/firmware.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/flash.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/hardware.example.toml +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/hardware.resolved.example.toml +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/record.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/.gitignore +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/9489dd2ae0953650-0.0.26+5bafb92-0.0.26.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/9489dd2ae0953650-0.0.26+654b06a-0.0.26.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/9489dd2ae0953650-0.0.27+ec1df99-0.0.27.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/9489dd2ae0953650-0.0.32+1491c13-0.0.31-20261016T133559.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/9489dd2ae0953650-0.0.32+672bf7b-0.0.32-20261016T164655.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/9489dd2ae0953650-0.0.32-0.0.31-20261016T131458.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/9489dd2ae0953650-0.0.32-0.0.31-20261016T131510.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/9489dd2ae0953650-0.0.32-0.0.31-20261016T131526.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/9489dd2ae0953650-0.0.32-0.0.31-20261016T131532.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/9489dd2ae0953650-0.0.32-0.0.31-20261016T131656.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/9489dd2ae0953650-0.0.32-0.0.31-20261016T131703.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/9489dd2ae0953650-0.0.32-0.0.31-20261016T131708.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/9489dd2ae0953650-0.0.32-0.0.31-20261016T132050.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/9489dd2ae0953650-0.0.32-0.0.31-20261016T132057.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/9489dd2ae0953650-0.0.32-0.0.31-20261016T132104.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/9489dd2ae0953650-0.0.36+f8ac55a-0.0.36-20261022T160307.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/9489dd2ae0953650-0.0.36+f8ac55a-0.0.36-20261022T161655.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/9489dd2ae0953650-0.0.37+1031feb-0.0.37-20261023T214002.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/9489dd2ae0953650-0.0.38+7c158ff-0.0.38-20261027T081156.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/9489dd2ae0953650-0.0.39+1ad47c7-0.0.39-20261027T182907.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/9489dd2ae0953650-0.0.39+2c0c41f-0.0.39-20261027T174907.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/9489dd2ae0953650-0.0.39+9317805-0.0.39-20261027T191153.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/9489dd2ae0953650-0.0.39+a75fd45-0.0.39-20261027T205055.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/9489dd2ae0953650-0.0.39+ca5f896-0.0.39-20261027T201038.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/9489dd2ae0953650-0.0.39+ca5f896-0.0.39-20261027T201057.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/9489dd2ae0953650-0.0.39+ca5f896-0.0.39-20261027T201058.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/9489dd2ae0953650-0.0.39+ca5f896-0.0.39-20261027T201059.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/9489dd2ae0953650-0.0.39+ca5f896__crash_at_2106_s_-0.0.39-20261027T204608.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/9489dd2ae0953650-0.0.39+d4d323c-0.0.39-20261028T190815.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/9489dd2ae0953650-0.0.39+d4d323c-0.0.39-20261028T191854.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/e8f60ae84e28-0.0.39+1ad47c7-0.0.39-20261027T181116.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/e8f60ae84e28-0.0.39+1ad47c7-0.0.39-20261027T181812.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/e8f60ae84e28-0.0.39+1ad47c7-0.0.39-20261027T182903.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/e8f60ae84e28-0.0.39+62463f2-0.0.39-20261029T145541.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/e8f60ae84e28-0.0.39+9317805-0.0.39-20261027T191150.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/e8f60ae84e28-0.0.39+a75fd45-0.0.39-20261028T190803.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/e8f60ae84e28-0.0.39+b7fbdf9-0.0.39-20261027T191727.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/e8f60ae84e28-0.0.39+b7fbdf9-0.0.39-20261027T204611.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/e8f60ae84e28-0.0.39+bb371fb-0.0.39-20261028T191811.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/e8f60ae84e28-0.0.39+bb371fb-0.0.39-20261028T191849.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-d0wd-v3-0070070d9394-0.0.26+4fad559-0.0.26.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-d0wd-v3-0070070d9394-0.0.26+5bafb92-0.0.26.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-d0wd-v3-0070070d9394-0.0.32+1491c13-0.0.31-20261016T133501.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-d0wd-v3-0070070d9394-0.0.32+672bf7b-0.0.32-20261016T164559.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-d0wd-v3-0070070d9394-0.0.32-0.0.31-20261016T130922.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-d0wd-v3-0070070d9394-0.0.32-0.0.31-20261016T131024.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-d0wd-v3-0070070d9394-0.0.36+12e1222-0.0.37-20261023T214016.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-d0wd-v3-0070070d9394-0.0.36+f8ac55a-0.0.36-20261022T160134.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-d0wd-v3-0070070d9394-0.0.37+1031feb-0.0.37-20261023T214230.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-d0wd-v3-0070070d9394-0.0.38+7c158ff-0.0.38-20261027T081159.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-d0wd-v3-0070070d9394-0.0.39+2c0c41f-0.0.39-20261027T174933.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-d0wd-v3-0070070d9394-0.0.39+9317805-0.0.39-20261027T191154.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-d0wd-v3-0070070d9394-0.0.39+b7fbdf9-0.0.39-20261027T204617.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-d0wd-v3-0070070d9394-0.0.39+bb371fb-0.0.39-20261028T191816.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-pico-d4-50029191fe34-0.0.25-0.0.26.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-pico-d4-50029191fe34-0.0.26+5bafb92-0.0.26.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-pico-d4-50029191fe34-0.0.26+654b06a-0.0.26.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-pico-d4-50029191fe34-0.0.26+e877631-0.0.26.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-pico-d4-50029191fe34-0.0.27+ac80e07-0.0.27.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-pico-d4-50029191fe34-0.0.27+ec1df99-0.0.27.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-pico-d4-50029191fe34-0.0.27-0.0.27.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-pico-d4-50029191fe34-0.0.28-0.0.28.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-pico-d4-50029191fe34-0.0.37+1031feb-0.0.37-20261023T220718.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-pico-d4-50029191fe34-0.0.37+1031feb-0.0.37-20261023T221106.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-pico-d4-50029191fe34-0.0.37+1031feb__panic_at_11_s_-0.0.37-20261023T220856.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-pico-d4-50029191fe34-0.0.37+1031feb__panic_at_11_s_-0.0.37-20261023T220901.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-pico-d4-50029191fe34-0.0.37+1031feb__panic_at_11_s_-0.0.37-20261023T220915.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-pico-d4-50029191fe34-unknown-0.0.26.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-pico-d4-50029191fe34-unknown-0.0.37-20261023T214102.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-pico-d4-50029191fe34-unknown-0.0.39-20261028T190818.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-series-30eda0e31108-0.0.26+5bafb92-0.0.26.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-series-30eda0e31108-0.0.26+654b06a-0.0.26.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-series-30eda0e343c6-0.0.26+5bafb92-0.0.26.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-series-30eda0e343c6-0.0.26+654b06a-0.0.26.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-series-30eda0e343c6-0.0.27+ec1df99-0.0.27.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-series-30eda0e343c6-0.0.28+ffe4eb1-0.0.28.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-series-30eda0e343c6-0.0.28-0.0.28.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-series-30eda0ea068b-0.0.28+0f013b7-0.0.28.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-series-30eda0ea068b-0.0.28+1c940ca-0.0.28.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-series-30eda0ea068b-0.0.28+4ef21db+4ef21db-dirty-0.0.28.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-series-30eda0ea068b-0.0.28+68d9694-0.0.28.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-series-30eda0ea068b-0.0.28+ec38b1d-0.0.28.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-series-30eda0ea068b-0.0.28+ffe4eb1-0.0.28.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-series-30eda0ea068b-0.0.28-0.0.28.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-series-30eda0ea068b-0.0.36+f8ac55a-0.0.36-20261022T160503.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-series-30eda0ea068b-0.0.37+1031feb-0.0.37-20261023T214005.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-series-30eda0ea068b-0.0.38+7c158ff-0.0.38-20261027T081145.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-series-30eda0ea068b-0.0.38+7c158ff-0.0.38-20261027T081152.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-series-30eda0ea068b-0.0.39+1ad47c7-0.0.39-20261027T180716.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-series-30eda0ea068b-0.0.39+1ad47c7-0.0.39-20261027T182855.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-series-30eda0ea068b-0.0.39+1ad47c7-0.0.39-20261027T183107.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-series-30eda0ea068b-0.0.39+2c0c41f-0.0.39-20261027T174908.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-series-30eda0ea068b-0.0.39+2c0c41f__task-wdt_at_18_s_-0.0.39-20261027T175743.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-series-30eda0ea068b-0.0.39+2c0c41f__task-wdt_at_18_s_-0.0.39-20261027T175815.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-series-30eda0ea068b-0.0.39+2c0c41f__task-wdt_at_33_s_-0.0.39-20261027T175634.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-series-30eda0ea068b-0.0.39+2c0c41f__task-wdt_at_431_s_-0.0.39-20261027T175709.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-series-30eda0ea068b-0.0.39+62463f2-0.0.39-20261029T145536.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-series-30eda0ea068b-0.0.39+7445bee-0.0.39-20261027T155413.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-series-30eda0ea068b-0.0.39+9317805-0.0.39-20261027T191146.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-series-30eda0ea068b-0.0.39+b7fbdf9-0.0.39-20261027T191724.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-series-30eda0ea068b-0.0.39+bb371fb-0.0.39-20261028T191806.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-series-30eda0ea068b-0.0.39+bb371fb-0.0.39-20261028T191843.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-series-30eda0ea068b-0.0.39+d4d323c-0.0.39-20261028T190809.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-series-30eda0ea068b-unknown-0.0.36-20261022T160222.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-series-30eda0ea068b-unknown-0.0.39-20261027T155301.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/results/esp32-series-30eda0ea068b-unknown-0.0.39-20261027T155340.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/test_harness.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/hw/test_probe.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/spec/DOCS_SHA256 +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/spec/oep-v1.toml +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/spec_names.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_acquire.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_address.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_capture.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_cobs.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_allocator.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_analog.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_analog_payload.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_arm_adi.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_arm_adi_blocks.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_attach.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_blocks.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_capture_group.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_capture_group_geometry.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_capture_metadata.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_capture_serial.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_capture_timeline.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_capture_timeline_lifecycle.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_clock.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_corr.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_cut.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_data.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_debug.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_dependencies.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_discovery.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_dmseq.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_dmseq_target.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_execution_order.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_exhausted.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_gpio.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_gpio_lifecycle.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_host_notifications.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_host_requests.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_host_values.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_interface_smoke.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_interfaces.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_link_routes.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_link_transfers.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_mailbox.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_notification_output.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_notification_retention.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_notification_sequence.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_oep_declarations.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_oep_smoke.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_outcomes.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_pipeline.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_port_speed_lifecycle.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_probe_input.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_reconnect.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_recovery.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_recovery_races.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_refusal_order.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_registered_ops.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_replay_pressure.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_reset.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_resources.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_restart.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_retention.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_retention_lifecycle.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_retry.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_routes.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_run.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_scan.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_scan_options.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_serial.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_session_loss.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_session_smoke.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_spec_guard.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_step.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_stream.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_subscriptions.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_tcp.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_tcp_recovery.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_tlv_requests.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_uart.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_uart_stream.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_conformance_usb.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_console_queue_and_reset_settle.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_fixture_controllers.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_fixture_out.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_fixture_targets.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_flash_console.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_hardware.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_hid_stream.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_host_boot_lifecycle.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_link_drop.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_link_host.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_link_serial.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_linktest.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_literals.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_minimal_ops.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_no_resume.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_open_extensions.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_passthrough.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_port_speed.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_probe_log.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_request_tails.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_restart.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_resubscribe_after_reopen.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_rvswd_rest.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_session.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_settings.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_spec_vectors.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_stimulus.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_target_parts.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_tcp_discovery.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_trace_fixture_drive.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_usb_identity.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_usb_stream.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_virtual_bench_analog_roles.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_virtual_bench_announce.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_virtual_bench_capture.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_virtual_bench_capture_changing_trigger.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_virtual_bench_capture_channel_time.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_virtual_bench_capture_format_2.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_virtual_bench_capture_formats.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_virtual_bench_capture_initial_trigger_time.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_virtual_bench_capture_lifetime.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_virtual_bench_capture_notifications.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_virtual_bench_capture_one_shot_time.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_virtual_bench_capture_options.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_virtual_bench_capture_pretrigger.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_virtual_bench_capture_query.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_virtual_bench_capture_rates.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_virtual_bench_capture_requests.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_virtual_bench_capture_resume_calibration.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_virtual_bench_capture_trigger_modes.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_virtual_bench_capture_trigger_source.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_virtual_bench_capture_trigger_source_more.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_virtual_bench_capture_waiting.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_virtual_bench_serve_reboot.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_virtual_bench_serve_tcp_connections.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_virtual_core_bool.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/test_wire_hold.py +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/vectors/SPEC_COMMIT +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/vectors/SPEC_SHA256 +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/vectors/capture_formats.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/vectors/checks.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/vectors/cobs.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/vectors/confirm.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/vectors/core_extensions.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/vectors/core_lifecycle.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/vectors/core_policy.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/vectors/discovery.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/vectors/headers.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/vectors/interface_boundaries.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/vectors/interface_profiles.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/vectors/logic_layout.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/vectors/ops.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/vectors/ops_encoding.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/vectors/refusals.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/vectors/sessions.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/tests/vectors/settings_file.json +0 -0
- {oep_client_python-0.0.43 → oep_client_python-0.0.44}/udev/70-oep-probe.rules +0 -0
|
@@ -2,6 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## 0.0.44
|
|
6
|
+
- (EN) Changed: `targets` names the CH32V20x family `ch32v20x` (was `ch32v203`) and knows the CH32V208 by its target_id
|
|
7
|
+
(top 12 bits 0x208; a CH32V208WBU6 measured), so `oep pins` identifies it and maps its pads; the CH32V203's id is not
|
|
8
|
+
recorded yet. The module and `oep pins` no longer point to documents oep-spec no longer has.
|
|
9
|
+
- (JA) 変更: `targets` は CH32V20x の系列を `ch32v20x` と呼び(前は `ch32v203`)、CH32V208 を target_id(上位 12 ビット 0x208。
|
|
10
|
+
CH32V208WBU6 で測定)で知る。`oep pins` が識別してパッドを map できる。CH32V203 の id はまだ記録していない。モジュールと `oep pins`
|
|
11
|
+
は、oep-spec に今は無い文書を指さなくなった。
|
|
12
|
+
- (EN) Docs: the conformance, testing and hardware documents describe the current state only (no interim wording, no
|
|
13
|
+
pinned commits; how checkers pin the reviewed spec is in docs/conformance-spec-compatibility.ja.md). The README no longer
|
|
14
|
+
calls the client experimental. `tests/test_conformance_reviewed_pins.py` also checks the capture-serial checker's pins.
|
|
15
|
+
- (JA) 文書: 適合検査、テスト方針、実機設定の文書を今の状態だけにした(途中の状態の言葉と、固定した commit の番号を外した。
|
|
16
|
+
検査器がレビュー済みの仕様に固定する仕方は docs/conformance-spec-compatibility.ja.md)。README の「実験段階」を外した。
|
|
17
|
+
`tests/test_conformance_reviewed_pins.py` は capture-serial の検査器の固定も確かめる。
|
|
18
|
+
|
|
5
19
|
## 0.0.43
|
|
6
20
|
- (EN) Added: `Host.open`, `Host.take` and `core.take` take `extensions` - named extensions (a name, or (name, data))
|
|
7
21
|
carried on the open after the owner, sent critical, so a probe that does not know one refuses it (`Unsupported`, its
|
|
@@ -522,7 +536,7 @@
|
|
|
522
536
|
missing bits 0); read_rx's ns is when CS went inactive (I2C: the STOP or next START).
|
|
523
537
|
- Virtual bench: the configure contract and answer rows, wrapping generations and serials, generations on every
|
|
524
538
|
event and in the group's start answer / status, marks and segments paging, release by core §2.6, step's zeros,
|
|
525
|
-
spi-target masking and an optional ns (`Endpoint.spi_ns`). New tests/
|
|
539
|
+
spi-target masking and an optional ns (`Endpoint.spi_ns`). New tests/test_capture_generation_rules.py; the new vectors and
|
|
526
540
|
ops.json `events` run both ways (arm-adi's probe side skipped: the virtual bench has no arm-adi).
|
|
527
541
|
- (JA) **oep-spec 0098b56〜2c6d18d(0991759 の外部レビューのインターフェース再確認)に合わせた。** registry と vectors を同期し、
|
|
528
542
|
README は 2c6d18d を名乗る。壊れる変更(wire と API):
|
|
@@ -544,7 +558,7 @@
|
|
|
544
558
|
read_rx の ns は CS が無効になった時刻(I2C は STOP か次の START)。
|
|
545
559
|
- 仮想ベンチ: configure の契約と応答の行、一周する世代と serial、どの出来事にも世代、組の start の応答と status の世代、marks と
|
|
546
560
|
segments のページング、core §2.6 での release、step の 0、spi-target のビットの消去と任意の ns(`Endpoint.spi_ns`)。
|
|
547
|
-
tests/
|
|
561
|
+
tests/test_capture_generation_rules.py を足した。新しい vectors と ops.json の `events` を両側から通す(arm-adi の probe 側は飛ばす: 仮想ベンチに
|
|
548
562
|
arm-adi は無い)。
|
|
549
563
|
- (EN) **`oep find` and `discovery.find_unit` verify what they find (oep-spec 0991759, host guide §4.1).** The DNS-SD
|
|
550
564
|
service name `oep` is not registered, so another service may advertise `_oep._tcp`. `discovery.verify(found)` checks
|
|
@@ -776,7 +790,7 @@
|
|
|
776
790
|
- oep-if-link / host guide §17 (44aa045): the sink count is max_frame - 12, which this client already sends
|
|
777
791
|
(`core.link_sink_size`); nothing changed.
|
|
778
792
|
- The tests run with `OEP_SESSION_DIR` in a temporary directory (tests/conftest.py; tests/hw keeps the real one).
|
|
779
|
-
New tests/
|
|
793
|
+
New tests/test_transport_session_rules.py. README / tests/hw README (EN / JA).
|
|
780
794
|
- (JA) **oep-spec 283e5b5〜f8bb2de**(2026-10-07 の外部レビューの再確認と、その後の直し)。README は `f8bb2de` を名乗る。registry と
|
|
781
795
|
ベクタを写した(`tools/sync_registry.sh`): `resend_max` は無くなった(送り直しは host が決める。この client の送り直し - 待ちの後に
|
|
782
796
|
1 回、持っているシリアルの口で壊れたフレームが来たらすぐ 3 回まで - はそのまま)。`interface_name_max_bytes` は 64 -> 48
|
|
@@ -801,7 +815,7 @@
|
|
|
801
815
|
- oep-if-link / host ガイド §17(44aa045): sink の count は max_frame − 12 で、この client はもとからそれを送る(`core.link_sink_size`)。
|
|
802
816
|
変更なし。
|
|
803
817
|
- 試験は `OEP_SESSION_DIR` を一時の場所にして走る(tests/conftest.py。tests/hw は本当の場所のまま)。新しい
|
|
804
|
-
tests/
|
|
818
|
+
tests/test_transport_session_rules.py。README と tests/hw の README(EN / JA)。
|
|
805
819
|
- (EN) **Breaking (API, CLI): the fake probe is the virtual bench**, with no aliases (pre-freeze). The virtual bench is a
|
|
806
820
|
probe, the targets behind it and the fixture wiring, modelled after the real jigs: the environment host software is
|
|
807
821
|
tested in. "Bench" alone still means the real HIL jigs. Renamed: module `oep_client.fake` -> `oep_client.virtual_bench`,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: oep-client-python
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.44
|
|
4
4
|
Summary: Open Embedded Probe (OEP) v1 host: serial / USB / TCP transports, the session rules, the standard interfaces, and a virtual bench
|
|
5
5
|
Project-URL: Homepage, https://github.com/Open-Embedded-Probe/oep-client-python
|
|
6
6
|
Project-URL: Repository, https://github.com/Open-Embedded-Probe/oep-client-python
|
|
@@ -31,11 +31,10 @@ Description-Content-Type: text/markdown
|
|
|
31
31
|
|
|
32
32
|
The host side of Open Embedded Probe (OEP). It speaks the v1 protocol of
|
|
33
33
|
[oep-spec](https://github.com/Open-Embedded-Probe/oep-spec) (the core `docs/oep-core.ja.md`, `docs/oep-transports.ja.md`
|
|
34
|
-
and the interfaces `interfaces/*.ja.md`)
|
|
35
|
-
oep-spec's generated `generated/oep-v1/oep_v1_registry.py`.
|
|
36
|
-
no compatible API is promised.
|
|
34
|
+
and the interfaces `interfaces/*.ja.md`). The wire numbers come from `oep_client.registry`, a verbatim copy of
|
|
35
|
+
oep-spec's generated `generated/oep-v1/oep_v1_registry.py`.
|
|
37
36
|
|
|
38
|
-
**The spec this implements: the oep-spec commit in `tests/vectors/SPEC_COMMIT`** (
|
|
37
|
+
**The spec this implements: the oep-spec commit in `tests/vectors/SPEC_COMMIT`** (oep-spec versioning §2 / §6: before the
|
|
39
38
|
freeze, revision 1 alone does not fix the forms, so an implementation names the spec commit it implements). The registry
|
|
40
39
|
and the shared vectors in `tests/vectors/` are copied from that commit; the history is in [CHANGELOG.md](CHANGELOG.md).
|
|
41
40
|
|
|
@@ -66,7 +65,7 @@ sets the version in pyproject.toml, uv.lock and `oep_client.__version__` and tur
|
|
|
66
65
|
the tests and the build it commits, tags, makes the GitHub Release and publishes to PyPI (Trusted Publishing). Record changes
|
|
67
66
|
under Unreleased in CHANGELOG.md, (EN) and (JA).
|
|
68
67
|
|
|
69
|
-
A minimal check: [hardware quickstart](docs/hardware-quickstart.ja.md). See the shared [testing policy](docs/testing-policy.ja.md) and [guide for projects using OEP](docs/testing-consumers.ja.md).
|
|
68
|
+
A minimal check: [hardware quickstart](docs/hardware-quickstart.ja.md). See the shared [testing policy](docs/testing-policy.ja.md) and [guide for projects using OEP](docs/testing-consumers.ja.md). Equipment configuration: [hardware design](docs/hardware-configuration.ja.md) and [configuration examples](docs/hardware-schema.ja.md) (in Japanese).
|
|
70
69
|
|
|
71
70
|
## Modules (`oep_client`)
|
|
72
71
|
|
|
@@ -500,4 +499,3 @@ IP_MULTICAST_IF 127.0.0.1. A different `--unit-id` per job keeps parallel jobs a
|
|
|
500
499
|
name too). A container or VM answers only on its own network. tests/test_virtual_bench_announce.py does this with
|
|
501
500
|
`oep find`, `discovery.find_unit` and `oep://UNIT_ID?via=net` (both engines) - with in-process responders announcing a non-OEP
|
|
502
501
|
TCP service and a wrong TXT unit_id beside it, which the verify drops - skipped where multicast does not loop back.
|
|
503
|
-
|
|
@@ -2,11 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
[English](README.md)
|
|
4
4
|
|
|
5
|
-
Open Embedded Probe の host 側。v1(oep-spec の本体 `docs/oep-core.ja.md`、`docs/oep-transports.ja.md` とインターフェース `interfaces/*.ja.md
|
|
6
|
-
`generated/oep-v1/oep_v1_registry.py` をそのまま写した `oep_client.registry`
|
|
7
|
-
実験段階で、互換 API は約束しない。
|
|
5
|
+
Open Embedded Probe の host 側。v1(oep-spec の本体 `docs/oep-core.ja.md`、`docs/oep-transports.ja.md` とインターフェース `interfaces/*.ja.md`)を話す。番号は oep-spec の
|
|
6
|
+
`generated/oep-v1/oep_v1_registry.py` をそのまま写した `oep_client.registry` から取る。
|
|
8
7
|
|
|
9
|
-
**実装する仕様: `tests/vectors/SPEC_COMMIT` にある oep-spec の commit
|
|
8
|
+
**実装する仕様: `tests/vectors/SPEC_COMMIT` にある oep-spec の commit**(oep-spec versioning §2 / §6: 凍結の前は revision 1 だけでは
|
|
10
9
|
形が決まらないので、実装は自分が実装する仕様の commit を名乗る)。番号の表と `tests/vectors/` の共有ベクタはその commit から写したもの。
|
|
11
10
|
変更の履歴は [CHANGELOG.md](CHANGELOG.md) にある。
|
|
12
11
|
|
|
@@ -33,7 +32,7 @@ HEAD 以外の commit を選べる。commit とファイルの hash は `tests/v
|
|
|
33
32
|
pyproject.toml、uv.lock、`oep_client.__version__` を書き換え、CHANGELOG.md の Unreleased をその版にし、試験と build の後に commit と tag、
|
|
34
33
|
GitHub Release、PyPI(Trusted Publishing)へ出す。変更は CHANGELOG.md の Unreleased に (EN) / (JA) で書き足しておく。
|
|
35
34
|
|
|
36
|
-
最小構成の確認は [動作確認手順](docs/hardware-quickstart.ja.md)。共通の [テスト方針](docs/testing-policy.ja.md) と [OEP を使うプロジェクトのガイド](docs/testing-consumers.ja.md)
|
|
35
|
+
最小構成の確認は [動作確認手順](docs/hardware-quickstart.ja.md)。共通の [テスト方針](docs/testing-policy.ja.md) と [OEP を使うプロジェクトのガイド](docs/testing-consumers.ja.md) も見る。設備の設定は[構成設計](docs/hardware-configuration.ja.md)と[設定形式・雛形](docs/hardware-schema.ja.md)にある。
|
|
37
36
|
|
|
38
37
|
## モジュール(`oep_client`)
|
|
39
38
|
|
|
@@ -414,4 +413,3 @@ multicast の経路が無い host では `--announce-on 127.0.0.1` にし、問
|
|
|
414
413
|
tests/test_virtual_bench_announce.py がこれを `oep find`、`discovery.find_unit`、`oep://UNIT_ID?via=net`(両方の engine)で試す(同じ process の responder が、OEP でない TCP の
|
|
415
414
|
サービスと違う TXT の unit_id を並べて広告し、確かめでそれが外れることも見る)。multicast が
|
|
416
415
|
戻らない所では skip する。
|
|
417
|
-
|
|
@@ -4,11 +4,10 @@
|
|
|
4
4
|
|
|
5
5
|
The host side of Open Embedded Probe (OEP). It speaks the v1 protocol of
|
|
6
6
|
[oep-spec](https://github.com/Open-Embedded-Probe/oep-spec) (the core `docs/oep-core.ja.md`, `docs/oep-transports.ja.md`
|
|
7
|
-
and the interfaces `interfaces/*.ja.md`)
|
|
8
|
-
oep-spec's generated `generated/oep-v1/oep_v1_registry.py`.
|
|
9
|
-
no compatible API is promised.
|
|
7
|
+
and the interfaces `interfaces/*.ja.md`). The wire numbers come from `oep_client.registry`, a verbatim copy of
|
|
8
|
+
oep-spec's generated `generated/oep-v1/oep_v1_registry.py`.
|
|
10
9
|
|
|
11
|
-
**The spec this implements: the oep-spec commit in `tests/vectors/SPEC_COMMIT`** (
|
|
10
|
+
**The spec this implements: the oep-spec commit in `tests/vectors/SPEC_COMMIT`** (oep-spec versioning §2 / §6: before the
|
|
12
11
|
freeze, revision 1 alone does not fix the forms, so an implementation names the spec commit it implements). The registry
|
|
13
12
|
and the shared vectors in `tests/vectors/` are copied from that commit; the history is in [CHANGELOG.md](CHANGELOG.md).
|
|
14
13
|
|
|
@@ -39,7 +38,7 @@ sets the version in pyproject.toml, uv.lock and `oep_client.__version__` and tur
|
|
|
39
38
|
the tests and the build it commits, tags, makes the GitHub Release and publishes to PyPI (Trusted Publishing). Record changes
|
|
40
39
|
under Unreleased in CHANGELOG.md, (EN) and (JA).
|
|
41
40
|
|
|
42
|
-
A minimal check: [hardware quickstart](docs/hardware-quickstart.ja.md). See the shared [testing policy](docs/testing-policy.ja.md) and [guide for projects using OEP](docs/testing-consumers.ja.md).
|
|
41
|
+
A minimal check: [hardware quickstart](docs/hardware-quickstart.ja.md). See the shared [testing policy](docs/testing-policy.ja.md) and [guide for projects using OEP](docs/testing-consumers.ja.md). Equipment configuration: [hardware design](docs/hardware-configuration.ja.md) and [configuration examples](docs/hardware-schema.ja.md) (in Japanese).
|
|
43
42
|
|
|
44
43
|
## Modules (`oep_client`)
|
|
45
44
|
|
|
@@ -473,4 +472,3 @@ IP_MULTICAST_IF 127.0.0.1. A different `--unit-id` per job keeps parallel jobs a
|
|
|
473
472
|
name too). A container or VM answers only on its own network. tests/test_virtual_bench_announce.py does this with
|
|
474
473
|
`oep find`, `discovery.find_unit` and `oep://UNIT_ID?via=net` (both engines) - with in-process responders announcing a non-OEP
|
|
475
474
|
TCP service and a wrong TXT unit_id beside it, which the verify drops - skipped where multicast does not loop back.
|
|
476
|
-
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
| 文書 | 対象と状態 |
|
|
4
4
|
|---|---|
|
|
5
|
-
| [最小構成の動作確認](hardware-quickstart.ja.md) |
|
|
5
|
+
| [最小構成の動作確認](hardware-quickstart.ja.md) | validate/plan/仮想 smoke と `.env` の実行手順 |
|
|
6
6
|
| [SPECからの適合検査](conformance-checks.ja.md) | core / interfaceの公開検査器と実行範囲 |
|
|
7
|
-
| [lease・forceの大枠検査](session-smoke-conformance.ja.md) | 明示time/resource adapter
|
|
7
|
+
| [lease・forceの大枠検査](session-smoke-conformance.ja.md) | 明示time/resource adapterでleaseの期限・再送・所有者交代を確認 |
|
|
8
8
|
| [有限保持の通知出力](notification-output-sample.ja.md) | 限定raw fixtureで購読拒否・seq抜け・部分frame・応答優先を確認 |
|
|
9
9
|
| [Host TLVの読出し検査](host-tlv-conformance.ja.md) | 明示readerアダプタで未知tag・critical・重複・破損と長さ境界を確認 |
|
|
10
10
|
| [Host通知と期限](host-notification-conformance.ja.md) | 現SPECのrole振り分け、未知kindのseq、通知が続く時の応答待ち/pumpを確認 |
|
|
@@ -14,11 +14,11 @@
|
|
|
14
14
|
| [core発見処理の検査](discovery-conformance.ja.md) | list/fn 0 describeの任意cursor、labelと宣言の不変性を確認 |
|
|
15
15
|
| [資源番号の上限](allocator-conformance.ja.md) | 明示seedでu16上限、解放後の非再利用、再送と再起動を確認 |
|
|
16
16
|
| [通知seqと再購読](notification-sequence-conformance.ja.md) | 論理経路でseqの一周・drop・購読置換・再送を確認 |
|
|
17
|
-
| [raw USB検査](usb-conformance.ja.md) | bulk/HID
|
|
18
|
-
| [全体テスト方針](testing-policy.ja.md) | OEP
|
|
17
|
+
| [raw USB検査](usb-conformance.ja.md) | bulk/HIDの独立検査器と最小ソフトウェアモデル |
|
|
18
|
+
| [全体テスト方針](testing-policy.ja.md) | OEP と利用プロジェクトの保証対象と責任 |
|
|
19
19
|
| [利用プロジェクト向けガイド](testing-consumers.ja.md) | 任意の言語・target・framework で OEP を使う側のテスト手順 |
|
|
20
20
|
| [構成と配線の確定](hardware-configuration.ja.md) | 個体、探索、確認済み接続、役割、共有制御の設計 |
|
|
21
|
-
| [実機設定形式](hardware-schema.ja.md) | 公開のキーと判定、入力と確定 TOML、`.env`
|
|
22
|
-
| [
|
|
21
|
+
| [実機設定形式](hardware-schema.ja.md) | 公開のキーと判定、入力と確定 TOML、`.env` の雛形 |
|
|
22
|
+
| [Python 実機ハーネス](../tests/hw/README.ja.md) | 設定と手順 |
|
|
23
23
|
|
|
24
24
|
ここにある文書の保守窓口は oep-client-python です。保証と合否の所有者は各実装に分かれ、通信の規範は oep-spec に置きます。全体方針はプロジェクト共通で、Python のテストだけの説明ではありません。実設備の台帳は外部で管理し、runner へ明示設定で渡します。
|
|
@@ -18,7 +18,7 @@ privateベンチや隣接checkoutは探索しない。資源opの符号化はres
|
|
|
18
18
|
境界seed 0xFFFFFFFE/0xFFFFFFFFと時計はlogical fixtureの明示制御であり、実機opではない。
|
|
19
19
|
seedを設定するのはfresh/空のallocatorだけ。この検査で2^32−1回の実割当を行ったとは主張しない。
|
|
20
20
|
通常の容量不足と区別し、sample容量8に対して同時資源は最大2で試す。
|
|
21
|
-
|
|
21
|
+
予約だけで失敗した番号は欠番にしてよく、一般の作成失敗でnext_id不変は要求しない。
|
|
22
22
|
|
|
23
23
|
client checkoutのルートで実行する。
|
|
24
24
|
|
|
@@ -52,7 +52,7 @@ rate/samples/mode/triggerの拒否、query成功時の非適用を確認する
|
|
|
52
52
|
区画満杯のstate 5はconfigureをunavailable・cause 6で拒否し、積んだ区画とdataを消さない。
|
|
53
53
|
logic/analog双方を確認する。planありのstate 5でもqueryを許可する規則はSPEC §3.3と
|
|
54
54
|
`test_virtual_bench_capture_query.py`で確認する。
|
|
55
|
-
|
|
55
|
+
仮想ベンチの`Endpoint`のinterface回帰であり、独立core適合fixture(`core-v1`)の検査とは別。
|
|
56
56
|
|
|
57
57
|
```sh
|
|
58
58
|
uv run pytest -q tests/test_virtual_bench_capture_requests.py
|
|
@@ -98,8 +98,7 @@ logic/analogのone-shot完了、short stop、error、repeat満杯/解放、到
|
|
|
98
98
|
新start後までqueueに残る旧通知は元の世代を保ち、Hostが現在の世代以外を捨てることも確認する。
|
|
99
99
|
世代/時刻/停止理由の改変、通知欠落と不要なtriggerを故障注入して検出する。
|
|
100
100
|
stoppedのerrorはreason 3のときだけ照合し、それ以外で0を要求しない。
|
|
101
|
-
|
|
102
|
-
現在のcoreへ移行した全analog操作の適合は継続して整備する。
|
|
101
|
+
これはfixtureの通知動作の回帰。到達しないtrigger、全通知/streaming/並行性と全analog操作の適合は検査しない。
|
|
103
102
|
|
|
104
103
|
```sh
|
|
105
104
|
uv run pytest -q tests/test_virtual_bench_capture_notifications.py
|
|
@@ -114,7 +113,7 @@ forceでは現在のsampleを使い、まだ足りないpretrigger分だけ区
|
|
|
114
113
|
capture-groupは即時のtrackだけを束ねるので、groupの待機やforceはここで扱わない。
|
|
115
114
|
|
|
116
115
|
既存one-shot fixtureと同じく、成立後の将来sampleは即時に合成する。
|
|
117
|
-
これは物理的な待ち時間の証明ではない。自然な早期trigger、全modeのtrigger
|
|
116
|
+
これは物理的な待ち時間の証明ではない。自然な早期trigger、全modeのtriggerは検査しない。
|
|
118
117
|
|
|
119
118
|
```sh
|
|
120
119
|
uv run pytest -q tests/test_virtual_bench_capture_waiting.py
|
|
@@ -140,7 +139,7 @@ logicのedge/level、analogのcross_up/down(疎なroleも含む)、pretrigge
|
|
|
140
139
|
rawデータ・時刻・世代付き通知を照合する。
|
|
141
140
|
開始前のsampleをedge/crossingの比較に使わない。
|
|
142
141
|
one-shotは最後のsample時刻を待って区画を公開する。取得途中は区画を返さない。
|
|
143
|
-
[取得時間の検査](capture-metadata-conformance.ja.md#仮想captureの時間検査)を併用する。物理latency、全mode
|
|
142
|
+
[取得時間の検査](capture-metadata-conformance.ja.md#仮想captureの時間検査)を併用する。物理latency、全mode契約は検査しない。
|
|
144
143
|
|
|
145
144
|
```sh
|
|
146
145
|
uv run pytest -q tests/test_virtual_bench_capture_pretrigger.py
|
|
@@ -154,7 +153,7 @@ uv run pytest -q tests/test_virtual_bench_capture_pretrigger.py
|
|
|
154
153
|
queryの候補rate/samples/modeは適用されないことも確認する。plan無しはcause 6、
|
|
155
154
|
取得中の不正rate 0はmalformedで、現在の取得を変えない。
|
|
156
155
|
configureの取得中/結合中拒否は継続し、queryと同じ扱いにはしない。
|
|
157
|
-
|
|
156
|
+
仮想ベンチの`Endpoint`の検査であり、独立core適合fixtureの検査や全query契約の証明ではない。
|
|
158
157
|
|
|
159
158
|
```sh
|
|
160
159
|
uv run pytest -q tests/test_virtual_bench_capture_query.py
|
|
@@ -169,7 +168,7 @@ forceと既知波形の初回triggerで履歴を残し、repeatの最初の区
|
|
|
169
168
|
streamingの通し番号とerror時write_posは、捨てた開始前履歴を数えず実際の完了区画から計算する。
|
|
170
169
|
|
|
171
170
|
既知波形も経過済みsampleだけで条件成立を検出する。待機後の信号変化は下記の別試験で確認する。
|
|
172
|
-
物理latency、offset/skewを含む全modeの時間因果性、storage gap・全stream
|
|
171
|
+
物理latency、offset/skewを含む全modeの時間因果性、storage gap・全stream区画契約は検査しない。
|
|
173
172
|
|
|
174
173
|
```sh
|
|
175
174
|
uv run pytest -q tests/test_virtual_bench_capture_trigger_modes.py
|
|
@@ -96,7 +96,7 @@ TAR/data/bufferの段階へ失敗を注入し、読出しでは返せた値のpr
|
|
|
96
96
|
RDBUFF回収失敗では、まだ返せない語をtarget busから読んでいてもdoneに加えない。
|
|
97
97
|
writeのdoneは送れた語数であり、fixtureでtargetへの配送を落としても送信数を返す。
|
|
98
98
|
WAIT時のstore一回実行、block replay、失敗語/後続への不正アクセスも確認する。
|
|
99
|
-
最適化したpipeline方式、全ての遅延FAULT
|
|
99
|
+
最適化したpipeline方式、全ての遅延FAULTの方針は検査しない。
|
|
100
100
|
AP bank/SELECTの完全なdecode、sticky状態とABORT、ADIv6、SWD attachのTARGETSEL/tid、
|
|
101
101
|
packetのparity/turnaround/idle、電気的な再試行と時間、CPUの実行状態は別途必要。
|
|
102
102
|
全経路のframe容量、u32番地を越えるblockの扱い、production Hostとの統合も未完成である。
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
|
|
22
22
|
論理pin組はRVSWD (0,1)/(2,3)/(6,7)、SWIO (0,0xFFFF)/(2,0xFFFF)/(6,0xFFFF)、SWD (4,5)。channel_groupで明示する。scanは実装しない。method 0の論理成功だけを確認し、haltや電気的な速度選定を証明しない。resetの線の動作、idle_clock、targetselは未検査(`WireOptionsChecks`)。reset TLVはsampleのreset channel(8)で受理とraw tagの拒否、先頭コピーの使用(hold)だけを確かめる。
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
仮想コアは`request_tags` / `dispatch_request`の明示拡張入口で、拡張固有critical TLVを検査・実行へ渡す。入口が無い拡張は共通の処理を使う。session・header・cacheの判定は入口より先に行う。同一要求再送でTLV解析や実行を繰り返さない。
|
|
25
25
|
|
|
26
26
|
単体19件でmax_speed 0の受理、未知critical無視、既知noncritical拒否、raw tag喪失、後のtag優先、後のコピーの未検証、拒否時targetアクセス、console応答の余分なbyte、ARM console受理、方式競合無視、速度上限超過、再送再実行、connectionsのmetadata不正を検出する。採用条件/選択SPEC変更、所有中fixture再起動拒否、拡張入口とsession/cacheの優先順も確認する。
|
|
27
27
|
|
{oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/capture-group-geometry-conformance.ja.md
RENAMED
|
@@ -31,10 +31,10 @@ sample時刻の推定値は一般には実時間と完全には一致しない
|
|
|
31
31
|
これはmetadata例の生成器で、取得エンジンや大量のsample bufferを実装するmodelではない。
|
|
32
32
|
configure例はrate/capacity以外の通常の必須情報も持つが、全layout/scaleなどの検証は別checkerの担当。
|
|
33
33
|
|
|
34
|
-
単体62件は27例、28
|
|
35
|
-
|
|
34
|
+
単体62件は27例、28の不正観測/前提(誤った形のstart/statusを含む)、報告不確かさの非利用、
|
|
35
|
+
仮想ベンチの`Endpoint`の6構成を含む。Endpoint構成はlogic/analogのbind順と3組の範囲内rate。
|
|
36
36
|
実際の応答bodyをwireから取り、組のstart_nsとADCの既知の変換遅れ(5000ns)から起点を求めて照合する。
|
|
37
|
-
|
|
37
|
+
`Endpoint`/Hostのcoreやop番号の適合を証明する検査ではない。
|
|
38
38
|
|
|
39
39
|
`full_conformance`はfalse。wire拒否/再送/全世代進行、bindの実現可能性、全configure/data構造、
|
|
40
40
|
repeat/streaming/通知、stopの短い区画、物理clock/skew/精度は未検査。
|
{oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/capture-metadata-conformance.ja.md
RENAMED
|
@@ -15,7 +15,6 @@ describeの成功だけで取得操作やデータ寿命の適合を証明しな
|
|
|
15
15
|
- analog: frontendの9 byte固定形(frontend、range_min_mv、range_max_mv)を1つ以上、番号ごとに1行。
|
|
16
16
|
- capture-group: tracksの要素数n≥1とu16列の形。
|
|
17
17
|
- config: items(0x41)の存在、1つ以上、重複なし、項目番号0を含まない(probe.config §4)。
|
|
18
|
-
旧版のslots_max/wifi_maxは現仕様に無いため検査しない。
|
|
19
18
|
|
|
20
19
|
storage max_bytesとsave/erase提供時の存在は既存SelectedMetadataChecksで別に確認する。
|
|
21
20
|
itemsの未知tagを独自拡張でないと推測して禁止しない。
|
|
@@ -23,7 +23,5 @@ readはu64位置を返し、既に解放した位置ならgap、未取得の未
|
|
|
23
23
|
保持するのは最大2区画で、次serialとの差はu32の1/4未満である。任意の保持容量や保持幅全域の証明にはしない。
|
|
24
24
|
この共通の区画手順を他のcapture拡張へ移す際は、明示adapter・独立のsample/packing oracleを用意する。
|
|
25
25
|
単体34件:正常1、観測故障22、実model/Core故障7、制御不足2、本文guard2。
|
|
26
|
-
|
|
27
|
-
初期fixtureのconstructor、analog feed入口、frame容量を修正した。現在のモデル本体/Core/productionは変更していない。
|
|
28
|
-
mark保持、streaming/groupとの通知交錯、任意capacity、物理sampling、production Host統合は残る。
|
|
26
|
+
mark保持、streaming/groupとの通知交錯、任意capacity、物理sampling、production Hostとの統合は検査しない。
|
|
29
27
|
full_conformance=false。
|
|
@@ -15,7 +15,7 @@ fast 2種類それぞれで20ケース、計40構成を検査する。
|
|
|
15
15
|
- startの再送は取得中、stopの再送は部分区画を完成させた後で行う。
|
|
16
16
|
同じ要求の応答と状態が一致し、世代やデータを変えないことを確認する。
|
|
17
17
|
- queryは取得中と片方が完了した状態で両trackへ送る。
|
|
18
|
-
|
|
18
|
+
probeが候補として返した537Hz/5 sampleを答え、元の設定・timeline・データを保持することを確認する。
|
|
19
19
|
- endとforceによるsession交代は取得中、lease期限は取得中と取得完了後の保持データを持つ状態で確認する。
|
|
20
20
|
bind、plan、購読、取得データと区画を解放し、pinをidleへ戻す。世代は保持する。
|
|
21
21
|
- 世代の使い切り: groupの世代が0xFFFFFFFFならgroup startを、trackの世代が0xFFFFFFFFなら
|
|
@@ -16,7 +16,7 @@ getの応答は`more generation count 項目 [TLV]`、stateは`storage_state sav
|
|
|
16
16
|
- IDLE:使用中のchannelへのidleは解放時に効き、空きのchannelへのidleはただちに効く。
|
|
17
17
|
disableしたchannelは駆動せず、planはunavailable cause 5で断る。disableのunsetでただちに空き状態へ戻り、使えるようになる。
|
|
18
18
|
- ATOMIC:重複キー(bit7違いを含む)、idle/disable/labelの長さ違い、項目番号0、countと項目の不一致はmalformed。
|
|
19
|
-
|
|
19
|
+
宣言しない項目(0x01、0xFFなど)は受け取ったtagで、範囲外channel・未知のidle modeは項目tagで、未知criticalの要求TLVはそのtagでunsupported。
|
|
20
20
|
unsetの重複キー/項目番号0/切れた行はmalformed、宣言しない項目はunsupported。
|
|
21
21
|
idleとdisableの併存はcause 5、使用中channelのdisableはcause 1。
|
|
22
22
|
channel TLVはcore §4.3で「分かる範囲で付ける」任意のため、付けた場合にぶつかったchannelを指すことだけを照合する。拒否は設定・generation・pinを変えない。
|
|
@@ -39,4 +39,4 @@ generationの折返し、無いキーのunsetでの加算、容量超過のcause
|
|
|
39
39
|
旧config consumer/Endpointの自動attach・bind形は、この現仕様の適合根拠には使わない。
|
|
40
40
|
get paging/数値キー順は[別の部分検査](config-paging-conformance.ja.md)で確認する。
|
|
41
41
|
同内容saveの書き込み抑止と保存容量境界は[別の部分検査](config-storage-conformance.ja.md)で確認する。
|
|
42
|
-
channelごとのpull/出力の非対応、firmware自身のchannel、物理保存とproduction
|
|
42
|
+
channelごとのpull/出力の非対応、firmware自身のchannel、物理保存とproductionのHostは検査しない。full_conformance=false。
|
{oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/config-execution-conformance.ja.md
RENAMED
|
@@ -30,4 +30,4 @@ lease停止漏れ/早い更新/待機中停止・更新/送信後更新漏れ、
|
|
|
30
30
|
誤った実行時間、pin変更、同内容/拒否時/再送の書込みを検出する。
|
|
31
31
|
set/unsetは要求の先頭のcount(u8)から項目/行を読み、固定長に頼らない。
|
|
32
32
|
Host実時計のtimeout、物理flash、保存後のqueue処理、実経路の同時実行、応答待ち中のforce/open競合、
|
|
33
|
-
eraseの実行時間とproduction
|
|
33
|
+
eraseの実行時間とproductionのHostは検査しない。full_conformance=false。
|
{oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/config-fallback-conformance.ja.md
RENAMED
|
@@ -10,7 +10,7 @@ getの項目とgeneration 1、stateのstorage_state/saved_generation 0/reason、
|
|
|
10
10
|
ch1/ch6へのplanの可否(disableならunavailable cause 5)を照合する。
|
|
11
11
|
|
|
12
12
|
- FORMAT:容器が壊れて境界を確かめられない。何も適用せずstate 2/reason 1。保存のdisable ch6も効かない。
|
|
13
|
-
- UNKNOWN
|
|
13
|
+
- UNKNOWN:未知の項目。それを除き適用し、state 3/reason 2。
|
|
14
14
|
- CHANNEL:channels以上のlabel。MODE:未知のidle mode。LABEL:textの無いlabel。いずれも除いて適用し、3/2。
|
|
15
15
|
- CONFLICT:同じchannelにidleとdisable。disableを優先してidleを適用せず、3/2。
|
|
16
16
|
- DUPLICATE:同じキーのlabelが2つ。そのキーを適用せず、3/2。
|
|
@@ -30,4 +30,4 @@ idleの優先、重複キーの片方の採用、容量不足時の順序、起
|
|
|
30
30
|
set/save/erase後の誤った保存状態、idleの未適用を検出する。
|
|
31
31
|
get pagingは[別の部分検査](config-paging-conformance.ja.md)で確認する。
|
|
32
32
|
同内容saveの書込み抑止は[別の部分検査](config-storage-conformance.ja.md)で確認する。
|
|
33
|
-
erase中の電源断で残る完全性を確認できない保存、保存中排他/電源断、物理保存とproduction
|
|
33
|
+
erase中の電源断で残る完全性を確認できない保存、保存中排他/電源断、物理保存とproductionのHostは検査しない。full_conformance=false。
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
ConfigPagingModelとChecksへSPEC registryを明示し、InterfaceChecksの後に
|
|
4
4
|
`ConfigPagingChecks(checks, SampleConfigPagingAdapter(model)).run()`を実行する。
|
|
5
5
|
privateベンチや隣接SPECを自動探索しない。max_frame 64/128/256の3つの明示profileを使う。
|
|
6
|
-
fn 0のchannelsは512、GPIO
|
|
6
|
+
fn 0のchannelsは512、GPIOの駆動候補は0〜7。大きい番号の項目を確認するための論理fixtureであり、512本の物理pinを模擬する意味ではない。
|
|
7
7
|
|
|
8
8
|
getの応答は`more(u8) generation(u32) count(u8) count×項目 [TLV]`。項目はcountで数えて読み、残りは応答の末尾TLVとして別に読む。
|
|
9
9
|
|
|
@@ -24,8 +24,8 @@ generation変更時は古い項目を捨ててfirst 0へ戻す。more 1なのに
|
|
|
24
24
|
byte辞書順/byte offset、項目抜け/重複、誤ったmore/generation、途中で切った項目、bit7残留、frame超過、
|
|
25
25
|
countと項目数の不一致、変更ごとに進まないgeneration、読取りの設定/pin/lease/cache変更と、
|
|
26
26
|
Hostが再読込みせず異なる版を混ぜる故障を検出する。応答の未知の非critical末尾TLVは項目と混ぜずに受け入れる。
|
|
27
|
-
|
|
27
|
+
ページの上限は、通知したmax_frameから応答headerを差し引いた長さ。
|
|
28
28
|
|
|
29
|
-
任意channelカタログ、真の並行要求/継続変更、production Host
|
|
29
|
+
任意channelカタログ、真の並行要求/継続変更、production Hostとの連携は検査しない。
|
|
30
30
|
saveの書込み抑止は[別の部分検査](config-storage-conformance.ja.md)で確認する。
|
|
31
|
-
save
|
|
31
|
+
saveの排他/電源断、物理設備は検査しない。full_conformance=false。
|
{oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/config-power-loss-conformance.ja.md
RENAMED
|
@@ -31,9 +31,9 @@ JSON/CRCをcheckerのoracleに使わず、wireで設定したold/newの全項目
|
|
|
31
31
|
Core内部観測とbyte画像は仮想fixture用の補助制御であり、Probeへ新たな読取りAPIを要求しない。
|
|
32
32
|
|
|
33
33
|
単体33件:正常1、共通宣言1、wire故障4、状態/保存故障19、制御不足8。
|
|
34
|
-
active
|
|
35
|
-
起動時generation、同じboot
|
|
36
|
-
|
|
34
|
+
active領域上書き/消去、誤った古い世代の選択、commit/CRC破損後の成功、項目の混在、idle/disableの復帰漏れ、live planの残留、
|
|
35
|
+
起動時generation、同じbootの再使用、早い応答、復帰の書換え、前の保持者/履歴/cache、途中再開、volatileな未来設定への誤った復帰を検出する。
|
|
36
|
+
モデルはactiveでない側の領域へ書き、active領域の保存を失わない。
|
|
37
37
|
|
|
38
38
|
保存中の応答抑止/実行時間/lease、erase中の電源断(storage_state 2)、実flashのerase/program tear・摩耗・物理永続性、
|
|
39
|
-
任意破損/内部counter wrap、production
|
|
39
|
+
任意破損/内部counter wrap、production実装は検査しない。full_conformance=false。
|
|
@@ -25,5 +25,5 @@ max_bytesが数えるのは項目の見出し込みのbyteだけなので、63/6
|
|
|
25
25
|
毎回書込み/書込み欠落/変更の取りこぼし、generationや挿入順だけの比較、set時の自動保存、
|
|
26
26
|
erase漏れ/現在設定消去/state残留、容量境界/cause/拒否時の書込み、pin変更、不正保存、boot時の書換え/消失を検出する。
|
|
27
27
|
回数のassertは明示backendの観測条件であり、保存の内部形式や物理保存方式をoracleとして用いない。
|
|
28
|
-
実flashの摩耗、保存中排他/電源断、起動時の項目ごとの検証、production Host
|
|
28
|
+
実flashの摩耗、保存中排他/電源断、起動時の項目ごとの検証、production Hostとの統合は検査しない。
|
|
29
29
|
full_conformance=false。
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# SPEC からの適合検査
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
検査器は指定した SPEC checkout を読み、実装側の registry から期待値を作らない。検査器はレビューした本文に固定する([適合検査とSPECの版](conformance-spec-compatibility.ja.md))。
|
|
4
4
|
|
|
5
5
|
検査結果は次の3段階に分ける。
|
|
6
6
|
|
|
@@ -10,11 +10,11 @@
|
|
|
10
10
|
| interface | 独自拡張を含む全インターフェース | 名前/revision/instance、describe/ops、TLV、共通の資源・購読・ページング規則。各機能で適用されるものを検査 |
|
|
11
11
|
| oep-interface | 実装する標準 OEP インターフェース | 各 op の動作・副作用・競合・異常系。独自拡張向けテストの雛形として再利用 |
|
|
12
12
|
|
|
13
|
-
`oep-conformance` は最初の2段階の一部を実行する。PASS は実行した項目だけの成功で、全体適合ではない。JSON の `full_conformance` は false、`levels` と `unchecked` に範囲を残す。OEP
|
|
13
|
+
`oep-conformance` は最初の2段階の一部を実行する。PASS は実行した項目だけの成功で、全体適合ではない。JSON の `full_conformance` は false、`levels` と `unchecked` に範囲を残す。OEP固有の動作検査は実行しない。
|
|
14
14
|
|
|
15
15
|
## 実行
|
|
16
16
|
|
|
17
|
-
`tests/equipment/.env.example` をコピーし、明示的に読み込む。設定は安定した port/名指しした USB/TCP、期待する unit ID、SPEC checkout、既存の共有 lock、新規 JSON 出力先。SPEC は隣接 checkout を自動探索しない。私的設備台帳への依存はない。配線・target の指定はこのコア検査には不要。`OEP_CONFORMANCE_FRAMING=serial` では独立した COBS/CRC 検査器を使い、メッセージ検査に wire 検査と再接続検査を加える。`tcp` は明示した `tcp://HOST:PORT` に独立したlength検査器を使い、メッセージ検査に TCP 検査を加える。DNS-SDや隣接設定を自動探索しない。`client`
|
|
17
|
+
`tests/equipment/.env.example` をコピーし、明示的に読み込む。設定は安定した port/名指しした USB/TCP、期待する unit ID、SPEC checkout、既存の共有 lock、新規 JSON 出力先。SPEC は隣接 checkout を自動探索しない。私的設備台帳への依存はない。配線・target の指定はこのコア検査には不要。`OEP_CONFORMANCE_FRAMING=serial` では独立した COBS/CRC 検査器を使い、メッセージ検査に wire 検査と再接続検査を加える。`tcp` は明示した `tcp://HOST:PORT` に独立したlength検査器を使い、メッセージ検査に TCP 検査を加える。DNS-SDや隣接設定を自動探索しない。`client` は通常の client backend を使い、USB/TCPでもメッセージ検査を実行できる。
|
|
18
18
|
|
|
19
19
|
```sh
|
|
20
20
|
uv run --group dev --env-file tests/equipment/.env pytest tests/equipment/test_core_contract.py
|
|
@@ -22,7 +22,7 @@ uv run --group dev --env-file tests/equipment/.env pytest tests/equipment/test_c
|
|
|
22
22
|
uv run --env-file tests/equipment/.env oep-conformance
|
|
23
23
|
```
|
|
24
24
|
|
|
25
|
-
出力先の親ディレクトリを先に用意する。既存の結果を上書きしない。共有 lock を接続から close まで保持し、自分の session を終了する。forceは同じ検査器が取得したsession間の移譲だけを検査する。最初のopenが拒否されたらforceを送らない。別利用者のsessionは奪わない。pin 操作、設定変更、flash
|
|
25
|
+
出力先の親ディレクトリを先に用意する。既存の結果を上書きしない。共有 lock を接続から close まで保持し、自分の session を終了する。forceは同じ検査器が取得したsession間の移譲だけを検査する。最初のopenが拒否されたらforceを送らない。別利用者のsessionは奪わない。pin 操作、設定変更、flash は行わない。仕様に合わない実装は FAIL として記録する。
|
|
26
26
|
|
|
27
27
|
## 新コアのバーチャルベンチ
|
|
28
28
|
|
|
@@ -46,7 +46,7 @@ close後はsession 0のpeerからlockを観測し、primaryを開き直して再
|
|
|
46
46
|
|
|
47
47
|
## raw USBとソフトウェアモデル
|
|
48
48
|
|
|
49
|
-
bulk/HIDには独立したraw adapter APIと最小USB
|
|
49
|
+
bulk/HIDには独立したraw adapter APIと最小USBモデルがある([USB検査ガイド](usb-conformance.ja.md))。USB device/gadgetやOSのUSB stackではなく、実機raw adapterとdescriptor検査は持たない。通常CLIのUSB `framing=client` はメッセージ検査だけで、モデルの成功を実機へ適用しない。
|
|
50
50
|
|
|
51
51
|
## 現在の粒度と限界
|
|
52
52
|
|
|
@@ -64,7 +64,7 @@ bulk/HIDには独立したraw adapter APIと最小USBモデルを追加した。
|
|
|
64
64
|
| reconnect(serial) | OS portを閉じて同じportを開き、confirm/個体/bootを再照合。sessionとlock、再送履歴、終了したsessionの履歴、close中のlease失効を検査。再起動や個体の不一致はFAILとして後続を止め、異なる端点へendを送らない |
|
|
65
65
|
| interface 共通 | 各 fn を独立に describe/ops/不変性/instance 検査。独自インターフェースにも同じ検査 |
|
|
66
66
|
|
|
67
|
-
各項目に条項、PASS/FAIL/BLOCKED、要求と応答 hex、経過時間を保存する。wire
|
|
67
|
+
各項目に条項、PASS/FAIL/BLOCKED、要求と応答 hex、経過時間を保存する。wireの復号・読み出し自体が失敗しても、その実行のraw送受信とerrorを保存する。過去のwire記録をその失敗へ転記しない。timeout/transport切断やcleanup失敗の後は回復を隠さず BLOCKED にし、実行全体は FAIL。設定が全くない任意の pytest 実機入口だけ SKIP。TCPのmax_frameが65535なら、u16でそれ以上のlengthを送れないため過大lengthの項目だけnot_applicableとし、その理由をpytestのskipに残す。設備不備のskipとは区別する。不完全な設定、アクセス権不足、個体違い、仕様違反は FAIL。
|
|
68
68
|
|
|
69
69
|
`result_lost` は仕様が許す保持サイズ上限を考慮して受ける。履歴の古い clock を送り直したとき、新しい時計値で completed を返せば再実行として失敗する。cacheの容量を実装固有の固定値と決めつけない。
|
|
70
70
|
|
|
@@ -74,9 +74,9 @@ bulk/HIDには独立したraw adapter APIと最小USBモデルを追加した。
|
|
|
74
74
|
|
|
75
75
|
既存の registry/vector は `tests/vectors/SPEC_COMMIT` と `SPEC_SHA256` で固定し、通常試験はその snapshot を検査する。明示した `OEP_SPEC_DIR` があれば、同じ commit の upstream 内容も比較する。SPEC の HEAD が先行しても旧回帰は自動同期しない。更新は `OEP_SPEC_DIR=/explicit/path OEP_SPEC_REF=<commit> tools/sync_registry.sh` で行う。
|
|
76
76
|
|
|
77
|
-
資源寿命には[明示adapterによる補助検査](resource-conformance.ja.md)
|
|
77
|
+
資源寿命には[明示adapterによる補助検査](resource-conformance.ja.md)がある。最小サンプルは14資源契約+2宣言検査を実行する。通常CLIへ自動追加せず、購読・route切断・依存順・電気的idleを未検査として残す。
|
|
78
78
|
|
|
79
|
-
購読・出来事の寿命には[外部刺激adapterの補助検査](subscription-conformance.ja.md)
|
|
79
|
+
購読・出来事の寿命には[外部刺激adapterの補助検査](subscription-conformance.ja.md)がある。raw通知と観測窓を保存する。data、応答優先、route、queue上限は未検査で、通常CLIには自動追加しない。
|
|
80
80
|
|
|
81
81
|
[data/eventとまとめ送りの補助検査](data-conformance.ja.md)。外部byte位置とloss-freeな刺激条件を明示し、閾値・first-byte delay・共通seq・分割・再送/同session openでの未送信データ保持を検査する。seq一周は単体で65,538個を実際に生成して検証し、実時計・実機の結果と分ける。
|
|
82
82
|
|
|
@@ -98,7 +98,7 @@ bulk/HIDには独立したraw adapter APIと最小USBモデルを追加した。
|
|
|
98
98
|
|
|
99
99
|
[回復中のforceと経路単位の結果不明化](recovery-races-conformance.ja.md)。読み出し前/途中/最後のsession差し替えを検出し、全応答喪失・先頭だけ受信・全件未実行の3条件で、その経路の未解決要求だけをunknownにする。
|
|
100
100
|
|
|
101
|
-
corr
|
|
101
|
+
corrは循環する(core §4.1、§5.1)。corrの循環・半周・記録の破棄は[corr検査](corr-conformance.ja.md)のWRAP/HALF-GAPS/WRAP-ENDで確認する。
|
|
102
102
|
|
|
103
103
|
[end/openの結果喪失からの回復](session-loss-conformance.ja.md)。同一要求を再送し、現在のsession状態も確認する。保存されたopenの成功を取得しても、期限切れなら利用を再開しない。result_lostから成功やlease値を推測しない。
|
|
104
104
|
|
|
@@ -175,7 +175,7 @@ drive/read、再送とidle復元を第三段階で確認する。物理pin/他fi
|
|
|
175
175
|
configure、受信/送信、TX idle、再送、plan再作成とend/expiry/forceを確認する。
|
|
176
176
|
[UARTへの共通stream適用](uart-stream-conformance.ja.md)は、既存assertをplan所有の寿命に合わせて使う。
|
|
177
177
|
|
|
178
|
-
console §2に従うresync/TO/CRCのmarkと無効flag
|
|
178
|
+
console §2に従うresync/TO/CRCのmarkと無効flagの誤通知も検出する。繰り返し観測のmark数は固定しない。
|
|
179
179
|
|
|
180
180
|
[I2C targetの固有検査](i2c-conformance.ja.md)。
|
|
181
181
|
RX/TX FIFO、ACK、overflow、stretch/configure、再送の非重複、plan寿命を4構成で確認する。
|
|
@@ -188,4 +188,4 @@ query/configure、one-shot/repeat、世代、read/区画/release、short/error
|
|
|
188
188
|
|
|
189
189
|
[analog成功payloadの検査](analog-payload-conformance.ja.md)。
|
|
190
190
|
layout/actual値/scale/skew/frontend/reference、calibrationと既知raw sampleを独立に確認する。
|
|
191
|
-
実行・拒否・世代・資源寿命・通知と全analog
|
|
191
|
+
実行・拒否・世代・資源寿命・通知と全analog操作の適合は検査しない。
|
{oep_client_python-0.0.43 → oep_client_python-0.0.44}/docs/conformance-spec-compatibility.ja.md
RENAMED
|
@@ -1,21 +1,18 @@
|
|
|
1
|
-
# 適合検査とSPEC
|
|
1
|
+
# 適合検査とSPECの版
|
|
2
2
|
|
|
3
3
|
検査が要求する契約と、選択したSPECの契約は揃っている必要がある。
|
|
4
|
-
protocol revisionが同じ1
|
|
4
|
+
凍結前の仕様はprotocol revisionが同じ1でも変わるので、検査はレビューした本文に固定する。
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
core本文のSHAは実行結果のSPEC
|
|
8
|
-
|
|
6
|
+
各検査器は、レビューした本文のSHA-256をコードに持つ(`REVIEWED_CORE_SHA256`、`REVIEWED`など)。
|
|
7
|
+
異なる本文のSPEC checkoutでは、機器を開く前に止まる。core本文のSHAは実行結果のSPEC情報にも記録する。
|
|
8
|
+
`tools/sync_registry.sh`はSPECの本文のSHAを`tests/spec/DOCS_SHA256`へ書き、
|
|
9
|
+
`tests/test_conformance_reviewed_pins.py`は検査器の固定がそれと一致することを確かめる。
|
|
10
|
+
仕様を取り込むときは、検査の中身をレビューしてから固定を上げる。固定だけを上げて通すことはしない。
|
|
9
11
|
手書きregistryによるunit testは、選んだ検査条件の確認であり、任意のSPECへの適合を証明しない。
|
|
10
12
|
|
|
11
|
-
|
|
12
|
-
旧検査の「65535でend」「corr枯渇前のsession切替」「list entryは7byte」は削除または書き換えた。
|
|
13
|
-
ガードのSHAだけを新しい本文へ更新して通す変更も行わない。
|
|
14
|
-
|
|
15
|
-
追従はコア、全拡張の共通契約、標準インターフェース固有の順に進める。
|
|
13
|
+
検査は、コア、全拡張の共通契約、標準インターフェース固有の順に積む。
|
|
16
14
|
最小構成と主要な成功・拒否・復旧を先に確認し、任意機能の不在は適用外として扱う。
|
|
17
15
|
宣言した必須操作の不在や誤動作を、設備不足としてskipしない。
|
|
18
|
-
新しい検査が対象の契約を確認できるようになってから、対応するガードと文書を一緒に更新する。
|
|
19
16
|
|
|
20
17
|
## SPEC の共有ベクトルの読み方
|
|
21
18
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# コアの固定フィールドと省略のレビュー
|
|
2
2
|
|
|
3
3
|
core §2.3の「固定部分に省略できるフィールドを置かない」を、revision1のコアpayloadへ適用する。
|
|
4
|
-
本文SHA
|
|
4
|
+
本文SHAは[core形の検査](host-core-shapes-conformance.ja.md)の固定を共有する。
|
|
5
5
|
CoreFixedFieldChecksはSPECを明示指定し、本文・番号が変わればレビューし直す。
|
|
6
6
|
生成registryは番号の照合に使う。幅・省略条件は本文§1.1/4.3/6.4/7を読んで下の台帳に固定した。
|
|
7
7
|
privateベンチへの依存や隣接SPECの自動探索はない。
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
#
|
|
1
|
+
# コア大枠検査
|
|
2
2
|
|
|
3
|
-
`CoreSmokeChecks
|
|
4
|
-
旧`Checks`のガードを解除したり、旧検査全部を新仕様の検査として走らせたりはしない。
|
|
3
|
+
`CoreSmokeChecks`は、coreの選択した契約を、小さいraw messageの検査で確認するAPIである。
|
|
5
4
|
選択したSPECのcore SHAとheader/corr定義を確認し、レビューしていない本文では送信前に止める。
|
|
6
|
-
|
|
5
|
+
固定の仕方は[適合検査とSPECの版](conformance-spec-compatibility.ja.md)にある。
|
|
7
6
|
|
|
8
7
|
```python
|
|
9
8
|
from oep_client.conformance import spec_identity
|
|
@@ -38,5 +37,5 @@ listはflagsなしの6byte entryを読む。名前付き機能なしでもよく
|
|
|
38
37
|
転送の失敗ではopenが実行されたか不明な場合もあるため、呼び出す側が経路と状態を確認して回復する。
|
|
39
38
|
この検査はforceで他のセッションを奪わない。対象が使用中なら実行前に調整する。
|
|
40
39
|
|
|
41
|
-
全core準拠ではない。CRC/COBS/USB/TCP障害、leaseの全時間条件、fn 0の短い処理上限(core_quick_op_max_ms)、方針判定、force、owner表示を提供する場合の全規則、資源寿命、Host
|
|
40
|
+
全core準拠ではない。CRC/COBS/USB/TCP障害、leaseの全時間条件、fn 0の短い処理上限(core_quick_op_max_ms)、方針判定、force、owner表示を提供する場合の全規則、資源寿命、Hostの半周制限/古い応答の排出、個別interface動作は別の検査である。
|
|
42
41
|
reportは常にfull_conformance=falseで、scopeとuncheckedを結果と一緒に扱う。
|
|
@@ -35,4 +35,4 @@ assert report['status'] == 'passed', report
|
|
|
35
35
|
|
|
36
36
|
検査器`Checks.request()`の自動採番は65535の次を1にし、0を使わない。不正headerでpackingに失敗した場合は番号を消費しない。明示corr指定は0を含む異常系検査にも使う。
|
|
37
37
|
|
|
38
|
-
`full_conformance=false
|
|
38
|
+
`full_conformance=false`。対象は論理model上の番号境界と保存状態で、物理USB/TCP、並行処理、result_lostからの回復、他の保持サイズは未検査。
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
`CutChecks`と独立した`CutModel`/`SampleCutAdapter`はOEP debug §2、common §1/2、
|
|
4
4
|
core §5.2/9を検査する。共通宣言は第二段階、前提と動作は第三段階。
|
|
5
|
-
|
|
5
|
+
動作caseはRVSWD接続のRISC-V DMIとdmseq consoleを使う。
|
|
6
6
|
公開Pythonライブラリだけで利用でき、SPEC/registryは呼び出し側で選ぶ。
|
|
7
7
|
`full_conformance`はfalse。設備設定や私的ベンチを探索しない。
|
|
8
8
|
|