Generated 2026-08-30 16:45 UTC. History lives on the results branch.
srl-weekly run 33314968970 2026-08-30T16:45:34Z
go: openconfig/gnmic@main (TARGET_BACKEND=srl)
rust: gnmic/gnmic.rs@main (TARGET_BACKEND=srl)
both pass 138 both fail 108 diverge 15 other 32 total 293
| suite | tests | both pass | both fail | diverge | go fail | rust fail | skip |
|---|---|---|---|---|---|---|---|
001-targets | 19 | 2 | 17 | 0 | 17 | 17 | 0 |
002-subscriptions | 31 | 12 | 14 | 0 | 14 | 14 | 5 |
003-outputs | 35 | 0 | 35 | 0 | 35 | 35 | 0 |
004-processors | 28 | 1 | 26 | 1 | 26 | 26 | 1 |
005-cluster | 16 | 0 | 0 | 0 | 7 | 0 | 5 |
007-inputs | 26 | 11 | 15 | 0 | 15 | 15 | 0 |
008-apply | 19 | 17 | 1 | 0 | 1 | 1 | 1 |
009-validation | 49 | 45 | 0 | 4 | 0 | 0 | 4 |
010-profiling | 4 | 0 | 0 | 0 | 0 | 0 | 4 |
011-gnmi-server | 4 | 0 | 0 | 4 | 0 | 3 | 4 |
012-cli | 62 | 50 | 0 | 6 | 0 | 0 | 7 |
001-targetstests 19 both pass 2 go fail 17 rust fail 17 skip 0
| test | go | rust | note |
|---|---|---|---|
TestAddExplicitOutput | ❌ | ❌ | go: Failed · rust: Failed |
TestAddExplicitSubscription | ❌ | ❌ | go: Failed · rust: Failed |
TestAddImplicitOutput | ❌ | ❌ | go: Failed · rust: Failed |
TestChangeSubscriptionAddPath | ❌ | ❌ | go: Failed · rust: Failed |
TestExplicitListIgnoresImplicit | ❌ | ❌ | go: Failed · rust: Failed |
TestRemoveExplicitOutput | ❌ | ❌ | go: Failed · rust: Failed |
TestRemoveExplicitSubscription | ❌ | ❌ | go: Failed · rust: Failed |
TestRuntimeStateRouteParity | ❌ | ❌ | go: Failed · rust: Failed |
TestTargetAdminState | ❌ | ❌ | go: Failed · rust: Failed |
TestTargetDeletionTearsDown | ❌ | ❌ | go: Failed · rust: Failed |
TestTargetEventTags | ❌ | ❌ | go: Failed · rust: Failed |
TestTargetRestarted | ❌ | ❌ | go: Failed · rust: Failed |
TestTargetSubscriptionListChange | ❌ | ❌ | go: Failed · rust: Failed |
TestTargetTLSChange | ❌ | ❌ | go: Failed · rust: Failed |
TestUnreachableTargetRecovers | ❌ | ❌ | go: Failed · rust: Failed |
TestUpdateTargetAddress | ❌ | ❌ | go: Failed · rust: Failed |
TestUpdateTargetCredentials | ❌ | ❌ | go: Failed · rust: Failed |
TestRuntimeAPIAndMetricsSmoke | ✅ | ✅ | |
TestUnreachableTargetErrorState | ✅ | ✅ |
002-subscriptionstests 31 both pass 12 go fail 14 rust fail 14 skip 5
| test | go | rust | note |
|---|---|---|---|
TestAddOnChangeToStream | ❌ | ❌ | go: Failed · rust: Failed |
TestAddPathDifferentInterval | ❌ | ❌ | go: Failed · rust: Failed |
TestAddPathToStream | ❌ | ❌ | go: Failed · rust: Failed |
TestAddPrefixAndPath | ❌ | ❌ | go: Failed · rust: Failed |
TestAddRemoveSubscriptions | ❌ | ❌ | go: Failed · rust: Failed |
TestChangeEncoding | ❌ | ❌ | go: Failed · rust: Failed |
TestChangeSampleInterval | ❌ | ❌ | go: Failed · rust: Failed |
TestChangeStreamMode | ❌ | ❌ | go: Failed · rust: Failed |
TestChangeSubscriptionPath | ❌ | ❌ | go: Failed · rust: Failed |
TestDeleteReferencedSubscription | ❌ | ❌ | go: Failed · rust: Failed |
TestOnceMode | ❌ | ❌ | go: Failed · rust: Failed |
TestRemovePathFromStream | ❌ | ❌ | go: Failed · rust: Failed |
TestRuntimeSubscriptionMembership | ❌ | ❌ | go: Failed · rust: Failed |
TestSubscriptionScopedOutputRouting | ❌ | ❌ | go: Failed · rust: Failed |
TestHeartbeatInterval | ⏭ | ⏭ | go: === RUN TestHeartbeatInterval subscriptions_test.go:396: wire-level subscription assertion requires TARGET_BACKEND=gnmigen --- SKIP: TestHeartbeatInterval (0.00s) · rust: === RUN TestHeartbeatInterval subscriptions_test.go:396: wire-level subscription assertion requires TARGET_BACKEND=gnmigen --- SKIP: TestHeartbeatInterval (0.00s) |
TestPollMode | ⏭ | ⏭ | go: === RUN TestPollMode subscriptions_test.go:476: wire-level subscription assertion requires TARGET_BACKEND=gnmigen --- SKIP: TestPollMode (0.00s) · rust: === RUN TestPollMode subscriptions_test.go:476: wire-level subscription assertion requires TARGET_BACKEND=gnmigen --- SKIP: TestPollMode (0.00s) |
TestSuppressRedundant | ⏭ | ⏭ | go: === RUN TestSuppressRedundant subscriptions_test.go:383: wire-level subscription assertion requires TARGET_BACKEND=gnmigen --- SKIP: TestSuppressRedundant (0.00s) · rust: === RUN TestSuppressRedundant subscriptions_test.go:383: wire-level subscription assertion requires TARGET_BACKEND=gnmigen --- SKIP: TestSuppressRedundant (0.00s) |
TestTargetDefinedStreamMode | ⏭ | ⏭ | go: === RUN TestTargetDefinedStreamMode subscriptions_test.go:615: wire-level subscription assertion requires TARGET_BACKEND=gnmigen --- SKIP: TestTargetDefinedStreamMode (0.00s) · rust: === RUN TestTargetDefinedStreamMode subscriptions_test.go:615: wire-level subscription assertion requires TARGET_BACKEND=gnmigen --- SKIP: TestTargetDefinedStreamMode (0.00s) |
TestUpdatesOnly | ⏭ | ⏭ | go: === RUN TestUpdatesOnly subscriptions_test.go:370: wire-level subscription assertion requires TARGET_BACKEND=gnmigen --- SKIP: TestUpdatesOnly (0.00s) · rust: === RUN TestUpdatesOnly subscriptions_test.go:370: wire-level subscription assertion requires TARGET_BACKEND=gnmigen --- SKIP: TestUpdatesOnly (0.00s) |
TestInvalidSubscriptionRejected | ✅ | ✅ | |
TestInvalidSubscriptionRejected/bad-sample-interval | ✅ | ✅ | |
TestInvalidSubscriptionRejected/empty-paths | ✅ | ✅ | |
TestInvalidSubscriptionRejected/missing-name | ✅ | ✅ | |
TestInvalidSubscriptionRejected/unknown-encoding | ✅ | ✅ | |
TestInvalidSubscriptionRejected/unknown-mode | ✅ | ✅ | |
TestInvalidSubscriptionRejected/unknown-stream-mode | ✅ | ✅ | |
TestStreamSubscriptionValidation | ✅ | ✅ | |
TestStreamSubscriptionValidation/child-invalid-stream-mode | ✅ | ✅ | |
TestStreamSubscriptionValidation/child-missing-path | ✅ | ✅ | |
TestStreamSubscriptionValidation/paths-and-stream-subscriptions | ✅ | ✅ | |
TestStreamSubscriptionValidation/stream-children-under-once | ✅ | ✅ |
003-outputstests 35 both pass 0 go fail 35 rust fail 35 skip 0
| test | go | rust | note |
|---|---|---|---|
TestClickHouseOutput | ❌ | ❌ | go: Failed · rust: Failed |
TestCollectorRestartResumesOutput | ❌ | ❌ | go: Failed · rust: Failed |
TestFileOutputAddTargetTemplate | ❌ | ❌ | go: Failed · rust: Failed |
TestFileOutputCreateDelete | ❌ | ❌ | go: Failed · rust: Failed |
TestFileOutputFilenameChange | ❌ | ❌ | go: Failed · rust: Failed |
TestFileOutputFormatChange | ❌ | ❌ | go: Failed · rust: Failed |
TestFileOutputInvalidReplacementPreservesOld | ❌ | ❌ | go: Failed · rust: Failed |
TestFileOutputMissingDirRecovers | ❌ | ❌ | go: Failed · rust: Failed |
TestFileOutputProcessorInPlace | ❌ | ❌ | go: Failed · rust: Failed |
TestFileOutputProcessorsAddRemove | ❌ | ❌ | go: Failed · rust: Failed |
TestFileOutputSplitEventsAndTemplate | ❌ | ❌ | go: Failed · rust: Failed |
TestInfluxDBOutput | ❌ | ❌ | go: Failed · rust: Failed |
TestInfluxDBOutputChangeBucket | ❌ | ❌ | go: Failed · rust: Failed |
TestJetstreamOutput | ❌ | ❌ | go: Failed · rust: Failed |
TestJetstreamOutputChangeStream | ❌ | ❌ | go: Failed · rust: Failed |
TestKafkaOutput | ❌ | ❌ | go: Failed · rust: Failed |
TestKafkaOutputChangeTopic | ❌ | ❌ | go: Failed · rust: Failed |
TestNatsOutput | ❌ | ❌ | go: Failed · rust: Failed |
TestNatsOutputChangeSubject | ❌ | ❌ | go: Failed · rust: Failed |
TestOTLPOutput | ❌ | ❌ | go: Failed · rust: Failed |
TestPrometheusChangeAddress | ❌ | ❌ | go: Failed · rust: Failed |
TestPrometheusChangeExpiration | ❌ | ❌ | go: Failed · rust: Failed |
TestPrometheusChangeMetricPrefix | ❌ | ❌ | go: Failed · rust: Failed |
TestPrometheusChangePath | ❌ | ❌ | go: Failed · rust: Failed |
TestPrometheusOutputCreateDelete | ❌ | ❌ | go: Failed · rust: Failed |
TestPrometheusProcessorsAddRemove | ❌ | ❌ | go: Failed · rust: Failed |
TestPrometheusProcessorsModify | ❌ | ❌ | go: Failed · rust: Failed |
TestPrometheusRemoteWrite | ❌ | ❌ | go: Failed · rust: Failed |
TestPrometheusRemoteWriteChangePrefix | ❌ | ❌ | go: Failed · rust: Failed |
TestPrometheusRemoteWriteProcessors | ❌ | ❌ | go: Failed · rust: Failed |
TestShutdownGateDeleteUnderLoad | ❌ | ❌ | go: Failed · rust: Failed |
TestShutdownGateDeleteUnderLoad/file | ❌ | ❌ | go: Failed · rust: Failed |
TestShutdownGateDeleteUnderLoad/kafka | ❌ | ❌ | go: Failed · rust: Failed |
TestShutdownGateDeleteUnderLoad/prometheus | ❌ | ❌ | go: Failed · rust: Failed |
TestShutdownGateDeleteUnderLoad/remote-write | ❌ | ❌ | go: Failed · rust: Failed |
004-processorstests 28 both pass 1 go fail 26 rust fail 26 skip 1
| test | go | rust | note |
|---|---|---|---|
TestProcessorAddTagDataPath | ❌ | ❌ | go: Failed · rust: Failed |
TestProcessorAllowDataPath | ❌ | ❌ | go: Failed · rust: Failed |
TestProcessorChainOrdering | ❌ | ❌ | go: Failed · rust: Failed |
TestProcessorCombineConditional | ❌ | ❌ | go: Failed · rust: Failed |
TestProcessorCombineNestedUpdate | ❌ | ❌ | go: Failed · rust: Failed |
TestProcessorConvertDataPath | ❌ | ❌ | go: Failed · rust: Failed |
TestProcessorCreateUpdateDelete | ❌ | ❌ | go: Failed · rust: Failed |
TestProcessorDataConvertDataPath | ❌ | ❌ | go: Failed · rust: Failed |
TestProcessorDateStringDataPath | ❌ | ❌ | go: Failed · rust: Failed |
TestProcessorDeleteDataPath | ❌ | ❌ | go: Failed · rust: Failed |
TestProcessorDurationConvertDataPath | ❌ | ❌ | go: Failed · rust: Failed |
TestProcessorExtractTagsDataPath | ❌ | ❌ | go: Failed · rust: Failed |
TestProcessorGroupByDataPath | ❌ | ❌ | go: Failed · rust: Failed |
TestProcessorIeeeFloat32DataPath | ❌ | ❌ | go: Failed · rust: Failed |
TestProcessorInvalidUpdateNonDestructive | ❌ | ❌ | go: Failed · rust: Failed |
TestProcessorJQDataPath | ❌ | ❌ | go: Failed · rust: Failed |
TestProcessorMergeDataPath | ❌ | ❌ | go: Failed · rust: Failed |
TestProcessorOverrideTsDataPath | ❌ | ❌ | go: Failed · rust: Failed |
TestProcessorRateLimitDataPath | ❌ | ❌ | go: Failed · rust: Failed |
TestProcessorSharedFanoutUpdate | ❌ | ❌ | go: Failed · rust: Failed |
TestProcessorStringsDataPath | ❌ | ❌ | go: Failed · rust: Failed |
TestProcessorTimeEpochDataPath | ❌ | ❌ | go: Failed · rust: Failed |
TestProcessorToTagDataPath | ❌ | ❌ | go: Failed · rust: Failed |
TestProcessorValueTagDataPath | ❌ | ❌ | go: Failed · rust: Failed |
TestProcessorValueTagV2DataPath | ❌ | ❌ | go: Failed · rust: Failed |
TestProcessorWriteDataPath | ❌ | ❌ | go: Failed · rust: Failed |
TestProcessorCombineCycleRejected | ⏭ | ✅ | go: === RUN TestProcessorCombineCycleRejected processors_test.go:672: combine cycle accepted (200); cycle rejection is not enforced at POST: --- SKIP: TestProcessorCombineCycleRejected (0.00s) |
TestProcessorDropDataPath | ✅ | ✅ |
005-clustertests 16 both pass 0 go fail 7 rust fail 0 skip 5
| test | go | rust | note |
|---|---|---|---|
TestAddTargetToRunningCluster | ❌ | — | go: Failed |
TestDrainMember | ❌ | — | go: Failed |
TestFailoverWithTargets | ❌ | — | go: Failed |
TestManualAssignmentOverridesPlacement | ❌ | — | go: Failed |
TestRebalanceSkewedAssignments | ❌ | — | go: Failed |
TestRemoveAssignedTarget | ❌ | — | go: Failed |
TestTargetAssignment | ❌ | — | go: Failed |
TestPinAppliesToTargetCreatedAfterPin | ⏭ | — | go: === RUN TestPinAppliesToTargetCreatedAfterPin cluster_test.go:930: pin durability suite; set PIN_DURABILITY=1 to run --- SKIP: TestPinAppliesToTargetCreatedAfterPin (0.00s) |
TestPinFlagSurvivesReconcile | ⏭ | — | go: === RUN TestPinFlagSurvivesReconcile cluster_test.go:982: pin durability suite; set PIN_DURABILITY=1 to run --- SKIP: TestPinFlagSurvivesReconcile (0.00s) |
TestPinSurvivesAssigneeRestart | ⏭ | — | go: === RUN TestPinSurvivesAssigneeRestart cluster_test.go:859: pin durability suite; set PIN_DURABILITY=1 to run --- SKIP: TestPinSurvivesAssigneeRestart (0.00s) |
TestPinSurvivesFullClusterRestart | ⏭ | — | go: === RUN TestPinSurvivesFullClusterRestart cluster_test.go:896: pin durability suite; set PIN_DURABILITY=1 to run --- SKIP: TestPinSurvivesFullClusterRestart (0.00s) |
TestPinSurvivesLeaderSwitchover | ⏭ | — | go: === RUN TestPinSurvivesLeaderSwitchover cluster_test.go:831: pin durability suite; set PIN_DURABILITY=1 to run --- SKIP: TestPinSurvivesLeaderSwitchover (0.00s) |
TestAddRemoveMembers | ✅ | — | |
TestClusterFormation | ✅ | — | |
TestLeaderSwitchover | ✅ | — | |
TestLeaderTakeover | ✅ | — |
007-inputstests 26 both pass 11 go fail 15 rust fail 15 skip 0
| test | go | rust | note |
|---|---|---|---|
TestJetstreamInputAddressChange | ❌ | ❌ | go: Failed · rust: Failed |
TestJetstreamInputCreateDelete | ❌ | ❌ | go: Failed · rust: Failed |
TestJetstreamInputFormatChange | ❌ | ❌ | go: Failed · rust: Failed |
TestJetstreamInputSubjectChange | ❌ | ❌ | go: Failed · rust: Failed |
TestKafkaInputAddressChange | ❌ | ❌ | go: Failed · rust: Failed |
TestKafkaInputCreateDelete | ❌ | ❌ | go: Failed · rust: Failed |
TestKafkaInputFormatChange | ❌ | ❌ | go: Failed · rust: Failed |
TestKafkaInputTopicChange | ❌ | ❌ | go: Failed · rust: Failed |
TestNatsInputAddressChange | ❌ | ❌ | go: Failed · rust: Failed |
TestNatsInputCreateDelete | ❌ | ❌ | go: Failed · rust: Failed |
TestNatsInputFanoutTwoOutputs | ❌ | ❌ | go: Failed · rust: Failed |
TestNatsInputFormatChange | ❌ | ❌ | go: Failed · rust: Failed |
TestNatsInputMalformedIsolation | ❌ | ❌ | go: Failed · rust: Failed |
TestNatsInputOutputListChange | ❌ | ❌ | go: Failed · rust: Failed |
TestNatsInputSubjectChange | ❌ | ❌ | go: Failed · rust: Failed |
TestJetstreamDeliverPolicy | ✅ | ✅ | |
TestJetstreamDeliverPolicy/all | ✅ | ✅ | |
TestJetstreamDeliverPolicy/last | ✅ | ✅ | |
TestJetstreamDeliverPolicy/last-per-subject | ✅ | ✅ | |
TestJetstreamDeliverPolicy/new | ✅ | ✅ | |
TestJetstreamInputProcessorModify | ✅ | ✅ | |
TestJetstreamInputProcessorsAddRemove | ✅ | ✅ | |
TestKafkaInputProcessorModify | ✅ | ✅ | |
TestKafkaInputProcessorsAddRemove | ✅ | ✅ | |
TestNatsInputProcessorModify | ✅ | ✅ | |
TestNatsInputProcessorsAddRemove | ✅ | ✅ |
008-applytests 19 both pass 17 go fail 1 rust fail 1 skip 1
| test | go | rust | note |
|---|---|---|---|
TestApplyResetDrainsRuntime | ❌ | ❌ | go: Failed · rust: Failed |
TestNoopApplyPreservesSessions | ⏭ | ⏭ | go: === RUN TestNoopApplyPreservesSessions apply_test.go:580: session-id assertion requires TARGET_BACKEND=gnmigen --- SKIP: TestNoopApplyPreservesSessions (0.00s) · rust: === RUN TestNoopApplyPreservesSessions apply_test.go:580: session-id assertion requires TARGET_BACKEND=gnmigen --- SKIP: TestNoopApplyPreservesSessions (0.00s) |
TestAddRemoveOutputs | ✅ | ✅ | |
TestAddRemoveSubscriptions | ✅ | ✅ | |
TestAddRemoveTargets | ✅ | ✅ | |
TestApplyDependentSectionsTogether | ✅ | ✅ | |
TestApplyInputs | ✅ | ✅ | |
TestApplyProcessors | ✅ | ✅ | |
TestApplyReset | ✅ | ✅ | |
TestApplyTunnelTargetMatches | ✅ | ✅ | |
TestConcurrentApplyNeverInterleaves | ✅ | ✅ | |
TestGzipApply | ✅ | ✅ | |
TestSwitchOutputs | ✅ | ✅ | |
TestSwitchSubAndOutput | ✅ | ✅ | |
TestSwitchSubscriptions | ✅ | ✅ | |
TestSwitchTargetAndOutput | ✅ | ✅ | |
TestSwitchTargetAndSub | ✅ | ✅ | |
TestSwitchTargetSubAndOutput | ✅ | ✅ | |
TestSwitchTargets | ✅ | ✅ |
009-validationtests 49 both pass 45 go fail 0 rust fail 0 skip 4
| test | go | rust | note |
|---|---|---|---|
TestProcessorDeleteInUseByInput | ⏭ | ✅ | go: === RUN TestProcessorDeleteInUseByInput validation_test.go:461: input never marked the processor in-use (Start may have failed without a broker) --- SKIP: TestProcessorDeleteInUseByInput (15.01s |
TestSecretsRedacted | ⏭ | ✅ | go: === RUN TestSecretsRedacted validation_test.go:562: GET /config leaks target secrets on Go; see suite/BUGS.md --- SKIP: TestSecretsRedacted (0.00s) |
TestTunnelMatchInvalidExpression/bad-id-regex | ⏭ | ✅ | go: === RUN TestTunnelMatchInvalidExpression/bad-id-regex validation_test.go:659: bad-id-regex accepted (200); regex validation is not enforced at POST: --- SKIP: TestTunnelMatchInvalidExpressi |
TestTunnelMatchInvalidExpression/missing-id | ⏭ | ✅ | go: === RUN TestTunnelMatchInvalidExpression/missing-id validation_test.go:659: missing-id accepted (200); regex validation is not enforced at POST: --- SKIP: TestTunnelMatchInvalidExpression/m |
TestApplyInputsWithoutOutputs | ✅ | ✅ | |
TestApplyInvalidJSON | ✅ | ✅ | |
TestApplyTargetsWithoutSubscriptions | ✅ | ✅ | |
TestApplyTunnelMatchesWithoutSubscriptions | ✅ | ✅ | |
TestApplyValidationPreservesState | ✅ | ✅ | |
TestClusterRoutesWithoutClustering | ✅ | ✅ | |
TestConfigSnapshotConsistency | ✅ | ✅ | |
TestDeleteReferencedOutputOrSubscription | ✅ | ✅ | |
TestFailedOutputReplacementPreservesConfig | ✅ | ✅ | |
TestHealthz | ✅ | ✅ | |
TestInputDeleteUnknown | ✅ | ✅ | |
TestInputGetUnknown | ✅ | ✅ | |
TestInputOutputsPatchNotImplemented | ✅ | ✅ | |
TestInputPostInvalidJSON | ✅ | ✅ | |
TestInputPostMissingName | ✅ | ✅ | |
TestInputPostMissingType | ✅ | ✅ | |
TestInputPostUnknownType | ✅ | ✅ | |
TestInputProcessorsPatchNotImplemented | ✅ | ✅ | |
TestMethodAndMediaType | ✅ | ✅ | |
TestOutputGetUnknown | ✅ | ✅ | |
TestOutputPostInvalidJSON | ✅ | ✅ | |
TestOutputPostMissingName | ✅ | ✅ | |
TestOutputPostUnknownType | ✅ | ✅ | |
TestOutputProcessorsPatchNotImplemented | ✅ | ✅ | |
TestProcessorDeleteInUse | ✅ | ✅ | |
TestProcessorGetUnknown | ✅ | ✅ | |
TestProcessorPostInvalidJSON | ✅ | ✅ | |
TestProcessorPostMissingName | ✅ | ✅ | |
TestProcessorPostMissingType | ✅ | ✅ | |
TestSSEInvalidQuery | ✅ | ✅ | |
TestSubscriptionDeleteUnknown | ✅ | ✅ | |
TestSubscriptionGetUnknown | ✅ | ✅ | |
TestSubscriptionPostInvalidJSON | ✅ | ✅ | |
TestTargetGetUnknown | ✅ | ✅ | |
TestTargetPatchOutputsUnknownTarget | ✅ | ✅ | |
TestTargetPatchSubscriptionsUnknownSub | ✅ | ✅ | |
TestTargetPatchSubscriptionsUnknownTarget | ✅ | ✅ | |
TestTargetPostInvalidJSON | ✅ | ✅ | |
TestTargetPostMissingAddress | ✅ | ✅ | |
TestTargetPostMissingName | ✅ | ✅ | |
TestTargetPostUnknownOutput | ✅ | ✅ | |
TestTargetPostUnknownSubscription | ✅ | ✅ | |
TestTargetStateMissingState | ✅ | ✅ | |
TestTargetStateUnknownTarget | ✅ | ✅ | |
TestTunnelMatchInvalidExpression | ✅ | ✅ |
010-profilingtests 4 both pass 0 go fail 0 rust fail 0 skip 4
| test | go | rust | note |
|---|---|---|---|
TestCRUDOutputs | ⏭ | — | go: === RUN TestCRUDOutputs profiling_test.go:150: profiling/soak suite; set RUN_PROFILING=1 to run --- SKIP: TestCRUDOutputs (0.00s) |
TestCRUDProcessors | ⏭ | — | go: === RUN TestCRUDProcessors profiling_test.go:170: profiling/soak suite; set RUN_PROFILING=1 to run --- SKIP: TestCRUDProcessors (0.00s) |
TestCRUDSubscriptions | ⏭ | — | go: === RUN TestCRUDSubscriptions profiling_test.go:136: profiling/soak suite; set RUN_PROFILING=1 to run --- SKIP: TestCRUDSubscriptions (0.00s) |
TestCRUDTargets | ⏭ | — | go: === RUN TestCRUDTargets profiling_test.go:186: profiling/soak suite; set RUN_PROFILING=1 to run --- SKIP: TestCRUDTargets (0.00s) |
011-gnmi-servertests 4 both pass 0 go fail 0 rust fail 3 skip 4
| test | go | rust | note |
|---|---|---|---|
TestGNMIServerOnceCache | ⏭ | ❌ | go: === RUN TestGNMIServerOnceCache gnmi_server_test.go:232: gnmi-server did not listen on clab-gnmi-server-011-gnmic:57400; Go collector does not start the listener (see suite/BUGS.md): tcp clab-gn · rust: Failed |
TestGNMIServerPollCache | ⏭ | ❌ | go: === RUN TestGNMIServerPollCache gnmi_server_test.go:261: gnmi-server did not listen on clab-gnmi-server-011-gnmic:57400; Go collector does not start the listener (see suite/BUGS.md): tcp clab-gn · rust: Failed |
TestGNMIServerStreamCache | ⏭ | ❌ | go: === RUN TestGNMIServerStreamCache gnmi_server_test.go:173: gnmi-server did not listen on clab-gnmi-server-011-gnmic:57400; Go collector does not start the listener (see suite/BUGS.md): tcp clab- · rust: Failed |
TestGNMIServerCapabilities | ⏭ | ✅ | go: === RUN TestGNMIServerCapabilities gnmi_server_test.go:159: gnmi-server did not listen on clab-gnmi-server-011-gnmic:57400; Go collector does not start the listener (see suite/BUGS.md): tcp clab |
012-clitests 62 both pass 50 go fail 0 rust fail 0 skip 7
| test | go | rust | note |
|---|---|---|---|
TestConfigPrecedence/flags-beat-env | ✅ | ⏭ | rust: === RUN TestConfigPrecedence/flags-beat-env cli_test.go:630: rust CLI flags are not bound to GNMIC_* environment variables --- SKIP: TestConfigPrecedence/flags-beat-env (0.00s) |
TestConfigPrecedence/flags-beat-file | ✅ | ⏭ | rust: === RUN TestConfigPrecedence/flags-beat-file cli_test.go:619: rust --address is additive with --config targets; flags do not override file target credentials --- SKIP: TestConfigPrecedence/f |
TestGetProcessor | ✅ | ⏭ | rust: === RUN TestGetProcessor cli_test.go:693: get --processor is not implemented in rust --- SKIP: TestGetProcessor (0.00s) |
TestGetSetWorkflow | ✅ | ⏭ | rust: === RUN TestGetSetWorkflow cli_test.go:711: getset is not implemented in rust --- SKIP: TestGetSetWorkflow (0.00s) |
TestProtoDescriptors | ✅ | ⏭ | rust: === RUN TestProtoDescriptors cli_test.go:734: proto-file / registered-extensions are not implemented in rust --- SKIP: TestProtoDescriptors (0.00s) |
TestSubscribeModes/poll | ✅ | ⏭ | rust: === RUN TestSubscribeModes/poll cli_test.go:474: rust CLI POLL does not send follow-up Poll messages; gnmi-gen may close the stream before REST is sampled --- SKIP: TestSubscribeModes/poll ( |
TestTLSAuth/mtls-token-socks-unix | ⏭ | ⏭ | go: === RUN TestTLSAuth/mtls-token-socks-unix cli_test.go:605: mTLS/token/SOCKS5/Unix need dedicated fixtures; gnmi-gen tls:{} is ephemeral self-signed username/password only --- SKIP: TestTLSAu · rust: === RUN TestTLSAuth/mtls-token-socks-unix cli_test.go:605: mTLS/token/SOCKS5/Unix need dedicated fixtures; gnmi-gen tls:{} is ephemeral self-signed username/password only --- SKIP: TestTLSAu |
TestGetFormats/metric | — | ✅ | |
TestGetSetWorkflow/condition-false | ✅ | — | |
TestGetSetWorkflow/set-phase-unimplemented | ✅ | — | |
TestProtoDescriptors/missing-import | ✅ | — | |
TestProtoDescriptors/registered-extension | ✅ | — | |
TestCapabilities | ✅ | ✅ | |
TestCapabilities/multi-address | ✅ | ✅ | |
TestCapabilities/single | ✅ | ✅ | |
TestConfigPrecedence | ✅ | ✅ | |
TestConfigPrecedence/config-file-ok | ✅ | ✅ | |
TestConfigPrecedence/secrets-not-printed | ✅ | ✅ | |
TestDryRunNoRPC | ✅ | ✅ | |
TestGetFormats | ✅ | ✅ | |
TestGetFormats/encoding-json-ietf | ✅ | ✅ | |
TestGetFormats/event | ✅ | ✅ | |
TestGetFormats/flat | ✅ | ✅ | |
TestGetFormats/json | ✅ | ✅ | |
TestGetFormats/proto | ✅ | ✅ | |
TestGetFormats/protojson | ✅ | ✅ | |
TestGetFormats/prototext | ✅ | ✅ | |
TestGetRequestShape | ✅ | ✅ | |
TestMultiAddressFailover | ✅ | ✅ | |
TestSetOperationMatrix | ✅ | ✅ | |
TestSetOperationMatrix/dry-run-delete | ✅ | ✅ | |
TestSetOperationMatrix/dry-run-replace | ✅ | ✅ | |
TestSetOperationMatrix/dry-run-typed-bool | ✅ | ✅ | |
TestSetOperationMatrix/dry-run-typed-int | ✅ | ✅ | |
TestSetOperationMatrix/dry-run-typed-json | ✅ | ✅ | |
TestSetOperationMatrix/dry-run-union-replace | ✅ | ✅ | |
TestSetOperationMatrix/dry-run-update-string | ✅ | ✅ | |
TestSetRequestFiles | ✅ | ✅ | |
TestSetRequestFiles/json | ✅ | ✅ | |
TestSetRequestFiles/malformed | ✅ | ✅ | |
TestSetRequestFiles/missing-vars-file | ✅ | ✅ | |
TestSetRequestFiles/proto-request-file | ✅ | ✅ | |
TestSetRequestFiles/template-vars | ✅ | ✅ | |
TestSetRequestFiles/yaml | ✅ | ✅ | |
TestSubscribeModes | ✅ | ✅ | |
TestSubscribeModes/history-once | ✅ | ✅ | |
TestSubscribeModes/once | ✅ | ✅ | |
TestSubscribeModes/stream-on-change | ✅ | ✅ | |
TestSubscribeModes/stream-sample | ✅ | ✅ | |
TestSubscribeModes/updates-only-heartbeat | ✅ | ✅ | |
TestTLSAuth | ✅ | ✅ | |
TestTLSAuth/insecure-against-tls | ✅ | ✅ | |
TestTLSAuth/skip-verify | ✅ | ✅ | |
TestTLSAuth/wrong-password | ✅ | ✅ | |
TestVersionAndFailures | ✅ | ✅ | |
TestVersionAndFailures/bad-auth | ✅ | ✅ | |
TestVersionAndFailures/deadline | ✅ | ✅ | |
TestVersionAndFailures/invalid-flag | ✅ | ✅ | |
TestVersionAndFailures/unknown-command | ✅ | ✅ | |
TestVersionAndFailures/unreachable | ✅ | ✅ | |
TestVersionAndFailures/version-json | ✅ | ✅ | |
TestVersionAndFailures/version-text | ✅ | ✅ |
| when | workflow | run | both pass | diverge | total | go | rust |
|---|---|---|---|---|---|---|---|
| 2026-08-30T16:45:34Z | srl-weekly | 33314968970 | 138 | 15 | 293 | openconfig/gnmic@main (TARGET_BACKEND=srl) | gnmic/gnmic.rs@main (TARGET_BACKEND=srl) |
| 2026-08-30T12:16:09Z | nightly | 33307983070 | 272 | 17 | 315 | openconfig/gnmic@main | gnmic/gnmic.rs@main |
| 2026-08-29T13:20:49Z | nightly | 33251751627 | 271 | 18 | 310 | openconfig/gnmic@main | gnmic/gnmic.rs@main |
| 2026-08-28T19:17:24Z | nightly | 33197717952 | 272 | 17 | 310 | openconfig/gnmic@main | gnmic/gnmic.rs@main |
| 2026-08-28T00:35:07Z | on-demand | 33125898440 | 272 | 17 | 310 | openconfig/gnmic@main | gnmic/gnmic.rs@main |
| 2026-08-28T00:34:53Z | on-demand | 33124567260 | 0 | 0 | 0 | openconfig/gnmic@main | gnmic/gnmic.rs@main |
| 2026-08-23T07:19:03Z | nightly | 32623135377 | 272 | 17 | 310 | openconfig/gnmic@main | gnmic/gnmic.rs@main |
| 2026-08-22T07:13:06Z | nightly | 32557121520 | 196 | 28 | 239 | openconfig/gnmic@main | gnmic/gnmic.rs@main |
| 2026-08-22T00:06:56Z | nightly | 32537130571 | 189 | 12 | 217 | openconfig/gnmic@main | gnmic/gnmic.rs@main |
| 2026-08-21T08:23:16Z | tunnel-nightly | 32461481240 | 21 | 1 | 22 | openconfig/gnmic@main | gnmic/gnmic.rs@main |
| 2026-08-21T07:12:48Z | nightly | 32455080509 | 189 | 12 | 217 | openconfig/gnmic@main | gnmic/gnmic.rs@main |
| 2026-08-20T08:24:46Z | tunnel-nightly | 32346992436 | 21 | 1 | 22 | openconfig/gnmic@main | gnmic/gnmic.rs@main |
| 2026-08-20T07:13:01Z | nightly | 32340262575 | 189 | 12 | 217 | openconfig/gnmic@main | gnmic/gnmic.rs@main |
| 2026-08-19T08:22:15Z | tunnel-nightly | 32230616584 | 21 | 1 | 22 | openconfig/gnmic@main | gnmic/gnmic.rs@main |
| 2026-08-19T07:10:36Z | nightly | 32223939557 | 188 | 13 | 217 | openconfig/gnmic@main | gnmic/gnmic.rs@main |
| 2026-08-18T08:22:44Z | tunnel-nightly | 32114313601 | 21 | 1 | 22 | openconfig/gnmic@main | gnmic/gnmic.rs@main |
| 2026-08-18T07:11:29Z | nightly | 32107387210 | 190 | 11 | 217 | openconfig/gnmic@main | gnmic/gnmic.rs@main |
| 2026-08-17T08:24:00Z | tunnel-nightly | 32008770893 | 18 | 0 | 18 | openconfig/gnmic@main | gnmic/gnmic.rs@main |
| 2026-08-17T07:11:02Z | nightly | 32002684410 | 161 | 0 | 171 | openconfig/gnmic@main | gnmic/gnmic.rs@main |
| 2026-08-16T09:59:49Z | srl-weekly | 31936910602 | 68 | 0 | 171 | openconfig/gnmic@main (TARGET_BACKEND=srl) | gnmic/gnmic.rs@main (TARGET_BACKEND=srl) |
| 2026-08-16T08:11:10Z | tunnel-nightly | 31935037901 | 18 | 0 | 18 | openconfig/gnmic@main | gnmic/gnmic.rs@main |
| 2026-08-16T06:58:29Z | nightly | 31931567950 | 108 | 1 | 173 | openconfig/gnmic@main | gnmic/gnmic.rs@main |
| 2026-08-15T08:09:18Z | tunnel-nightly | 31873022804 | 18 | 0 | 18 | openconfig/gnmic@main | gnmic/gnmic.rs@main |
| 2026-08-15T06:57:07Z | nightly | 31869495561 | 161 | 0 | 171 | openconfig/gnmic@main | gnmic/gnmic.rs@main |
| 2026-08-14T09:00:42Z | tunnel-nightly | 31785041909 | 18 | 0 | 18 | openconfig/gnmic@main | gnmic/gnmic.rs@main |
| 2026-08-14T07:44:44Z | nightly | 31779255723 | 161 | 0 | 171 | openconfig/gnmic@main | gnmic/gnmic.rs@main |
| 2026-08-13T09:07:12Z | tunnel-nightly | 31683808854 | 16 | 2 | 18 | openconfig/gnmic@main | gnmic/gnmic.rs@main |
| 2026-08-13T07:46:51Z | nightly | 31677191014 | 161 | 0 | 171 | openconfig/gnmic@main | gnmic/gnmic.rs@main |
| 2026-08-12T09:03:05Z | tunnel-nightly | 31579845162 | 17 | 1 | 18 | openconfig/gnmic@main | gnmic/gnmic.rs@main |
| 2026-08-12T07:43:53Z | nightly | 31573271585 | 135 | 21 | 171 | openconfig/gnmic@main | gnmic/gnmic.rs@main |
| 2026-08-12T06:44:09Z | on-demand | 31569070304 | 173 | 1 | 189 | openconfig/gnmic@main | gnmic/gnmic.rs@main |
| 2026-08-12T01:55:19Z | on-demand | 31553400037 | 151 | 0 | 189 | openconfig/gnmic@main | gnmic/gnmic.rs@main |
| 2026-08-11T07:17:36Z | nightly | 31466994875 | 102 | 13 | 147 | openconfig/gnmic@main | gnmic/gnmic.rs@main |
| 2026-08-11T01:17:40Z | on-demand | 31447610208 | 114 | 1 | 147 | openconfig/gnmic@main | gnmic/gnmic.rs@main |
| 2026-08-10T17:29:59Z | on-demand | 31413465926 | 38 | 0 | 38 | openconfig/gnmic@main | gnmic/gnmic.rs@main |