Commit graph

143 commits

Author SHA1 Message Date
Jouni Malinen
c4668009d0 tests: Remove unnecessary use of sudo from test cases
run-tests.py is running as root, so sudo does not need to be used
anymore from within each test case.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
2015-02-07 15:37:13 +02:00
Jouni Malinen
b638f70316 tests: Replace subprocess.call for rm with os.remove()
There is no need to use sudo and external rm to remove files now that
run-tests.py is required to run as root.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
2015-02-07 15:37:13 +02:00
Ben
1d21a5bee5 tests: Fix ap_wps_per_station_psk to use own_addr()
The test used p2p_dev_addr() that can be different from own_addr()
if a dedicated P2P Device interface is used.

Signed-off-by: Ben Rosenfeld <ben.rosenfeld@intel.com>
2015-02-05 13:48:40 +02:00
Jouni Malinen
a08fdb17aa tests: EAPOL supplicant invalid frame handling
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
2015-01-28 13:09:31 +02:00
Jouni Malinen
fba25c99a5 tests: Make ap_wps_er_pbc_overlap more robust
Reorder scanning in a way that allows the ER behavior to be more
predictable. The first Probe Request report is for a previously received
frame on the AP and this new sequence avoids leaving either of the PBC
test STAs to be that one.

Signed-off-by: Jouni Malinen <j@w1.fi>
2015-01-23 00:52:56 +02:00
Jouni Malinen
e60be3b3d4 tests: WPS registrar learning configuration from WPA+WPA2 AP
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
2015-01-19 18:39:13 +02:00
Jouni Malinen
81e787b750 tests: Convert test skipping to use exception
Instead of returning "skip" from the test function, raise the new
HwsimSkip exception to indicate a test case was skipped.

Signed-off-by: Jouni Malinen <j@w1.fi>
2015-01-08 22:43:47 +02:00
Jouni Malinen
5f35a5e27f tests: Add wait_connected() and wait_disconnected() helpers
Signed-off-by: Jouni Malinen <j@w1.fi>
2014-12-20 13:10:09 +02:00
Jouni Malinen
9d7fdac5b3 tests: Try to clear scan results after regulatory domain changes
It was possible for regulatory domain changes to "leak" into following
test cases in number of cases where the cfg80211 BSS table remained
after regulatory domain had been restored to world roaming. Try to make
this less likely to occur by explicitly clearing BSS table at the end of
test cases that use different regulatory domain. This makes P2P test
cases that verify channel selection based on world roaming rules more
robust.

Signed-off-by: Jouni Malinen <j@w1.fi>
2014-12-15 01:32:01 +02:00
Jouni Malinen
be9f156200 tests: Move WPS_ER_STOP from reset() to test cases
This avoids one more cleanup step between most test cases by stopping ER
only in case it was actually used during a test.

Signed-off-by: Jouni Malinen <j@w1.fi>
2014-12-14 02:28:03 +02:00
Jouni Malinen
d6b916c9db tests: WPS_ER_PBC error cases
Signed-off-by: Jouni Malinen <j@w1.fi>
2014-12-14 02:28:03 +02:00
Jouni Malinen
8f8c2fe8b2 tests: WPS ER restart and stop
Signed-off-by: Jouni Malinen <j@w1.fi>
2014-12-14 02:28:03 +02:00
Jouni Malinen
33d0b1579b tests: Optimize WPS tests by avoiding full scan
A single channel scan just before WPS_REG, WPS_PBC, and WPS_PIN commands
can be used to avoid having to run a full scan. This saves significant
amount of time in the WPS test cases.

