Commit graph

4743 commits

Author SHA1 Message Date
Jouni Malinen
f59a10d405 tests: Generate a tarball of test results if a test fails
This makes it easier to collect failure data from test servers for
further analysis.

Signed-hostap: Jouni Malinen <j@w1.fi>
2013-04-26 13:48:48 +03:00
Jouni Malinen
79c3cbaf12 tests: Capture hwsim0 packet dump during test run
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-04-26 12:36:56 +03:00
Jouni Malinen
ea295abcd5 tests: Add test cases for NFC+WPS
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-04-01 19:34:53 +03:00
Jouni Malinen
c7860beb52 tests: Use Wlantest class in test_autogo_tdls
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-04-01 10:37:44 +03:00
Jouni Malinen
93a06242ce tests: Add a test case for Hotspot 2.0 network selection
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-04-01 01:01:24 +03:00
Jouni Malinen
6b67117a34 tests: Stop wpa_supplicant before hostapd
Stopping the AP first was not ideal for the test cases since it could
result in wpa_supplicant trying to connect back and start a scan at the
end of a test case and cause problems for the following test case that
tried to scan in the beginning while the previously started scan was
still in progress.

Signed-hostap: Jouni Malinen <j@w1.fi>
2013-04-01 00:59:50 +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
1a8e4761da tests: Use a more compact summary of test results
Do not print the potentially long list of passed test cases. In case of
failure(s), make sure the failed test list is the last item in the
report.

Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-31 18:10:17 +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
347c77e6cc tests: Remove obsolete test script
The generic test cases and run-tests.py have removed need of this
separate test script.

Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-31 18:05:42 +03:00
Jouni Malinen
7585f349c7 tests: Add command line argument -f for specifying a test file
This can be used to run all test cases from a single test file.

Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-31 18:05:42 +03:00
Jouni Malinen
63a020ead8 tests: Use a single set of scripts for running both P2P and AP tests
This removes the unnecessary separation of P2P (no hostapd) and AP
tests. The same scripts can be used to prepare for these tests and to
execute the tests.

Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-31 18:05:31 +03:00
Jouni Malinen
0b20f514de tests: Make hostapd test setup more similar to the P2P tests
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-31 18:05:31 +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
Jouni Malinen
fde43cddb9 tests: Fix test_discovery to force full device discovery
P2P_PROV_DISC fails if the peer is not fully discovered and the previous
version of the test cases did not force this (i.e., it could have
started PD just based on having seen a Probe Request frame from the
peer).

Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-30 20:31:22 +02:00
Jouni Malinen
5924d4c105 P2P: Add a test case for discovering a P2P client in a group
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-30 20:17:11 +02:00
Jouni Malinen
b12b7c7a1f tests: Make test_discovery report PD failures with more detail
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-30 16:10:04 +02:00
Jouni Malinen
5b06bdf795 tests: Add SA Query test with PMF
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-30 15:31:50 +02:00
Jouni Malinen
835a546b20 tests: Add test cases for PMF
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-30 13:47:22 +02:00
Jouni Malinen
5126138c9e tests: Add roaming test cases
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-30 11:28:39 +02:00
Jouni Malinen
fcbccf1aae tests: Set umask to avoid unexpected issues with hostapd sockets
buildbot seems to be running with more limited umask by default and that
prevented the hostapd per-interface socket from being accessed.

Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-30 11:11:55 +02:00
Jouni Malinen
8bc0799b93 tests: Use the ap_ifname variable instead of hardcoding ifname
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-30 10:31:18 +02:00
Jouni Malinen
894541ea9c tests: Get rid of the unnecessary add_tests() functions
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-29 21:03:55 +02:00
Jouni Malinen
b61e418c35 tests: Add helper functions for connection to an AP
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-29 20:41:57 +02:00
Jouni Malinen
e259d186cf tests: Add helper functions for starting hostapd AP
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-29 20:33:25 +02:00
Jouni Malinen
0165c4be10 tests: Add TDLS test cases for WEP and open network
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-29 19:15:43 +02:00
Jouni Malinen
e492837b67 tests: Add TDLS test cases with WPA-PSK and WPA+WPA2-PSK
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-29 18:51:48 +02:00
Jouni Malinen
b8cd4c542f tests: Configure hostapd dynamically during the tests
This makes it more convenient to change hostapd parameters between the
test cases.

Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-29 18:37:03 +02:00
Jouni Malinen
9f46d57f2b tests: Rename AP testing scripts to be more generic
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-29 17:19:47 +02:00
Jouni Malinen
a9bdfd49a6 tests: Add more test cases for TDLS functionality
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-27 16:40:49 +02:00
Jouni Malinen
dc4e222cb7 tests: Use more thorough validation of TDLS frame paths
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-27 16:05:52 +02:00
Jouni Malinen
059555878e tests: Add forgotten new files to the repository
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-27 14:40:49 +02:00
Jouni Malinen
81266da728 tests: Add initial AP tests with hostapd
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-27 14:29:01 +02:00
Jouni Malinen
d014a15046 tests: Fix TDLS counter validation
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-27 13:32:36 +02:00
Jouni Malinen
8a244cd8a0 tests: Add concurrent version of P2P test setup
A virtual station interface in scanning state can change the P2P
operations quite a bit, so running all the P2P tests also in such
setup can increase testing coverage quite a bit.

Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-19 10:58:28 +02:00
Jouni Malinen
4441b9d571 tests: Use social channel scan to speed up tests
The discovery and group formation test cases do not need to run the full
scan as the first step, so get rid of it to make the tests complete more
quickly.

Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
2013-03-18 17:36:12 +02:00
Jouni Malinen
47c34473f9 tests: Give document string for each test case as a description
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-17 11:19:24 +02:00
Jouni Malinen
1a4d80b8d5 tests: Group formation with PBC
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-17 11:10:59 +02:00
Jouni Malinen
5743006d36 tests: Add P2P device discovery and provision discovery test case
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-17 10:58:48 +02:00
Jouni Malinen
d963f03772 tests: Use social-only scan by default to speed up tests
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-16 11:47:01 +02:00
Jouni Malinen
c4fff52c89 tests: Add GO Negotiation without pre-authorization
This is the most common sequence for initiating GO Negotiation, so
include a test case that uses threads to follow both peers at the
same time to allow GO Negotiation to be re-initiated.

Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-16 11:36:59 +02:00
Jouni Malinen
4d7d61b689 tests: Fix wait duration
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-16 11:21:22 +02:00
Jouni Malinen
89ffe06d68 tests: Do not hide error return when using run-all.sh
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-09 23:29:22 +02:00
Jouni Malinen
2a4291ffdc tests: Register test cases automatically from test_p2p_*.py
This removes need for editing run-p2p-tests.py whenever new test files
are added.

Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-09 23:19:59 +02:00
Jouni Malinen
823d572f99 tests: Add a script for running all the automated tests
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-09 21:40:31 +02:00
Jouni Malinen
07a2e61b43 tests: Use wlantest to validate TDLS behavior
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-09 19:01:56 +02:00
Jouni Malinen
e5774e1888 tests: Reset devices based on each test
Make sure the devices are in known state before starting each test case.

Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-09 19:00:57 +02:00
Jouni Malinen
7cb08cdbd6 tests: Add a test case for using TDLS in a P2P group
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-09 18:24:32 +02:00
Jouni Malinen
78ebbf0916 tests: Add autogo test with two clients
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-09 17:51:22 +02:00
Jouni Malinen
8b2b687eb8 tests: Start wlantest on hwsim0
This is in preparation for using wlantest to verify correct behavior in
various test cases.

Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-09 17:39:11 +02:00
Jouni Malinen
f3f8ee882f tests: Add support for separate P2P group interfaces
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-09 17:34:08 +02:00
Jouni Malinen
9e7308be40 tests: Reset device state at the end of full test run
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-09 16:34:20 +02:00
Jouni Malinen
4ea8d3b5cf tests: Add autonomous GO testing
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-09 16:30:25 +02:00
Jouni Malinen
dd34860dcd tests: Allow selected tests to be specified
Command line parameter to run-p2p-tests.py can now be used to select
which test case is run instead of always running all test cases.

Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-09 16:07:01 +02:00
Jouni Malinen
caf518a743 tests: Add GO Negotiation provisioning method validation
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-09 16:07:01 +02:00
Jouni Malinen
f7b1a75036 tests: Validate GO Negotiation status code
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-09 16:07:01 +02:00
Jouni Malinen
809079d3ea tests: GO Negotiation with both devices using GO intent 15
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-09 16:07:01 +02:00
Jouni Malinen
c68f9a61c6 tests: Report group formation results as a dict
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-09 16:07:01 +02:00
Jouni Malinen
a311c61dd6 tests: Add test execution mechanism
run-p2p-tests.py can now be used to run all P2P test cases. The
actual test cases are defined in test_p2p_*.py files.

Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-02 12:55:07 +02:00
Jouni Malinen
731e60f5c5 tests: Add start/stop scripts and configuration files
Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-02 11:39:54 +02:00
Jouni Malinen
3eb29b7b47 tests: Check connectivity in the P2P group
Use hwsim_test to verify that the formed group has working data
connectivity.

Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-02 11:38:56 +02:00
Jouni Malinen
1ae73b03be Add a starting point for mac80211_hwsim-based testing
This will hopefully grow over time to become a much more complete
testing mechanism that uses mac80211_hwsim to verify various
wpa_supplicant and hostapd functions automatically.

Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-02 01:05:03 +02:00
Jouni Malinen
565bb65d5c Fix test-{md5,sha1} builds
These need to include the libraries to fix aliasing_hide_typecast()
in md5-internal.c.

Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
2013-02-28 16:34:08 +02:00
Jouni Malinen
77b2c81275 Add aes_gmac() as a wrapper for AES GMAC operations using GCM
This is otherwise identical to aes_gcm_ae() but does not use the
plain/crypt pointers since no data is encrypted.

