diff --git a/tests/hwsim/vm/parallel-vm.py b/tests/hwsim/vm/parallel-vm.py index a1adec8f0..e55dfee27 100755 --- a/tests/hwsim/vm/parallel-vm.py +++ b/tests/hwsim/vm/parallel-vm.py @@ -16,6 +16,54 @@ import time logger = logging.getLogger() +# Test cases that take significantly longer time to execute than average. +long_tests = [ "ap_roam_open", + "wpas_mesh_password_mismatch_retry", + "wpas_mesh_password_mismatch", + "hostapd_oom_wpa2_psk_connect", + "ap_hs20_fetch_osu_stop", + "ap_roam_wpa2_psk", + "ibss_wpa_none_ccmp", + "nfc_wps_er_handover_pk_hash_mismatch_sta", + "go_neg_peers_force_diff_freq", + "p2p_cli_invite", + "sta_ap_scan_2b", + "ap_pmf_sta_unprot_deauth_burst", + "ap_bss_add_remove_during_ht_scan", + "wext_scan_hidden", + "autoscan_exponential", + "nfc_p2p_client", + "wnm_bss_keep_alive", + "ap_inactivity_disconnect", + "scan_bss_expiration_age", + "autoscan_periodic", + "discovery_group_client", + "concurrent_p2pcli", + "ap_bss_add_remove", + "wpas_ap_wps", + "wext_pmksa_cache", + "ibss_wpa_none", + "ap_ht_40mhz_intolerant_ap", + "ibss_rsn", + "discovery_pd_retries", + "ap_wps_setup_locked_timeout", + "ap_vht160", + "dfs_radar", + "dfs", + "grpform_cred_ready_timeout", + "hostapd_oom_wpa2_eap_connect", + "wpas_ap_dfs", + "autogo_many", + "hostapd_oom_wpa2_eap", + "ibss_open", + "proxyarp_open_ebtables", + "radius_failover", + "obss_scan_40_intolerant", + "dbus_connect_oom", + "proxyarp_open", + "ap_wps_iteration", + "ap_wps_pbc_timeout" ] + def get_failed(vm): failed = [] for i in range(num_servers): @@ -276,6 +324,9 @@ def main(): help="enable code coverage collection") p.add_argument('--shuffle-tests', dest='shuffle', action='store_const', const=True, default=False, help="shuffle test cases to randomize order") + p.add_argument('--short', dest='short', action='store_const', const=True, + default=False, + help="only run short-duration test cases") p.add_argument('--long', dest='long', action='store_const', const=True, default=False, help="include long-duration test cases") @@ -327,47 +378,12 @@ def main(): # optimization to avoid last part of the test execution running a long # duration test case on a single VM while all other VMs have already # completed their work. - long = [ "ap_roam_open", - "wpas_mesh_password_mismatch_retry", - "wpas_mesh_password_mismatch", - "hostapd_oom_wpa2_psk_connect", - "ap_hs20_fetch_osu_stop", - "ap_roam_wpa2_psk", - "ibss_wpa_none_ccmp", - "nfc_wps_er_handover_pk_hash_mismatch_sta", - "go_neg_peers_force_diff_freq", - "p2p_cli_invite", - "sta_ap_scan_2b", - "ap_pmf_sta_unprot_deauth_burst", - "ap_bss_add_remove_during_ht_scan", - "wext_scan_hidden", - "autoscan_exponential", - "nfc_p2p_client", - "wnm_bss_keep_alive", - "ap_inactivity_disconnect", - "scan_bss_expiration_age", - "autoscan_periodic", - "discovery_group_client", - "concurrent_p2pcli", - "ap_bss_add_remove", - "wpas_ap_wps", - "wext_pmksa_cache", - "ibss_wpa_none", - "ap_ht_40mhz_intolerant_ap", - "ibss_rsn", - "discovery_pd_retries", - "ap_wps_setup_locked_timeout", - "ap_vht160", - "dfs_radar", - "dfs", - "grpform_cred_ready_timeout", - "hostapd_oom_wpa2_eap_connect", - "wpas_ap_dfs", - "ap_wps_pbc_timeout" ] - for l in long: + for l in long_tests: if l in tests: tests.remove(l) tests.insert(0, l) + if args.short: + tests = [t for t in tests if t not in long_tests] logger.setLevel(debug_level) log_handler = logging.FileHandler('parallel-vm.log')