Skip to content

Commit 9f65291

Browse files
committed
WiFi_Manual_IP: add --ssid/--password CLI; preserve flow; expand one-liners
- Introduce explicit credential flags: --ssid <SSID> and --password <PASS>. - When provided, flags take precedence over positional args; otherwise continue to resolve via get_wifi_credentials(,) (args/env/ssid_list). Signed-off-by: Srikanth Muppandam <[email protected]>
1 parent a1c3777 commit 9f65291

File tree

1 file changed

+43
-10
lines changed
  • Runner/suites/Connectivity/WiFi/WiFi_Manual_IP

1 file changed

+43
-10
lines changed

Runner/suites/Connectivity/WiFi/WiFi_Manual_IP/run.sh

Lines changed: 43 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -29,32 +29,65 @@ fi
2929
. "$TOOLS/functestlib.sh"
3030

3131
TESTNAME="WiFi_Manual_IP"
32-
test_path=$(find_test_case_by_name "$TESTNAME")
32+
test_path="$(find_test_case_by_name "$TESTNAME")"
3333
cd "$test_path" || exit 1
3434

3535
log_info "--------------------------------------------------------------------------"
3636
log_info "-------------------Starting $TESTNAME Testcase----------------------------"
3737
log_info "=== Test Initialization ==="
3838

39+
# ---------------- CLI (SSID/PASSWORD) ----------------
40+
SSID=""
41+
PASSWORD=""
42+
43+
while [ $# -gt 0 ]; do
44+
case "$1" in
45+
--ssid)
46+
shift
47+
if [ -n "${1:-}" ]; then
48+
SSID="$1"
49+
fi
50+
;;
51+
--password)
52+
shift
53+
if [ -n "${1:-}" ]; then
54+
PASSWORD="$1"
55+
fi
56+
;;
57+
--help|-h)
58+
echo "Usage: $0 [--ssid SSID] [--password PASS]"
59+
exit 0
60+
;;
61+
*)
62+
log_warn "Unknown argument: $1"
63+
;;
64+
esac
65+
shift
66+
done
67+
3968
# Trap to always restore udhcpc script
4069
trap 'restore_udhcpc_script' EXIT
4170

42-
# Credential extraction (from arguments, env, or ssid_list.txt)
43-
if ! CRED=$(get_wifi_credentials "$1" "$2") || [ -z "$CRED" ]; then
71+
# Credential extraction (from CLI, env, or ssid_list.txt via helper)
72+
if ! CRED="$(get_wifi_credentials "$SSID" "$PASSWORD")" || [ -z "$CRED" ]; then
4473
log_skip_exit "$TESTNAME" "WiFi: SSID and/or password missing. Skipping test."
4574
fi
4675

47-
SSID=$(echo "$CRED" | awk '{print $1}')
48-
PASSWORD=$(echo "$CRED" | awk '{print $2}')
76+
SSID="$(echo "$CRED" | awk '{print $1}')"
77+
PASSWORD="$(echo "$CRED" | awk '{print $2}')"
4978
log_info "Using SSID='$SSID' and PASSWORD='[hidden]'"
5079

5180
check_dependencies iw wpa_supplicant udhcpc ip
5281

53-
WIFI_IF=$(get_wifi_interface)
54-
[ -z "$WIFI_IF" ] && log_fail_exit "$TESTNAME" "No WiFi interface detected."
82+
WIFI_IF="$(get_wifi_interface)"
83+
if [ -z "$WIFI_IF" ]; then
84+
log_fail_exit "$TESTNAME" "No WiFi interface detected."
85+
fi
5586

56-
UDHCPC_SCRIPT=$(ensure_udhcpc_script)
57-
[ ! -x "$UDHCPC_SCRIPT" ] && log_fail_exit "$TESTNAME" "Failed to create udhcpc script."
87+
UDHCPC_SCRIPT="$(ensure_udhcpc_script)"
88+
if [ ! -x "$UDHCPC_SCRIPT" ]; then
89+
log_fail_exit "$TESTNAME" "Failed to create udhcpc script."
90+
fi
5891

5992
wifi_cleanup() {
6093
killall -q wpa_supplicant 2>/dev/null
@@ -76,7 +109,7 @@ sleep 4
76109
udhcpc -i "$WIFI_IF" -s "$UDHCPC_SCRIPT" -n -q &
77110
sleep 8
78111

79-
IP=$(ip addr show "$WIFI_IF" | awk '/inet / {print $2}' | cut -d/ -f1)
112+
IP="$(ip addr show "$WIFI_IF" | awk '/inet / {print $2}' | cut -d/ -f1)"
80113
if [ -n "$IP" ]; then
81114
log_info "WiFi got IP: $IP (manual DHCP via udhcpc)"
82115
if ping -I "$WIFI_IF" -c 3 -W 2 8.8.8.8 >/dev/null 2>&1; then

0 commit comments

Comments
 (0)