Signed-hostap: Jouni Malinen <j@w1.fi>
2012-09-09 13:37:50 +03:00
Jouni Malinen
d140db6adf Add support for using 192-bit and 256-bit keys with AES-GCM
This adds 192-bit and 256-bit key support to the internal AES
implementation and extends the AES-GCM functions to accept key length to
enable longer AES key use.

Signed-hostap: Jouni Malinen <j@w1.fi>
2012-09-09 13:30:51 +03:00
Jouni Malinen
af0963fab4 Support arbitrary IV length with AES-GCM
Signed-hostap: Jouni Malinen <j@w1.fi>
2012-09-09 00:49:54 +03:00
Jouni Malinen
c2372d7cf0 Add AES-GCM test vectors from gcm-spec.pdf
Signed-hostap: Jouni Malinen <j@w1.fi>
2012-09-09 00:25:54 +03:00
Jouni Malinen
0d7773b63f Add routines for encoding/decoding printf escaping mechanism
This can be used to build ASCII strings from binary data that is
more likely to use ASCII (i.e., text format is more natural
option than hexdump, but there is possibility of some non-ASCII
characters).

Signed-hostap: Jouni Malinen <j@w1.fi>
2012-08-07 13:30:13 +03:00
Jouni Malinen
0f3d578efc Remove the GPL notification from files contributed by Jouni Malinen
Remove the GPL notification text from the files that were
initially contributed by myself.

