Commit graph

4624 commits

Author SHA1 Message Date
Benjamin Berg
71bcb97b8c tests: Use pgrep instead of ps
The ps command as shipped by busybox does not support the "command"
column. Change the code to use pgrep instead which will work fine in all
environments.

In addition, raise an exception if PID was not found since the test
would just hang with pid = 0.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
2024-01-20 09:35:39 +02:00
Jouni Malinen
1a38056930 tests: Encrypted Key Data field in EAPOL-Key msg 2/4 and 4/4
Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2024-01-16 22:05:02 +02:00
Jouni Malinen
d1b043750c tests: Extra element and KDE in EAPOL-Key msg 2/4 and 4/4
Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2024-01-16 16:38:30 +02:00
Jouni Malinen
8afeb0760d tests: Supplicant protocol testing for EAPOL-Key msg 1/4 and 3/4
Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2024-01-16 13:06:49 +02:00
Jouni Malinen
2a61071182 tests: Make wpas_ap_wps more robust
Avoid race conditions (especially with UML time travel) between AP
completion of 4-way handshake and traffic test.

Signed-off-by: Jouni Malinen <j@w1.fi>
2024-01-14 21:27:38 +02:00
Jouni Malinen
97403b7fef tests: Longer association comeback time
Verify functionality with 10000 TU comeback time in addition to the
hostapd default of 1000 TU.

Signed-off-by: Jouni Malinen <j@w1.fi>
2024-01-14 21:13:24 +02:00
Jouni Malinen
9aa82da229 tests: Make ACS tests more reliable
The test cases that used country code ZA for the actual test on the 5
GHz band ended up failing in some cases due to various race conditions
with the initial AP start on the 5 GHz band using country code US.
Reduce the risk for that type of failures by using the same country code
ZA for both AP starts.

Signed-off-by: Jouni Malinen <j@w1.fi>
2024-01-14 19:42:23 +02:00
Johannes Berg
c0674fb4f4 tests: Add a test for kernel KUnit tests
Add a test that runs the cfg80211/mac80211 kunit tests (they must be
built as modules to run at this point), and checks the results. The test
is skipped if all the modules fail to load.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2024-01-14 17:54:27 +02:00
Jouni Malinen
44b233b641 tests: Increase timeout for dpp_qr_code_auth_broadcast
This allows another initiation round to be executed if the first
broadcast frame fails to get through.

Signed-off-by: Jouni Malinen <j@w1.fi>
2024-01-14 12:44:15 +02:00
Ilan Peer
bcc28d4453 tests: Add couple of MBO and RRM tests with MLD
To validate correct operation when configured as MLD.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
2024-01-14 11:48:28 +02:00
Daniel Gabay
75ac1f1ac0 tests: Extend MSCS testing
Add tests for new response handling logic:
1. Verify MSCS change response handling in association / action frame.
2. Verify MSCS unsolicited response handling.

Signed-off-by: Daniel Gabay <daniel.gabay@intel.com>
2024-01-14 11:26:56 +02:00
Daniel Gabay
3055838ebe tests: Refactor MSCS
Add helper functions for common logic.

Signed-off-by: Daniel Gabay <daniel.gabay@intel.com>
2024-01-14 11:19:43 +02:00
Jouni Malinen
6aa16abbe4 tests: Allow more time for dpp_qr_code_no_chan_list_broadcast
It looks like the first broadcast frame might be missed in some cases,
so increase the timeout here to allow another round of frames to be
attempted.

Signed-off-by: Jouni Malinen <j@w1.fi>
2024-01-14 00:21:57 +02:00
Jouni Malinen
30975951de tests: Skip test cases that need FILS if CONFIG_FILS=y was not used
fils_offload_to_driver2 and wpas_config_file_key_mgmt require
CONFIG_FILS=y, but they did not use check_fils_capa().

