Expand description
Asupersync Conformance Test Suite
This crate provides a conformance test suite for async runtime implementations. Tests are designed to verify that runtimes correctly implement the expected semantics for spawning, channels, I/O, synchronization, and cancellation.
§Architecture
The test suite is runtime-agnostic. Each runtime must implement the
RuntimeInterface trait to provide the necessary primitives. Tests are
written against this interface, allowing the same tests to validate
different runtime implementations.
§Test Categories
Spawn: Task spawning and join handlesChannels: MPSC, oneshot, broadcast, and watch channelsIO: File operations, TCP, and UDP networkingSync: Mutex, RwLock, Semaphore, Barrier, OnceCellTime: Sleep, timeout, intervalCancel: Cancellation token and cooperative cancellation
Re-exports§
pub use atp_security::AtpSecurityContract;pub use atp_security::atp_security_conformance_tests;pub use atp_security::atp_security_coverage_matrix;pub use bench::BenchAllocSnapshot;pub use bench::BenchAllocStats;pub use bench::BenchCategory;pub use bench::BenchComparisonResult;pub use bench::BenchComparisonSummary;pub use bench::BenchConfig;pub use bench::BenchOutput;pub use bench::BenchRunResult;pub use bench::BenchRunSummary;pub use bench::BenchRunner;pub use bench::BenchThresholds;pub use bench::Benchmark;pub use bench::Comparison;pub use bench::ComparisonConfidence;pub use bench::RegressionCheck;pub use bench::RegressionConfig;pub use bench::RegressionMetric;pub use bench::Stats;pub use bench::StatsError;pub use bench::default_benchmarks;pub use bench::run_benchmark_comparison;pub use h1_expect_continue_conformance::ExpectContinueComplianceReport;pub use h1_expect_continue_conformance::ExpectContinueComplianceSummary;pub use h1_expect_continue_conformance::ExpectContinueConformanceCase;pub use h1_expect_continue_conformance::ExpectContinueConformanceTester;pub use h1_expect_continue_conformance::ExpectContinueTestResult;pub use h1_expect_continue_conformance::ExpectContinueTestVerdict;pub use h1_request_building_conformance::RequestBuilderOp;pub use h1_request_building_conformance::RequestBuildingComplianceReport;pub use h1_request_building_conformance::RequestBuildingComplianceSummary;pub use h1_request_building_conformance::RequestBuildingConformanceCase;pub use h1_request_building_conformance::RequestBuildingConformanceTester;pub use h1_request_building_conformance::RequestBuildingTestResult;pub use h1_request_building_conformance::RequestBuildingTestVerdict;pub use h1_response_building_conformance::ResponseBuilderOp;pub use h1_response_building_conformance::ResponseBuildingComplianceReport;pub use h1_response_building_conformance::ResponseBuildingComplianceSummary;pub use h1_response_building_conformance::ResponseBuildingConformanceCase;pub use h1_response_building_conformance::ResponseBuildingConformanceTester;pub use h1_response_building_conformance::ResponseBuildingTestResult;pub use h1_response_building_conformance::ResponseBuildingTestVerdict;pub use h2_connect_method_conformance::ConnectMethodComplianceReport;pub use h2_connect_method_conformance::ConnectMethodComplianceSummary;pub use h2_connect_method_conformance::ConnectMethodConformanceCase;pub use h2_connect_method_conformance::ConnectMethodConformanceTester;pub use h2_connect_method_conformance::ConnectMethodTestResult;pub use h2_connect_method_conformance::ConnectMethodTestVerdict;pub use h2_connect_method_conformance::ConnectRequest;pub use h2_continuation_conformance::ContinuationComplianceReport;pub use h2_continuation_conformance::ContinuationComplianceSummary;pub use h2_continuation_conformance::ContinuationConformanceCase;pub use h2_continuation_conformance::ContinuationConformanceTester;pub use h2_continuation_conformance::ContinuationTestResult;pub use h2_continuation_conformance::ContinuationTestVerdict;pub use h2_continuation_conformance::ExpectedOutcome as ContinuationExpectedOutcome;pub use h2_continuation_conformance::FrameSequence;pub use h2_continuation_conformance::RequirementLevel as ContinuationRequirementLevel;pub use h2_continuation_conformance::TestFrame;pub use h2_continuation_conformance::TestFrameResult;pub use h2_data_end_stream_conformance::DataEndStreamComplianceReport;pub use h2_data_end_stream_conformance::DataEndStreamComplianceSummary;pub use h2_data_end_stream_conformance::DataEndStreamConformanceCase;pub use h2_data_end_stream_conformance::DataEndStreamConformanceResult;pub use h2_data_end_stream_conformance::DataEndStreamConformanceTester;pub use h2_data_end_stream_conformance::DataEndStreamConnectionState;pub use h2_data_end_stream_conformance::DataEndStreamTestVerdict;pub use h2_data_end_stream_conformance::RequirementLevel as DataEndStreamRequirementLevel;pub use h2_data_end_stream_conformance::SerializableDataFrame;pub use h2_data_end_stream_conformance::StreamEndStreamState;pub use h2_enable_push_conformance::EnablePushComplianceReport;pub use h2_enable_push_conformance::EnablePushComplianceSummary;pub use h2_enable_push_conformance::EnablePushConformanceCase;pub use h2_enable_push_conformance::EnablePushConformanceTester;pub use h2_enable_push_conformance::EnablePushTestResult;pub use h2_enable_push_conformance::EnablePushTestVerdict;pub use h2_enable_push_conformance::TestRequest;pub use h2_goaway_conformance::GoAwayComplianceReport;pub use h2_goaway_conformance::GoAwayComplianceSummary;pub use h2_goaway_conformance::GoAwayConformanceCase;pub use h2_goaway_conformance::GoAwayConformanceResult;pub use h2_goaway_conformance::GoAwayConformanceTester;pub use h2_goaway_conformance::GoAwayConnectionState;pub use h2_goaway_conformance::GoAwayTestVerdict;pub use h2_goaway_conformance::RequirementLevel as GoAwayRequirementLevel;pub use h2_goaway_conformance::SerializableGoAwayFrame;pub use h2_ping_conformance::PingComplianceReport;pub use h2_ping_conformance::PingComplianceSummary;pub use h2_ping_conformance::PingConformanceCase;pub use h2_ping_conformance::PingConformanceResult;pub use h2_ping_conformance::PingConformanceTester;pub use h2_ping_conformance::PingConnectionState;pub use h2_ping_conformance::PingTestVerdict;pub use h2_ping_conformance::PingTiming;pub use h2_ping_conformance::RequirementLevel as PingRequirementLevel;pub use h2_ping_conformance::SerializablePingFrame;pub use h2_priority_conformance::PriorityComplianceReport;pub use h2_priority_conformance::PriorityComplianceSummary;pub use h2_priority_conformance::PriorityConformanceCase;pub use h2_priority_conformance::PriorityConformanceResult;pub use h2_priority_conformance::PriorityConformanceTester;pub use h2_priority_conformance::PriorityTestVerdict;pub use h2_priority_conformance::RequirementLevel as PriorityRequirementLevel;pub use h2_priority_conformance::StreamPriorityState;pub use h2_settings_conformance::ComplianceReport as SettingsComplianceReport;pub use h2_settings_conformance::ComplianceSummary as SettingsComplianceSummary;pub use h2_settings_conformance::ConformanceResult as SettingsConformanceResult;pub use h2_settings_conformance::ExpectedOutcome;pub use h2_settings_conformance::Setting;pub use h2_settings_conformance::SettingsConformanceCase;pub use h2_settings_conformance::SettingsConformanceTester;pub use h2_settings_conformance::SettingsFrame;pub use h2_settings_conformance::SettingsSnapshot;pub use h2_settings_conformance::TestVerdict as SettingsTestVerdict;pub use hpack_conformance::ComplianceReport as HpackComplianceReport;pub use hpack_conformance::ComplianceSummary as HpackComplianceSummary;pub use hpack_conformance::ConformanceResult as HpackConformanceResult;pub use hpack_conformance::ExpectedOutcome as HpackExpectedOutcome;pub use hpack_conformance::HpackConformanceCase;pub use hpack_conformance::HpackConformanceTester;pub use hpack_conformance::RequirementLevel as HpackRequirementLevel;pub use hpack_conformance::TestVerdict as HpackTestVerdict;pub use hpack_encoder_conformance::EncoderTestVerdict;pub use hpack_encoder_conformance::HpackEncoderComplianceReport;pub use hpack_encoder_conformance::HpackEncoderComplianceSummary;pub use hpack_encoder_conformance::HpackEncoderConformanceCase;pub use hpack_encoder_conformance::HpackEncoderConformanceTester;pub use hpack_encoder_conformance::HpackEncoderTestResult;pub use kafka_record_batch_v2::ConformanceTestResult;pub use kafka_record_batch_v2::Header;pub use kafka_record_batch_v2::KafkaConformanceHarness;pub use kafka_record_batch_v2::RecordAttribute;pub use kafka_record_batch_v2::RecordBatchV2;pub use kafka_record_batch_v2::RecordV2;pub use kafka_record_batch_v2::TimestampType;pub use lean_coverage_matrix::BlockerCode;pub use lean_coverage_matrix::CoverageBlocker;pub use lean_coverage_matrix::CoverageEvidence;pub use lean_coverage_matrix::CoverageRow;pub use lean_coverage_matrix::CoverageRowType;pub use lean_coverage_matrix::CoverageStatus;pub use lean_coverage_matrix::LEAN_COVERAGE_SCHEMA_VERSION;pub use lean_coverage_matrix::LeanCoverageMatrix;pub use lean_frontier::LEAN_FRONTIER_SCHEMA_VERSION;pub use lean_frontier::LeanDiagnosticSeverity;pub use lean_frontier::LeanFrontierBucket;pub use lean_frontier::LeanFrontierDiagnostic;pub use lean_frontier::LeanFrontierReport;pub use lean_frontier::extract_frontier_report;pub use logging::ConformanceTestLogger;pub use logging::LogCollector;pub use logging::LogConfig;pub use logging::LogEntry;pub use logging::LogLevel;pub use logging::TestEvent;pub use logging::TestEventKind;pub use reference_registry::ReferenceRegistryError;pub use reference_registry::ReferenceRegistryGuardFailure;pub use reference_registry::ReferenceRegistryGuardReport;pub use reference_registry::ReferenceSurfaceRegistry;pub use reference_registry::ReferenceSurfaceRow;pub use reference_registry::ReferenceVerdictAdmission;pub use reference_registry::RuntimeConformanceVerdict;pub use reference_registry::SOURCE_CONFORMANCE_REGISTRY_CONTRACT;pub use report::render_console_summary;pub use report::write_json_report;pub use runner::ComparisonResult;pub use runner::ComparisonStatus;pub use runner::ComparisonSummary;pub use runner::RunConfig;pub use runner::RunSummary;pub use runner::SingleRunResult;pub use runner::SuiteResult;pub use runner::SuiteTestResult;pub use runner::TestRunner;pub use runner::compare_results;pub use runner::run_comparison;pub use runner::run_conformance_suite;pub use traceability::CiReport;pub use traceability::CoverageStats;pub use traceability::ScanWarning;pub use traceability::SpecRequirement;pub use traceability::TraceabilityEntry;pub use traceability::TraceabilityMatrix;pub use traceability::TraceabilityMatrixBuilder;pub use traceability::TraceabilityScan;pub use traceability::TraceabilityScanError;pub use traceability::requirements_from_entries;pub use traceability::scan_conformance_attributes;
Modules§
- atp_
security - ATP Security Conformance Harness
- bench
- Benchmark framework for conformance and performance comparisons.
- h1_
expect_ continue_ conformance - HTTP/1.1 Expect: 100-continue handling conformance testing.
- h1_
request_ building_ conformance - HTTP/1.1 request building conformance testing.
- h1_
response_ building_ conformance - HTTP/1.1 response building conformance testing.
- h2_
connect_ method_ conformance - HTTP/2 CONNECT method handling conformance testing.
- h2_
continuation_ conformance - HTTP/2 CONTINUATION frame conformance testing.
- h2_
data_ end_ stream_ conformance - HTTP/2 DATA frame END_STREAM conformance testing.
- h2_
enable_ push_ conformance - HTTP/2 SETTINGS_ENABLE_PUSH=0 enforcement conformance testing.
- h2_
goaway_ conformance - HTTP/2 GOAWAY frame conformance testing.
- h2_
ping_ conformance - HTTP/2 PING frame conformance testing.
- h2_
priority_ conformance - HTTP/2 PRIORITY frame conformance testing.
- h2_
settings_ conformance - HTTP/2 SETTINGS frame conformance checks.
- hpack_
conformance - HPACK decoder conformance testing.
- hpack_
encoder_ conformance - HPACK encoder conformance testing.
- kafka_
record_ batch_ v2 - Kafka RecordBatch v2 conformance tests per KIP-98.
- lean_
coverage_ matrix - Lean proof coverage ontology and machine-readable matrix model.
- lean_
frontier - Deterministic Lean build frontier extraction and error bucketing.
- logging
- Logging infrastructure for conformance tests.
- mysql_
conformance - MySQL wire protocol conformance tests.
- otlp_
wire_ format - OpenTelemetry OTLP wire format conformance tests.
- raptorq_
rfc6330 - RFC 6330 RaptorQ Conformance Testing Infrastructure
- raptorq_
rfc6330_ reporting - RFC 6330 RaptorQ Conformance Reporting and Maintenance Pipeline
- reference_
registry - Source-owned reference-surface registry for conformance harnesses.
- report
- Report generation for conformance test results.
- rfc6330_
fixtures - RFC 6330 Reference Fixtures for Conformance Testing
- rfc6330_
tests - RFC 6330 Conformance Tests
- runner
- Test runner for executing conformance tests.
- tests
- traceability
- Spec-to-test traceability matrix generation.
Macros§
- benchmark
- Macro for defining benchmarks.
- conformance_
test - Macro for defining conformance tests.
- trace_
entries - Macro for defining traceability entries inline.
Structs§
- Checkpoint
- A checkpoint recorded during test execution.
- Conformance
Test - A registered conformance test.
- Oneshot
Recv Error - Error when receiving from a closed oneshot channel.
- Test
Meta - Metadata for a conformance test.
- Test
Result - Result of a conformance test execution.
- Timeout
Error - Timeout error.
- Watch
Recv Error - Error when receiving from a closed watch channel.
Enums§
- Broadcast
Recv Error - Error when receiving from a closed broadcast channel.
- Requirement
Level - RFC 2119 requirement levels for conformance testing.
- Test
Category - Categories of conformance tests.
Traits§
- Async
File - Async file trait.
- Broadcast
Receiver - Broadcast receiver trait.
- Broadcast
Sender - Broadcast sender trait.
- Mpsc
Receiver - MPSC receiver trait.
- Mpsc
Sender - MPSC sender trait.
- Oneshot
Sender - Oneshot sender trait.
- Runtime
Interface - Trait that async runtimes must implement to run conformance tests.
- TcpListener
- TCP listener trait.
- TcpStream
- TCP stream trait.
- UdpSocket
- UDP socket trait.
- Watch
Receiver - Watch receiver trait.
- Watch
Sender - Watch sender trait.
Functions§
- checkpoint
- Helper function to record a checkpoint.