From fad852247f9895767f2ac8ea9307cf08bbf33925 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0tetiar?= Date: Wed, 8 Oct 2025 20:09:31 +0000 Subject: [PATCH] ci: cdrouter: prplWare-Smoke-Test-Suite: add 7 new UPnP tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit To increase QA of UPnP/IGD stack, lets add following new 7 smoke tests with approx. runtime of 66 seconds. +----------+-----------------------+----------------------------------------------------------------------------------------+ | Duration | Test Name | Description | +----------+-----------------------+----------------------------------------------------------------------------------------+ | 1 | cdrouter_upnp_igd2_30 | Verify UPnP GetExternalIPAddress Action returns WAN IP address (IGD2) | | 1 | ipv6_upnp_igd2_230 | Verify router responds to UPnP GetFirewallStatus action (IGD2, IPv6) | | 2 | ipv6_upnp_igd2_10 | Verify XML description of IGD root device can be parsed (IGD2, IPv6) | | 4 | cdrouter_upnp_igd2_45 | Verify UPnP Router rejects new port mappings that conflict (IGD2) | | 5 | cdrouter_upnp_45 | Verify UPnP Router rejects new port mappings that conflict | | 27 | ipv6_upnp_igd2_300 | Add/delete dynamic UPnP TCP port mapping for wildcard IPv6 source address (IGD2, IPv6) | | 27 | ipv6_upnp_igd2_302 | Add/delete dynamic UPnP port mapping for wildcard IPv6 source address (IGD2, IPv6) | +----------+-----------------------+----------------------------------------------------------------------------------------+ References: FEAT-13, FEAT-85 Signed-off-by: Petr Štetiar Co-authored-by: Nikolai Merinov Co-authored-by: Timothy Winters --- .../packages/prplWare-Smoke-Test-Suite.gz | Bin 19013 -> 19080 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/.testbed/cdrouter/packages/prplWare-Smoke-Test-Suite.gz b/.testbed/cdrouter/packages/prplWare-Smoke-Test-Suite.gz index c340841fbc737438db225711d8110a1c2edb89d4..54681b6739ec09d9720cbfb00f440d37ffb0d92c 100644 GIT binary patch delta 18996 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Ⓢ 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

$nq*6Z$4oQi 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