Signed-off-by: Jouni Malinen <j@w1.fi>
2024-01-13 23:48:38 +02:00
Ilan Peer
9dcb72046f tests: Add MLD tests for deauthentication and disassociation
Verifying that the station can successfully associate again
after being deauthenticated or disassociated.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
2024-01-13 22:32:04 +02:00
Benjamin Berg
597e2be398 tests: Run kmemleak between tests if available
This triggers a kmemleak scan between tests. This allows finding memory
leaks and doing this should attribute the leak to the correct test in
most cases. Note that it does add a sleep after each test, as such it is
most sensible when combined with UML time-travel.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
2024-01-13 20:12:00 +02:00
Johannes Berg
fb90e42c37 tests: P2P: Also wait in go_neg_pbc()
Similar to other changes like this, wait a bit before
connectivity checks in go_neg_pbc().

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2024-01-13 20:09:52 +02:00
Johannes Berg
e633811c34 tests: ap_vht_40: wait a bit before connectivity check
We need the station to be fully set up on the AP before
running the connectivity check, not just the station to
be set up itself. Just waiting for the events seems to
still be racy so just sleep a little bit.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2024-01-13 20:09:16 +02:00
Benjamin Berg
dc766bb57e tests: Optimize process memory reading using join
Appending to a bytes() object is rather inefficient. As such, avoid
doing so by first creating a list and then joining all buffers together
at the end only.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
2024-01-13 20:08:57 +02:00
Andrei Otcheretianski
9569315dea Disable _FORTIFY_SOURCE when building with -O0
_FORTIFY_SOURCE requires at least -O2 optimization level.
This may result in compilation warnings. Fix it.

Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
2024-01-13 20:07:04 +02:00
Benjamin Berg
1e08a8990d tests: Flag inside VM using an environment variable
It is possible to execute the tests directly inside the a VM without
necessarily running the repository wrapper script to do so. In these
cases, passing the VM flag using an environment variable allows
correctly flagging this fact to the tests.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
2024-01-13 20:06:58 +02:00
Benjamin Berg
ab98ad397b tests: Stop wpa_supplicant AP at end of VHT 80 MHz (US) test
The regulatory domain cannot be reset while the AP is still active. Add
the appropriate commands to bring down the AP after the test, which will
also make resetting the regulatory domain work.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
2024-01-13 20:05:57 +02:00
Benjamin Berg
6278ab7a06 tests: Write services needed for pyrad
pyrad does an internal call to getaddrinfo with the service "www".
Make sure this service is known by writing an appropriate
/etc/services file.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
2024-01-13 19:48:44 +02:00
Benjamin Berg
7a47756373 tests: Explicitly set address to bind to
pyrad internally uses socket.getaddrinfo. While it is documented that
one can pass an empty string to bind to all interfaces. The underlying
function expects None instead though, breaking the call.

Either way, it does not hurt to set the bind address to 127.0.0.1
explicitly, so do so to avoid issues.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
2024-01-13 19:48:09 +02:00
Benjamin Berg
77f0b40872 tests: Strip trailing space from ip output
It seems that the messages from ip may have a trailing space in some
cases, which may break matching in surrounding logic. Strip the output
to remove whitespace and avoid any issues this may cause.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
2024-01-13 19:47:23 +02:00
Jouni Malinen
e7cf39b152 tests: DPP responder while ML associated
Signed-off-by: Jouni Malinen <j@w1.fi>
2024-01-13 19:39:14 +02:00
Jouni Malinen
c0e93bb217 tests: GAS/ANQP during MLO association
Signed-off-by: Jouni Malinen <j@w1.fi>
2024-01-13 19:10:17 +02:00
Jouni Malinen
1bacafce4e tests: Enable full testing for ACS with VHT160
This is now supported in hostapd, so drop the option to fail to start
the AP.

Signed-off-by: Jouni Malinen <j@w1.fi>
2023-12-23 16:53:52 +02:00
Jouni Malinen
6ef0614b36 tests: Automatic channel selection for EHT320
Signed-off-by: Jouni Malinen <j@w1.fi>
2023-12-23 16:38:06 +02:00
Jouni Malinen
dc57ede010 tests: Full validation of ACS selecting HT40- channel
Extend the previously used minimal test case with full validation of the
selected channel and connection since hostapd now has support for the
HT40- case as well.

Signed-off-by: Jouni Malinen <j@w1.fi>
2023-12-23 15:20:24 +02:00
Jouni Malinen
435ff085ee tests: Try to keep GAS frames within gas_concurrent_scan capture
With UML time-travel, it was possible for a GAS frame to end up in the
capture file for the next test case and if that next case used tshark to
count the number of frames (which is done, e.g., in
gas_anqp_address3_assoc), the following test case could have indicated
failure even when everything worked correctly.