Signed-off-by: Jouni Malinen <j@w1.fi>
2014-12-08 11:42:07 +02:00
Jouni Malinen
243dcc4ae4 tests: Add a helper function for clearing scan cache
This makes it more convenient and consistent to clear the cached scan
results from cfg80211 and wpa_supplicant.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
2014-12-01 12:20:53 +02:00
Jouni Malinen
3c086180c1 tests: Make ap_wps_reg_config_tkip failure log more helpful
The "Not fully connected" report did not clearly identify what went
wrong, so make this more verbose in hope of being able to determine what
happened should this test case fail again.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
2014-11-27 20:33:35 +02:00
Jouni Malinen
9ed53f5edf tests: Increase WPS connection timeout to make tests more robust
It was possible to hit the 10 second timeout in some test cases under
heavy load (e.g., with large number of VMs running tests in parallel).
These timeouts are not really indicating any real error, so make them
less likely to show up in reports by increasing the connection timeout
to 30 seconds.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
2014-11-27 20:30:07 +02:00
Jouni Malinen
1531402ee4 tests: WPS with ap_scan=2
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
2014-10-27 20:19:45 +02:00
Jouni Malinen
72a8e30b96 tests: Allow GCMP to be added into ap_wps_mixed_cred network profile
This is needed in preparation for WPS AES being mapped to enabling both
CCMP and GCMP if the driver supports both ciphers.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
2014-10-27 16:52:10 +02:00
Jouni Malinen
3f08d1cde8 tests: WPS PBC triggered based on hostapd event
Signed-off-by: Jouni Malinen <j@w1.fi>
2014-10-12 17:58:04 +03:00
Jouni Malinen
e5a79e3f93 tests: WPS while connected
Signed-off-by: Jouni Malinen <j@w1.fi>
2014-09-28 11:03:48 +03:00
Jouni Malinen
321c7f6034 tests: Make ap_wps_er_add_enrollee more robust under load
The scan for WPS-AUTH validation may miss a Probe Response frame if the
hostapd process gets blocked under load, e.g., when testing with
parallel-vm.sh.

Signed-off-by: Jouni Malinen <j@w1.fi>
2014-09-27 16:17:17 +03:00
Jouni Malinen
a0fd2ae643 tests: WPS mixed-WPA/WPA2 credential merging
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
2014-08-29 20:25:18 +03:00
Jouni Malinen
d352c407e3 tests: Verify that WPS operation report failure if WPS is disabled
Signed-off-by: Jouni Malinen <j@w1.fi>
2014-05-16 00:58:48 +03:00
Jouni Malinen
84a4084177 tests: Make WPS test cases more robust
Scan explicitly for the AP that may be started during the test case
execution. This is needed to work around issues where under heavy CPU
load, the single active scan round may miss the delayed Probe Response
from the second AP.

Signed-off-by: Jouni Malinen <j@w1.fi>
2014-05-15 16:56:59 +03:00
Jouni Malinen
6257f9c0da tests: WPS PIN provisioning with configured WPS v1.0 AP
Signed-off-by: Jouni Malinen <j@w1.fi>
2014-04-29 12:52:10 +03:00
Jouni Malinen
0bde923c40 tests: Make ap_wps_init_2ap_pin/pbc more robust
It is possible for the scan to miss a Probe Response frame especially
under heavy load, so try again to avoid reporting invalid failures.

Signed-off-by: Jouni Malinen <j@w1.fi>
2014-04-29 12:52:10 +03:00
Jouni Malinen
befd671c9c tests: Make ap_wps_er_add_enrollee check a bit more robust
It is possible for the final step of the test case to fail under load
(e.g., when using parallel-vm.sh with large number of VMs), so run
through additional scan iterations if the WPS-AUTH flag does not get
removed immediately.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
2014-04-29 12:52:10 +03:00
Jouni Malinen
cf3f0ec81c tests: Work around invalid ap_wps_ie_fragmentation failures
This can fail if Probe Response frame is missed and Beacon frame was
used to fill in the BSS entry. This can happen, e.g., during heavy load
every now and then and is not really an error, so try to workaround by
runnign another scan.

Signed-off-by: Jouni Malinen <j@w1.fi>
2014-04-14 00:53:27 +03:00
Jouni Malinen
6e12eaa449 tests: Additional WPS ctrl_iface coverage
Signed-off-by: Jouni Malinen <j@w1.fi>
2014-04-13 10:26:51 +03:00
Jouni Malinen
2f35bc649b tests: ctrl_iface invalid MAC address
Signed-off-by: Jouni Malinen <j@w1.fi>
2014-04-13 10:26:51 +03:00
Jouni Malinen
df58939cec tests: WPS_CHECK_PIN with invalid PIN length
Signed-off-by: Jouni Malinen <j@w1.fi>
2014-04-07 00:56:04 +03:00
Jouni Malinen
acd9b45a2c tests: Verify random WPS PIN generation
Signed-off-by: Jouni Malinen <j@w1.fi>
2014-04-07 00:56:04 +03:00
Jouni Malinen
daad14ccd4 tests: WPS operations on channel 14 and on 5 GHz band
Signed-off-by: Jouni Malinen <j@w1.fi>
2014-04-06 13:49:05 +03:00
Jouni Malinen
9602b355f8 tests: WPS fragmentation when using PIN and WPS_REG
Signed-off-by: Jouni Malinen <j@w1.fi>
2014-04-06 13:18:55 +03:00
Jouni Malinen
91f3cf6996 tests: Add option for running test cases that take a long time
run-tests.py now takes an optional --long parameter that can be used to
enable running of test cases that take a long time (multiple minutes).
By default, such test cases are skipped to avoid making the normal test
run take excessive amounts of time.

