--- /dev/null
+# Test cases for Device Provisioning Protocol (DPP) version 3
+# Copyright (c) 2021, Qualcomm Innovation Center, Inc.
+#
+# This software may be distributed under the terms of the BSD license.
+# See README for more details.
+
+from test_dpp import check_dpp_capab, run_dpp_auto_connect
+
+def test_dpp_network_intro_version(dev, apdev):
+ """DPP Network Introduction and protocol version"""
+ check_dpp_capab(dev[0], min_ver=3)
+
+ try:
+ id, hapd = run_dpp_auto_connect(dev, apdev, 1, stop_after_prov=True)
+ dev[0].select_network(id, freq=2412)
+ dev[0].wait_connected()
+ finally:
+ dev[0].set("dpp_config_processing", "0", allow_fail=True)
+
+def test_dpp_network_intro_version_change(dev, apdev):
+ """DPP Network Introduction and protocol version change"""
+ check_dpp_capab(dev[0], min_ver=3)
+
+ try:
+ dev[0].set("dpp_version_override", "2")
+ id, hapd = run_dpp_auto_connect(dev, apdev, 1, stop_after_prov=True)
+ dev[0].set("dpp_version_override", "3")
+ dev[0].select_network(id, freq=2412)
+ dev[0].wait_connected()
+ finally:
+ dev[0].set("dpp_config_processing", "0", allow_fail=True)
+
+def test_dpp_network_intro_version_missing_req(dev, apdev):
+ """DPP Network Introduction and protocol version missing from request"""
+ check_dpp_capab(dev[0], min_ver=3)
+
+ try:
+ dev[0].set("dpp_version_override", "2")
+ id, hapd = run_dpp_auto_connect(dev, apdev, 1, stop_after_prov=True)
+ dev[0].set("dpp_version_override", "3")
+ dev[0].set("dpp_test", "92")
+ dev[0].select_network(id, freq=2412)
+ ev = dev[0].wait_event(["DPP-INTRO"], timeout=10)
+ if ev is None:
+ raise Exception("DPP network introduction result not seen on STA")
+ if "status=8" not in ev:
+ raise Exception("Unexpected network introduction result on STA: " + ev)
+ finally:
+ dev[0].set("dpp_config_processing", "0", allow_fail=True)