Signed-hostap: Jouni Malinen <j@w1.fi>
2012-02-11 19:39:36 +02:00
Jouni Malinen
b87346c41a Remove test-https on "make clean"
This is not included in the TESTS list, but should be removed anyway.

Signed-hostap: Jouni Malinen <j@w1.fi>
2012-01-01 19:09:18 +02:00
Jouni Malinen
cd52acec85 Rename tls_prf() to tls_prf_sha1_md5()
Prepare for multiple TLS PRF functions by renaming the SHA1+MD5 based
TLS PRF function to more specific name and add tls_prf() within the
internal TLS implementation as a wrapper for this for now.

Signed-hostap: Jouni Malinen <j@w1.fi>
2011-11-27 21:27:01 +02:00
Jouni Malinen
b32a8d1dfe test-https: Fix memory leaks in TLS processing
Signed-hostap: Jouni Malinen <j@w1.fi>
2011-11-27 18:33:11 +02:00
Jouni Malinen
f551fa8d50 Add test program for RC4 (test vectors from RFC 6229)
Signed-hostap: Jouni Malinen <j@w1.fi>
2011-11-24 20:54:20 +02:00
Jouni Malinen
d10b13982d Add test-https for testing internal TLS client functionality
This tool can be used to test the internal TLS client implementation
against HTTPS servers.

