Skip to main content

Crate asupersync_conformance

Crate asupersync_conformance 

Source
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 handles
  • Channels: MPSC, oneshot, broadcast, and watch channels
  • IO: File operations, TCP, and UDP networking
  • Sync: Mutex, RwLock, Semaphore, Barrier, OnceCell
  • Time: Sleep, timeout, interval
  • Cancel: 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.
ConformanceTest
A registered conformance test.
OneshotRecvError
Error when receiving from a closed oneshot channel.
TestMeta
Metadata for a conformance test.
TestResult
Result of a conformance test execution.
TimeoutError
Timeout error.
WatchRecvError
Error when receiving from a closed watch channel.

Enums§

BroadcastRecvError
Error when receiving from a closed broadcast channel.
RequirementLevel
RFC 2119 requirement levels for conformance testing.
TestCategory
Categories of conformance tests.

Traits§

AsyncFile
Async file trait.
BroadcastReceiver
Broadcast receiver trait.
BroadcastSender
Broadcast sender trait.
MpscReceiver
MPSC receiver trait.
MpscSender
MPSC sender trait.
OneshotSender
Oneshot sender trait.
RuntimeInterface
Trait that async runtimes must implement to run conformance tests.
TcpListener
TCP listener trait.
TcpStream
TCP stream trait.
UdpSocket
UDP socket trait.
WatchReceiver
Watch receiver trait.
WatchSender
Watch sender trait.

Functions§

checkpoint
Helper function to record a checkpoint.