As an initial long test case, verify WPS PBC walk time expiration (two
minutes).

Signed-off-by: Jouni Malinen <j@w1.fi>
2014-04-06 13:11:32 +03:00
Jouni Malinen
f19d87f1ee tests: WPS cred event for external use
Signed-off-by: Jouni Malinen <j@w1.fi>
2014-04-06 12:31:45 +03:00
Jouni Malinen
b90188335a tests: WPS operation with other networks already configured
Signed-off-by: Jouni Malinen <j@w1.fi>
2014-04-06 12:31:45 +03:00
Jouni Malinen
33c9b8d8ac tests: WPS AP PIN unlocked on timeout
Signed-off-by: Jouni Malinen <j@w1.fi>
2014-03-22 23:38:39 +02:00
Jouni Malinen
56887c3581 tests: WPS configuration file update
Signed-off-by: Jouni Malinen <j@w1.fi>
2014-03-22 21:12:06 +02:00
Jouni Malinen
373cce553b tests: WPS and per-station PSK with non-writeable PSK file
Signed-off-by: Jouni Malinen <j@w1.fi>
2014-03-22 19:19:17 +02:00
Jouni Malinen
d7a68ad6b9 tests: Print BSS data on ap_wps_ie_fragmention error case
This makes it easier to debug what failed.

Signed-off-by: Jouni Malinen <j@w1.fi>
2014-03-22 19:01:34 +02:00
Jouni Malinen
ac786d67fe tests: WPS_CHECK_PIN error cases
Signed-off-by: Jouni Malinen <j@w1.fi>
2014-03-22 19:01:34 +02:00
Jouni Malinen
0489e8809d tests: WPS Enrollee PIN expiration on AP
Signed-off-by: Jouni Malinen <j@w1.fi>
2014-03-22 19:01:34 +02:00
Jouni Malinen
c1cec68b93 tests: WPS AP PIN unlocking
Signed-off-by: Jouni Malinen <j@w1.fi>
2014-03-15 19:04:31 +02:00
Jouni Malinen
4b727c5c26 tests: WPS AP configuration using external settings management
Signed-off-by: Jouni Malinen <j@w1.fi>
2014-03-15 19:04:31 +02:00
Jouni Malinen
e8518757c9 tests: WPS PIN request file
Signed-off-by: Jouni Malinen <j@w1.fi>
2014-03-15 19:04:31 +02:00
Jouni Malinen
375afd7cf8 tests: WPS reconfiguration to open network
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
2014-03-13 22:56:07 +02:00
Jouni Malinen
2035b17033 tests: Per-station PSK with WPS
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
2014-03-13 18:22:25 +02:00
Jouni Malinen
11d78bb1ee tests: WPS 2.0 rejection of WEP credential
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
2014-03-05 12:40:54 +02:00
Jouni Malinen
180cd73dc8 tests: Optimize ap_wps_init_through_wps_config
Wait a bit between WPS_CONFIG command and the first scan. This can avoid
an extra five second wait due to having to scan again if the initial
scan operations happens to be quick enough to happen before the AP has
updated its configuration.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
2014-02-27 18:01:32 +02:00
Jouni Malinen
47c549fd8e tests: WPS UPnP operations
Signed-off-by: Jouni Malinen <j@w1.fi>
2014-02-24 13:56:43 +02:00
Jouni Malinen
44ff0400b4 tests: WPS UPnP SSDP testing
Signed-off-by: Jouni Malinen <j@w1.fi>
2014-02-24 13:56:42 +02:00
Jouni Malinen
5be9dcbb86 tests: Remove unnecessary interpreter line from most python files
Only run-tests.py is actually executed, so there is no need to specify
the interpreter in all the helper files and test script files.