Signed-hostap: Jouni Malinen <j@w1.fi>
2011-11-13 10:49:27 +02:00
Jouni Malinen
717cc12f60 Fix test-x509v3 build
Signed-hostap: Jouni Malinen <j@w1.fi>
2011-11-04 22:10:54 +02:00
Jouni Malinen
8d806cc2af test-sha1: Add test vectors from RFC 6070
The test with very large iterations count is commented out since it
takes quite long to derive (it does pass, though). In addition, the
last test vector is commented out since pbkdf2_sha1() does not support
arbitrary binary passphrases (\0 inside the string).
2011-01-10 20:41:04 +02:00
Jouni Malinen
dacf478352 Add generic doubly-linked list implementation 2009-12-19 13:43:25 +02:00
Jouni Malinen
655702f38d Move test_x509v3 into the new tests subdirectory 2009-12-06 18:10:52 +02:00
Jouni Malinen
0bc377fa93 Resolve circular library references with --start-group
src/crypto/libcrypto.a and src/tls/libtls.a have circular references
and will need special handling with the linker at least for the time
being. This could be cleaned up eventually, but for now, provide a
mechanism to get the programs linked.
2009-12-06 17:18:28 +02:00
Jouni Malinen
ab7ddc74ad Move asn1_test.c into tests subdirectory and split it in two
The new test-asn1 and test-x509 tools are built using libraries
from src/{utils,crypto,tls}. Currently, cross dependencies between
crypto and tls are still preventing the test-x509 from being linked
properly.
2009-12-06 16:45:36 +02:00
Jouni Malinen
1767f7c117 Resolve compiler warnings in the test programs 2009-12-05 22:32:45 +02:00
Jouni Malinen
f8cf3ce6a6 Move more tests from wpa_supplicant/tests into tests 2009-12-05 22:25:32 +02:00
Jouni Malinen
c7ab5122a7 Use simpler make rules for test programs 2009-12-05 22:14:55 +02:00
Jouni Malinen
e280cf6693 Get rid of some compiler warnings 2009-12-05 22:13:33 +02:00
Jouni Malinen
668562d5fb Move MD4 test from wpa_supplicant/tests into tests 2009-12-05 22:11:50 +02:00
Jouni Malinen
631afd993f Add rules for building src/crypto as a library
For now, this is hardcoded to support only the internal crypto
implementation.
2009-12-05 22:03:46 +02:00
Jouni Malinen
841b52b403 Include needed header files to avoid compiler warnings 2009-12-05 21:40:44 +02:00
Jouni Malinen
6a230ba274 Add build rules for building a library from src/utils files
This is an initial step on providing an alternative build system that
uses libraries from src subdirectories.
2009-12-05 21:39:41 +02:00
Jouni Malinen
953f83439b Move Milenage test code into the new tests directory 2009-12-05 21:14:08 +02:00
Jouni Malinen
8ad733d5ea Use auto-generated dependency files and clean them 2009-12-05 20:44:12 +02:00
Jouni Malinen
1801bd7fae Move base64 test code into a new tests subdirectory 2009-12-05 20:43:07 +02:00