Signed-off-by: Jouni Malinen <j@w1.fi>
2023-12-23 12:37:06 +02:00
Jouni Malinen
9c32d04e4d tests: P2P GO starting a persistent group with 80+80 MHz bandwidth
Signed-off-by: Jouni Malinen <j@w1.fi>
2023-12-23 12:20:24 +02:00
Ilan Peer
31d33a55f9 tests: Modify the DSCP-to-TID mapping in QoS mapping tests
The cfg80211 default QoS mapping might be updated to align with the
recommendations in section 4 in RF C8325. Align the QoS mapping tests
accordingly. For now, allow both the previous and new mapping to pass
the test.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
2023-12-23 11:22:50 +02:00
Ilan Peer
924f328df4 tests: Extend the HE regulatory test to also exemplify SP AP
Extend he_6ghz_reg to also show how to configure SP AP with EIRP TX
power limit.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
2023-12-22 20:44:57 +02:00
Ilan Peer
61c0f64360 tests: Add a simple configuration test for TX power control on 6 GHz
Add a simple test that exemplifies TX power configuration when operating
on the 6 GHz band.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
2023-12-22 18:12:20 +02:00
Ilan Peer
1e3fbd4e13 tests: Extend MLD SAE test to cover failed authentication
Signed-off-by: Ilan Peer <ilan.peer@intel.com>
2023-12-22 16:51:48 +02:00
Ilan Peer
d004700560 tests: Extend testing coverage for MLD association with disabled links
Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
2023-12-22 16:04:52 +02:00
Jouni Malinen
b86936a58a tests: Use longer timeout with sigma_dut in DPP reconfiguration steps
Some of these can take close to the previously used timeouts and this
could result in reporting failures in cases that worked fine.

Signed-off-by: Jouni Malinen <j@w1.fi>
2023-12-22 14:26:34 +02:00
Ilan Peer
0e8b97cad2 tests: Add tests for EHT operation puncturing override
Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
2023-12-22 14:19:28 +02:00
Andrei Otcheretianski
8acb6018fd tests: Add more EHT tests with various bandwidths and channels
Test EHT connection on the 5 GHz band with channel bandwidths 20-160 MHz
and up to 320 MHz on the 6 GHz band.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
2023-12-22 13:36:04 +02:00
Jouni Malinen
2ae3c61678 tests: Flush scan cache in ap_wps_and_sae
This avoids issues with old scan results from a previous test causing
incorrect association after WPS exchange.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2023-12-21 20:49:21 +02:00
Jouni Malinen
d276a5ec0a tests: SAE and sae_password_file in hostapd configuration
Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2023-12-21 20:09:41 +02:00
Jouni Malinen
fc4532d0d3 tests: Add more time for the Presence Announcements to be received
The previous timeout allowed only a single chirping round, and sometimes
not even that full round. That resulted in test failures for cases where
there was not really any incorrect behavior.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2023-12-21 12:13:17 +02:00
Jouni Malinen
38b16904cf tests: Clean up PSK protocol tests to avoid issues
Stop dev[0] from trying to associate at the end of the test case to
reduce risk for leaving out some pending operations that could mess up
the following test case.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2023-12-21 12:13:13 +02:00
Jouni Malinen
a46c5738bc tests: Make flush_scan_cache() more robust
Handle the cases where the first attempt to start scan fails due to an
ongoing scan. Stop such scan and try again instead of failing the test
case immediately.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2023-12-20 18:21:10 +02:00
Jouni Malinen
4f65f66aeb tests: Make GAS tests more robust and easier to debug
Avoid some race conditions.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2023-12-20 13:07:14 +02:00
Jouni Malinen
54ab50d658 tests: Do not check TX status in dpp_qr_code_auth_neg_chan
This avoids race conditions with UML time-travel where some cases ended
up not reporting the DPP-TX-STATUS event and that resulted in discarding
events that are more important to verify for correct behavior.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2023-12-20 12:46:05 +02:00
Jouni Malinen
ecb1e04d85 tests: Wait for the dpp_init_enrollee_pkex thread to complete
One of the sigma_dut testing cases missed the t.join() call to make
surte the separate thread terminated. This could result in confusing
"unexpected stdout output" in a middle of an unrelated test case.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2023-12-19 13:49:15 +02:00
Jouni Malinen
6f1041b3fb tests: Make p2p_service_discovery_restart more robust
Stop and restart P2P_FIND on dev[1] to avoid timing issues where the
wait on dev[1] makes the test case fail even though this was trying to
verify that dev[0] is reacting quickly enough.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2023-12-19 13:03:20 +02:00
Jouni Malinen
79db4092c4 tests: Fix a typo in an error message
Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2023-12-18 20:36:19 +02:00