Signed-off-by: Jouni Malinen <j@w1.fi>
2014-02-21 20:21:53 +02:00
Jouni Malinen
1f020f5eb6 tests: Verify functionality with WPS 1.0 ER
Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
2014-02-04 13:10:57 +02:00
Jouni Malinen
11e7eeba8e tests: Verify WPS AP does not activate PBC during overlap
Signed-hostap: Jouni Malinen <j@w1.fi>
2014-02-04 13:10:57 +02:00
Jouni Malinen
11c26f1b4a tests: Verify WPS ER behavior on selecting a single Enrollee
Signed-hostap: Jouni Malinen <j@w1.fi>
2014-02-04 13:10:57 +02:00
Jouni Malinen
dccafedb9a tests: Include vendor extension in WPS M1
Signed-hostap: Jouni Malinen <j@w1.fi>
2014-01-07 23:37:13 +02:00
Jouni Malinen
1013a57654 tests: WPS AP using fragmented WPS IE
Signed-hostap: Jouni Malinen <j@w1.fi>
2014-01-07 23:22:45 +02:00
Jouni Malinen
9ba1fcb056 tests: WPS 2.0 AP rejecting WEP configuration
Signed-hostap: Jouni Malinen <j@w1.fi>
2014-01-07 23:08:26 +02:00
Jouni Malinen
8697cbc0f8 tests: Make ap_wps_er_add_enrollee less likely to fail
WPS-ER-AP-REMOVE event from the ER is sent before HTTP UNSUBSCRIBE has
been completed. As such, it was possible for the following scan
validation step to be started before the AP has had a chance to react to
the ER status change. Makes this less likely to fail by waiting 200 ms
before starting the last scan.

Signed-hostap: Jouni Malinen <j@w1.fi>
2014-01-07 15:20:30 +02:00
Jouni Malinen
8674c02244 tests: Allow multiple Enrollee events in ap_wps_er_add_enrollee_pbc
It was possible for the AP to report two enrollees in this test case
(i.e., both the expected wlan1 device and also the ER device on wlan0).
The previous test script would fail if the wlan0 device is reported
first. Fix this by allowed the expected target to be found in either the
first or the second WPS-ER-ENROLLEE-ADD event.

Signed-hostap: Jouni Malinen <j@w1.fi>
2014-01-07 10:45:11 +02:00
Jouni Malinen
ad36d27d6a tests: Remove ignore_old_scan_res workaround
Now that wpa_supplicant requests the driver (cfg80211) to clear its scan
cache automatically after each BSS_FLUSH/FLUSH command, the previously
used ignore_old_scan_res workaround should not be needed for the hwsim
test cases anymore.

