namespace ZB.MOM.WW.OtOpcUa.Runtime.Tests.Drivers; /// /// Shared xUnit Skip reason constants for tests whose subject was RETIRED by v3 rather than /// merely deferred — architectural tombstones that keep the removed coverage discoverable and name /// what replaced it, so nobody re-writes a test for a concept that no longer exists. /// A skip reason is a claim with an expiry date. The one this file used to carry /// (EquipmentTagsDarkBatch4, "dark until Batch 4") outlived its own condition by a release — /// see the note below. If you add one here, state the condition precisely enough that a reader can /// check whether it has already happened. /// internal static class DarkAddressSpaceReasons { // EquipmentTagsDarkBatch4 was RETIRED (2026-07-28) once its own unblock condition was examined. It read // "dark until Batch 4"; Batch 4 shipped as v3.0 and RETIRED the equipment-tag plan set rather than // lighting it, so every test wearing this reason was waiting on something that had already happened and // gone the other way. Each was resolved on its merits rather than left to read as pending work: // - revived onto the raw/UNS shape that replaced the subject (the real-SDK dual-namespace // materialisation E2E in AddressSpaceApplierHierarchyTests; the cluster-scoping rebuild and the // four primary-gate write/alarm cases in Runtime.Tests), // - folded into a live parity test whose corpus was widened to cover them (array + native-alarm // intent, now in DeploymentArtifactRawUnsParityTests), // - or deleted, where the subject itself is retired (equipment-namespace EquipmentTags, the // dot-joint {{equip}}.X token — superseded by the slash-joint form in // DeploymentArtifactEquipRefParityTests). // DiscoveryInjectionDormantV3 was removed with the injection path itself (§8.2, Gitea #507). The 18 // tests it skipped were v2 characterization tests — they asserted an equipment-rooted graft // (EquipmentRootNodeId == "EQ-1") that v3 cannot produce, so they were deleted rather than unskipped. // Discovered raw tags are authored through the /raw browse-commit flow; IRediscoverable now surfaces a // re-browse prompt instead (DriverInstanceActorRediscoverySignalTests). /// Equipment↔device host binding is architecturally retired in v3. public const string EquipmentDeviceBindingRetired = "v3: equipment no longer binds a driver/device (EquipmentNode has no DriverInstanceId/DeviceId/" + "DeviceHost) — equipment references raw tags via UnsTagReference. The device-endpoint merge this " + "test characterized is now covered by DeploymentArtifactRawPathTests " + "(ParseDriverInstances_computes_nested_RawPath_and_merges_device_endpoint)."; }