Signed-hostap: Jouni Malinen <j@w1.fi>
2014-01-03 08:59:59 +02:00
Jouni Malinen
75b25ece93 tests: Verify GET_CONFIG ctrl_iface command on hostapd
Signed-hostap: Jouni Malinen <j@w1.fi>
2014-01-01 22:15:36 +02:00
Jouni Malinen
9488858f29 tests: Add more thorough WPS_AP_PIN validation
Signed-hostap: Jouni Malinen <j@w1.fi>
2014-01-01 22:11:46 +02:00
Jouni Malinen
3bdf7d7f67 tests: Verify WPS_CHECK_PIN functionality
Signed-hostap: Jouni Malinen <j@w1.fi>
2014-01-01 21:30:57 +02:00
Jouni Malinen
d671a42013 tests: Verify hostapd WPS_GET_STATUS command
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-12-29 17:49:21 +02:00
Jouni Malinen
35831e94ff tests: Verify hostapd WPS_CONFIG command
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-12-29 17:39:58 +02:00
Jouni Malinen
097cd9cd4d tests: Verify WPS information in hostapd STA command
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-12-29 17:33:02 +02:00
Jouni Malinen
18030dc033 tests: Verify dual-radio WPS operations
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-12-29 17:18:17 +02:00
Jouni Malinen
e4357b190f tests: Verify wps_ap_pin command behavior
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-12-29 10:00:33 +02:00
Jouni Malinen
e912986056 tests: Verify concurrent WPS protocol run with assigned PIN
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-12-29 10:00:32 +02:00
Jouni Malinen
a60a6d6b80 tests: Verify that another station cannot use same PIN
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-12-29 10:00:32 +02:00
Jouni Malinen
362ba6de98 tests: Verify selected registrar clearing on PIN method completion
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-12-29 10:00:32 +02:00
Jouni Malinen
71afe83441 tests: WPS cancel on AP
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-12-29 10:00:32 +02:00
Jouni Malinen
be92357074 tests: WPS ER configuring AP over UPnP
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-12-29 10:00:32 +02:00
Jouni Malinen
38ae43de6b tests: WPS ER unsubscription from event on WPS_ER_STOP
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-12-29 10:00:32 +02:00
Jouni Malinen
800bcf4ea1 tests: WPS ER selecting AP using BSSID instead of UUID
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-12-29 10:00:32 +02:00
Jouni Malinen
eeefe187bc tests: Verify WPS AP auto upgrade from WPA/TKIP to WPA/TKIP+WPA2/CCMP
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-12-29 10:00:32 +02:00
Jouni Malinen
d658205a89 tests: Verify PIN mismatch behavior
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-12-29 10:00:32 +02:00
Jouni Malinen
6645ff5094 tests: Verify WPS AP Setup Locking on AP PIN failures
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-12-29 10:00:32 +02:00
Jouni Malinen
10ea684830 tests: Verify WPS extensibility (version and new attribute)
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-12-29 10:00:32 +02:00
Jouni Malinen
bff3ac5b3c tests: Verify EAP-WSC fragmentation and mixed mode WPA+WPA2
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-12-29 10:00:32 +02:00
Jouni Malinen
04e6278848 tests: Verify that WPS re-provisioning replaces old network block
Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
2013-12-26 20:50:28 +02:00
Jouni Malinen
c9aa430896 tests: Split run-tests.py logger info into per test case files
The run-tests.py -l argument does not take an argument value anymore.
Instead, debug output is directed to a separate file <test>.log for each
test case.

Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
2013-10-31 12:51:08 +02:00
Jouni Malinen
846be88975 tests: Use longer timeout in test_ap_wps_er_add_enrollee
This is another one of the test cases that can time out frequently
under valgrind during WPS exchange. Increase the timeout to make
false error reports less likely to occur.

Signed-hostap: Jouni Malinen <j@w1.fi>
2013-08-31 11:54:23 +03:00
Jouni Malinen
7e3f110b08 tests: Increase WPS timeout to 30 seconds
Number of crypto operations seem to take very long time in the valgrind
tests (about five seconds for public key generation for M1 and M2 on a
virtual server) and this is enough to push the test runs to hit the
timeout frequently even when there is no real error. Make this less
frequent by increasing WPS test case timeout from 15 to 30 seconds to
avoid issues based on the test scripts.

Signed-hostap: Jouni Malinen <j@w1.fi>
2013-08-31 10:45:03 +03:00
Jouni Malinen
853b49a030 tests: Increase test_ap_wps_init connection timeout
It looks like there may not be enough time to complete this test case in
15 seconds under valgrind on a virtual host every time, so increase the
timeout to 30 seconds to get more consistent test results.

Signed-hostap: Jouni Malinen <j@w1.fi>
2013-08-26 16:54:05 +03:00
Jouni Malinen
6edaee9c82 tests: Test WPS ER UPnP functionality to add Enrollees
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-04-28 22:00:58 +03:00
Jouni Malinen
62d58f7ae3 tests: Use FLUSH command to clear wpa_supplicant state
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-31 20:32:33 +03:00
Jouni Malinen
6dacb8e98b tests: Ignore old scan results in couple more WPS test cases
These have shown failures due to obsolete scan results from previous
test cases being present.

Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-31 20:01:57 +03:00
Jouni Malinen
803edd1c09 tests: Fix BSS table flushing and old result ignoring for WPS tests
The WPS tests are more prone to fail if scan results from the previous
test cases are allowed to remain in the wpa_supplicant BSS table during
the consecutive test since the test setup uses the same BSSID for the
test APs that change their configuration. Avoid these mostly bogus
issues by enforcing wpa_supplicant to drop and ignore old scan results
during the WPS test cases.

Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-31 18:05:42 +03:00
Jouni Malinen
ae3ad3284a tests: Pass AP devices to test cases
This removes hardcoded assumptions about AP interfaces from test_*.py.

Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-31 18:05:31 +03:00
Jouni Malinen
302b7a1b09 tests: Add test cases for WPS operations
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-31 12:46:05 +03:00