@@ -67,9 +67,19 @@ foreach suite:test_suites
# special fast-test handling here
foreach t: suite_tests
params = t.split(':')
+ # check for valid options for asan and nohuge. Note, the extraction script runs tolower()
+ if params[1] != 'NOHUGE' and params[1] != 'HUGEPAGES'
+ error('Invalid parameter "@0@" for test "@1@". Must be NOHUGE or HUGEPAGES.'
+ .format(params[1], params[0]))
+ endif
+ if params[2] != 'ASAN' and params[2] != 'NOASAN'
+ error('Invalid parameter "@0@" for test "@1@". Must be ASAN or NOASAN.'
+ .format(params[2], params[0]))
+ endif
+
test_name = params[0]
- nohuge = params[1] == 'true'
- asan = params[2] == 'true'
+ nohuge = params[1] == 'NOHUGE'
+ asan = params[2] == 'ASAN'
test_args = []
if nohuge
@@ -207,9 +207,16 @@ void add_test_command(struct test_command *t);
/* Register a test function as a particular type.
* These can be used to build up test suites automatically
*/
-#define REGISTER_FAST_TEST(cmd, no_huge, ASan, func) REGISTER_TEST_COMMAND(cmd, func)
#define REGISTER_PERF_TEST REGISTER_TEST_COMMAND
#define REGISTER_DRIVER_TEST REGISTER_TEST_COMMAND
#define REGISTER_STRESS_TEST REGISTER_TEST_COMMAND
+/* fast tests are a bit special. They can be specified as supporting running without
+ * hugepages and/or under ASan.
+ * - The "no_huge" options should be passed as either "NOHUGE" or "HUGEPAGES"
+ * - The "ASan" options should be passed as either "ASAN" or "NOASAN"
+ */
+#define REGISTER_FAST_TEST(cmd, no_huge, ASan, func) REGISTER_TEST_COMMAND(cmd, func)
+
+
#endif
@@ -1748,4 +1748,4 @@ test_acl(void)
#endif /* !RTE_EXEC_ENV_WINDOWS */
-REGISTER_FAST_TEST(acl_autotest, true, true, test_acl);
+REGISTER_FAST_TEST(acl_autotest, NOHUGE, ASAN, test_acl);
@@ -76,4 +76,4 @@ test_alarm(void)
return 0;
}
-REGISTER_FAST_TEST(alarm_autotest, true, true, test_alarm);
+REGISTER_FAST_TEST(alarm_autotest, NOHUGE, ASAN, test_alarm);
@@ -1618,4 +1618,4 @@ test_argparse(void)
return unit_test_suite_runner(&argparse_test_suite);
}
-REGISTER_FAST_TEST(argparse_autotest, true, true, test_argparse);
+REGISTER_FAST_TEST(argparse_autotest, NOHUGE, ASAN, test_argparse);
@@ -632,5 +632,5 @@ test_atomic(void)
return 0;
}
-REGISTER_FAST_TEST(atomic_autotest, false, true, test_atomic);
+REGISTER_FAST_TEST(atomic_autotest, HUGEPAGES, ASAN, test_atomic);
#endif /* RTE_TOOLCHAIN_MSVC */
@@ -171,4 +171,4 @@ test_bitcount(void)
return unit_test_suite_runner(&bitcount_test_suite);
}
-REGISTER_FAST_TEST(bitcount_autotest, true, true, test_bitcount);
+REGISTER_FAST_TEST(bitcount_autotest, NOHUGE, ASAN, test_bitcount);
@@ -269,4 +269,4 @@ test_bitmap(void)
return test_bitmap_all_set();
}
-REGISTER_FAST_TEST(bitmap_autotest, true, true, test_bitmap);
+REGISTER_FAST_TEST(bitmap_autotest, NOHUGE, ASAN, test_bitmap);
@@ -438,4 +438,4 @@ test_bitops(void)
return unit_test_suite_runner(&test_suite);
}
-REGISTER_FAST_TEST(bitops_autotest, true, true, test_bitops);
+REGISTER_FAST_TEST(bitops_autotest, NOHUGE, ASAN, test_bitops);
@@ -249,4 +249,4 @@ test_bitratestats(void)
{
return unit_test_suite_runner(&bitratestats_testsuite);
}
-REGISTER_FAST_TEST(bitratestats_autotest, true, true, test_bitratestats);
+REGISTER_FAST_TEST(bitratestats_autotest, NOHUGE, ASAN, test_bitratestats);
@@ -909,4 +909,4 @@ test_bitset(void)
return unit_test_suite_runner(&bitset_tests);
}
-REGISTER_FAST_TEST(bitset_autotest, true, true, test_bitset);
+REGISTER_FAST_TEST(bitset_autotest, NOHUGE, ASAN, test_bitset);
@@ -3278,7 +3278,7 @@ test_bpf(void)
#endif /* !RTE_LIB_BPF */
-REGISTER_FAST_TEST(bpf_autotest, true, true, test_bpf);
+REGISTER_FAST_TEST(bpf_autotest, NOHUGE, ASAN, test_bpf);
#ifdef TEST_BPF_ELF_LOAD
@@ -3751,7 +3751,7 @@ test_bpf_elf(void)
#endif /* !TEST_BPF_ELF_LOAD */
-REGISTER_FAST_TEST(bpf_elf_autotest, true, true, test_bpf_elf);
+REGISTER_FAST_TEST(bpf_elf_autotest, NOHUGE, ASAN, test_bpf_elf);
#ifndef RTE_HAS_LIBPCAP
@@ -3969,4 +3969,4 @@ test_bpf_convert(void)
#endif /* RTE_HAS_LIBPCAP */
-REGISTER_FAST_TEST(bpf_convert_autotest, true, true, test_bpf_convert);
+REGISTER_FAST_TEST(bpf_convert_autotest, NOHUGE, ASAN, test_bpf_convert);
@@ -63,4 +63,4 @@ test_byteorder(void)
return 0;
}
-REGISTER_FAST_TEST(byteorder_autotest, true, true, test_byteorder);
+REGISTER_FAST_TEST(byteorder_autotest, NOHUGE, ASAN, test_byteorder);
@@ -399,4 +399,4 @@ test_cfgfile(void)
return unit_test_suite_runner(&test_cfgfile_suite);
}
-REGISTER_FAST_TEST(cfgfile_autotest, true, true, test_cfgfile);
+REGISTER_FAST_TEST(cfgfile_autotest, NOHUGE, ASAN, test_cfgfile);
@@ -267,4 +267,4 @@ test_cksum(void)
}
#undef GOTO_FAIL
-REGISTER_FAST_TEST(cksum_autotest, true, true, test_cksum);
+REGISTER_FAST_TEST(cksum_autotest, NOHUGE, ASAN, test_cksum);
@@ -60,4 +60,4 @@ test_cmdline(void)
return 0;
}
-REGISTER_FAST_TEST(cmdline_autotest, true, true, test_cmdline);
+REGISTER_FAST_TEST(cmdline_autotest, NOHUGE, ASAN, test_cmdline);
@@ -354,4 +354,4 @@ test_common(void)
return ret;
}
-REGISTER_FAST_TEST(common_autotest, true, true, test_common);
+REGISTER_FAST_TEST(common_autotest, NOHUGE, ASAN, test_common);
@@ -4255,4 +4255,4 @@ test_compressdev(void)
return unit_test_suite_runner(&compressdev_testsuite);
}
-REGISTER_FAST_TEST(compressdev_autotest, false, true, test_compressdev);
+REGISTER_FAST_TEST(compressdev_autotest, HUGEPAGES, ASAN, test_compressdev);
@@ -327,4 +327,4 @@ test_cpuflags(void)
return 0;
}
-REGISTER_FAST_TEST(cpuflags_autotest, true, true, test_cpuflags);
+REGISTER_FAST_TEST(cpuflags_autotest, NOHUGE, ASAN, test_cpuflags);
@@ -140,4 +140,4 @@ crc_autotest(void)
return ret;
}
-REGISTER_FAST_TEST(crc_autotest, true, true, crc_autotest);
+REGISTER_FAST_TEST(crc_autotest, NOHUGE, ASAN, crc_autotest);
@@ -53,4 +53,4 @@ test_user_delay_us(void)
return 0;
}
-REGISTER_FAST_TEST(user_delay_us, true, true, test_user_delay_us);
+REGISTER_FAST_TEST(user_delay_us, NOHUGE, ASAN, test_user_delay_us);
@@ -183,4 +183,4 @@ test_debug(void)
#endif /* !RTE_EXEC_ENV_WINDOWS */
-REGISTER_FAST_TEST(debug_autotest, true, true, test_debug);
+REGISTER_FAST_TEST(debug_autotest, NOHUGE, ASAN, test_debug);
@@ -320,4 +320,4 @@ test_devargs(void)
return 0;
}
-REGISTER_FAST_TEST(devargs_autotest, true, true, test_devargs);
+REGISTER_FAST_TEST(devargs_autotest, NOHUGE, ASAN, test_devargs);
@@ -1053,4 +1053,4 @@ test_dispatcher(void)
return unit_test_suite_runner(&test_suite);
}
-REGISTER_FAST_TEST(dispatcher_autotest, false, true, test_dispatcher);
+REGISTER_FAST_TEST(dispatcher_autotest, HUGEPAGES, ASAN, test_dispatcher);
@@ -953,4 +953,4 @@ test_distributor(void)
#endif /* !RTE_EXEC_ENV_WINDOWS */
-REGISTER_FAST_TEST(distributor_autotest, false, true, test_distributor);
+REGISTER_FAST_TEST(distributor_autotest, HUGEPAGES, ASAN, test_distributor);
@@ -1692,15 +1692,15 @@ test_memory_flags(void)
#endif /* !RTE_EXEC_ENV_WINDOWS */
-REGISTER_FAST_TEST(eal_flags_c_opt_autotest, false, false, test_missing_c_flag);
-REGISTER_FAST_TEST(eal_flags_main_opt_autotest, false, false, test_main_lcore_flag);
-REGISTER_FAST_TEST(eal_flags_n_opt_autotest, false, false, test_invalid_n_flag);
-REGISTER_FAST_TEST(eal_flags_hpet_autotest, false, false, test_no_hpet_flag);
-REGISTER_FAST_TEST(eal_flags_no_huge_autotest, false, false, test_no_huge_flag);
-REGISTER_FAST_TEST(eal_flags_a_opt_autotest, false, false, test_allow_flag);
-REGISTER_FAST_TEST(eal_flags_b_opt_autotest, false, false, test_invalid_b_flag);
-REGISTER_FAST_TEST(eal_flags_vdev_opt_autotest, false, false, test_invalid_vdev_flag);
-REGISTER_FAST_TEST(eal_flags_r_opt_autotest, false, false, test_invalid_r_flag);
-REGISTER_FAST_TEST(eal_flags_mem_autotest, false, false, test_memory_flags);
-REGISTER_FAST_TEST(eal_flags_file_prefix_autotest, false, false, test_file_prefix);
-REGISTER_FAST_TEST(eal_flags_misc_autotest, false, false, test_misc_flags);
+REGISTER_FAST_TEST(eal_flags_c_opt_autotest, HUGEPAGES, NOASAN, test_missing_c_flag);
+REGISTER_FAST_TEST(eal_flags_main_opt_autotest, HUGEPAGES, NOASAN, test_main_lcore_flag);
+REGISTER_FAST_TEST(eal_flags_n_opt_autotest, HUGEPAGES, NOASAN, test_invalid_n_flag);
+REGISTER_FAST_TEST(eal_flags_hpet_autotest, HUGEPAGES, NOASAN, test_no_hpet_flag);
+REGISTER_FAST_TEST(eal_flags_no_huge_autotest, HUGEPAGES, NOASAN, test_no_huge_flag);
+REGISTER_FAST_TEST(eal_flags_a_opt_autotest, HUGEPAGES, NOASAN, test_allow_flag);
+REGISTER_FAST_TEST(eal_flags_b_opt_autotest, HUGEPAGES, NOASAN, test_invalid_b_flag);
+REGISTER_FAST_TEST(eal_flags_vdev_opt_autotest, HUGEPAGES, NOASAN, test_invalid_vdev_flag);
+REGISTER_FAST_TEST(eal_flags_r_opt_autotest, HUGEPAGES, NOASAN, test_invalid_r_flag);
+REGISTER_FAST_TEST(eal_flags_mem_autotest, HUGEPAGES, NOASAN, test_memory_flags);
+REGISTER_FAST_TEST(eal_flags_file_prefix_autotest, HUGEPAGES, NOASAN, test_file_prefix);
+REGISTER_FAST_TEST(eal_flags_misc_autotest, HUGEPAGES, NOASAN, test_misc_flags);
@@ -185,4 +185,4 @@ test_eal_fs(void)
#endif /* !RTE_EXEC_ENV_WINDOWS */
-REGISTER_FAST_TEST(eal_fs_autotest, true, true, test_eal_fs);
+REGISTER_FAST_TEST(eal_fs_autotest, NOHUGE, ASAN, test_eal_fs);
@@ -94,4 +94,4 @@ test_errno(void)
return 0;
}
-REGISTER_FAST_TEST(errno_autotest, true, true, test_errno);
+REGISTER_FAST_TEST(errno_autotest, NOHUGE, ASAN, test_errno);
@@ -172,4 +172,4 @@ test_link_status(void)
return unit_test_suite_runner(&link_status_testsuite);
}
-REGISTER_FAST_TEST(ethdev_link_status, true, true, test_link_status);
+REGISTER_FAST_TEST(ethdev_link_status, NOHUGE, ASAN, test_link_status);
@@ -1625,5 +1625,5 @@ test_event_crypto_adapter(void)
#endif /* !RTE_EXEC_ENV_WINDOWS */
-REGISTER_FAST_TEST(event_crypto_adapter_autotest, true, true,
+REGISTER_FAST_TEST(event_crypto_adapter_autotest, NOHUGE, ASAN,
test_event_crypto_adapter);
@@ -1010,4 +1010,4 @@ test_event_eth_tx_adapter_common(void)
#endif /* !RTE_EXEC_ENV_WINDOWS */
-REGISTER_FAST_TEST(event_eth_tx_adapter_autotest, false, true, test_event_eth_tx_adapter_common);
+REGISTER_FAST_TEST(event_eth_tx_adapter_autotest, HUGEPAGES, ASAN, test_event_eth_tx_adapter_common);
@@ -256,4 +256,4 @@ test_event_ring(void)
#endif /* !RTE_EXEC_ENV_WINDOWS */
-REGISTER_FAST_TEST(event_ring_autotest, true, true, test_event_ring);
+REGISTER_FAST_TEST(event_ring_autotest, NOHUGE, ASAN, test_event_ring);
@@ -709,5 +709,5 @@ test_event_vector_adapter(void)
#endif
/* disabled because of reported failures, waiting for a fix
- * REGISTER_FAST_TEST(event_vector_adapter_autotest, true, true, test_event_vector_adapter);
+ * REGISTER_FAST_TEST(event_vector_adapter_autotest, NOHUGE, ASAN, test_event_vector_adapter);
*/
@@ -1529,10 +1529,10 @@ test_eventdev_selftest_cn20k(void)
#endif /* !RTE_EXEC_ENV_WINDOWS */
-REGISTER_FAST_TEST(eventdev_common_autotest, true, true, test_eventdev_common);
+REGISTER_FAST_TEST(eventdev_common_autotest, NOHUGE, ASAN, test_eventdev_common);
#ifndef RTE_EXEC_ENV_WINDOWS
-REGISTER_FAST_TEST(eventdev_selftest_sw, true, true, test_eventdev_selftest_sw);
+REGISTER_FAST_TEST(eventdev_selftest_sw, NOHUGE, ASAN, test_eventdev_selftest_sw);
REGISTER_DRIVER_TEST(eventdev_selftest_octeontx, test_eventdev_selftest_octeontx);
REGISTER_DRIVER_TEST(eventdev_selftest_dpaa2, test_eventdev_selftest_dpaa2);
REGISTER_DRIVER_TEST(eventdev_selftest_dlb2, test_eventdev_selftest_dlb2);
@@ -587,4 +587,4 @@ test_external_mem(void)
#endif /* !RTE_EXEC_ENV_WINDOWS */
-REGISTER_FAST_TEST(external_mem_autotest, false, true, test_external_mem);
+REGISTER_FAST_TEST(external_mem_autotest, HUGEPAGES, ASAN, test_external_mem);
@@ -933,4 +933,4 @@ test_fbarray(void)
return unit_test_suite_runner(&fbarray_test_suite);
}
-REGISTER_FAST_TEST(fbarray_autotest, true, true, test_fbarray);
+REGISTER_FAST_TEST(fbarray_autotest, NOHUGE, ASAN, test_fbarray);
@@ -629,5 +629,5 @@ test_slow_fib(void)
return unit_test_suite_runner(&fib_slow_tests);
}
-REGISTER_FAST_TEST(fib_autotest, true, true, test_fib);
+REGISTER_FAST_TEST(fib_autotest, NOHUGE, ASAN, test_fib);
REGISTER_PERF_TEST(fib_slow_autotest, test_slow_fib);
@@ -640,5 +640,5 @@ test_slow_fib6(void)
return unit_test_suite_runner(&fib6_slow_tests);
}
-REGISTER_FAST_TEST(fib6_autotest, true, true, test_fib6);
+REGISTER_FAST_TEST(fib6_autotest, NOHUGE, ASAN, test_fib6);
REGISTER_PERF_TEST(fib6_slow_autotest, test_slow_fib6);
@@ -511,4 +511,4 @@ test_func_reentrancy(void)
return 0;
}
-REGISTER_FAST_TEST(func_reentrancy_autotest, false, true, test_func_reentrancy);
+REGISTER_FAST_TEST(func_reentrancy_autotest, HUGEPAGES, ASAN, test_func_reentrancy);
@@ -1150,7 +1150,7 @@ graph_autotest_fn(void)
return unit_test_suite_runner(&graph_testsuite);
}
-REGISTER_FAST_TEST(graph_autotest, true, true, graph_autotest_fn);
+REGISTER_FAST_TEST(graph_autotest, NOHUGE, ASAN, graph_autotest_fn);
static int
test_node_list_dump(void)
@@ -1162,4 +1162,4 @@ test_node_list_dump(void)
#endif /* !RTE_EXEC_ENV_WINDOWS */
-REGISTER_FAST_TEST(node_list_dump, true, true, test_node_list_dump);
+REGISTER_FAST_TEST(node_list_dump, NOHUGE, ASAN, test_node_list_dump);
@@ -1368,6 +1368,6 @@ graph_feature_arc_autotest_fn(void)
return unit_test_suite_runner(&graph_feature_arc_testsuite);
}
-REGISTER_FAST_TEST(graph_feature_arc_autotest, true, true, graph_feature_arc_autotest_fn);
+REGISTER_FAST_TEST(graph_feature_arc_autotest, NOHUGE, ASAN, graph_feature_arc_autotest_fn);
#endif /* !RTE_EXEC_ENV_WINDOWS */
@@ -2405,4 +2405,4 @@ test_hash(void)
return 0;
}
-REGISTER_FAST_TEST(hash_autotest, true, true, test_hash);
+REGISTER_FAST_TEST(hash_autotest, NOHUGE, ASAN, test_hash);
@@ -775,5 +775,5 @@ test_hash_rw_func_main(void)
return 0;
}
-REGISTER_FAST_TEST(hash_readwrite_func_autotest, false, true, test_hash_rw_func_main);
+REGISTER_FAST_TEST(hash_readwrite_func_autotest, HUGEPAGES, ASAN, test_hash_rw_func_main);
REGISTER_PERF_TEST(hash_readwrite_perf_autotest, test_hash_rw_perf_main);
@@ -594,4 +594,4 @@ test_interrupt(void)
return ret;
}
-REGISTER_FAST_TEST(interrupt_autotest, true, true, test_interrupt);
+REGISTER_FAST_TEST(interrupt_autotest, NOHUGE, ASAN, test_interrupt);
@@ -505,4 +505,4 @@ test_ipfrag(void)
}
-REGISTER_FAST_TEST(ipfrag_autotest, false, true, test_ipfrag);
+REGISTER_FAST_TEST(ipfrag_autotest, HUGEPAGES, ASAN, test_ipfrag);
@@ -2617,4 +2617,4 @@ test_ipsec(void)
#endif /* !RTE_EXEC_ENV_WINDOWS */
-REGISTER_FAST_TEST(ipsec_autotest, true, true, test_ipsec);
+REGISTER_FAST_TEST(ipsec_autotest, NOHUGE, ASAN, test_ipsec);
@@ -899,4 +899,4 @@ test_ipsec_sad(void)
#endif /* !RTE_EXEC_ENV_WINDOWS */
-REGISTER_FAST_TEST(ipsec_sad_autotest, true, true, test_ipsec_sad);
+REGISTER_FAST_TEST(ipsec_sad_autotest, NOHUGE, ASAN, test_ipsec_sad);
@@ -364,4 +364,4 @@ test_kvargs(void)
return unit_test_suite_runner(&kvargs_test_suite);
}
-REGISTER_FAST_TEST(kvargs_autotest, true, true, test_kvargs);
+REGISTER_FAST_TEST(kvargs_autotest, NOHUGE, ASAN, test_kvargs);
@@ -246,4 +246,4 @@ static int test_latencystats(void)
return unit_test_suite_runner(&latencystats_testsuite);
}
-REGISTER_FAST_TEST(latencystats_autotest, true, true, test_latencystats);
+REGISTER_FAST_TEST(latencystats_autotest, NOHUGE, ASAN, test_latencystats);
@@ -411,4 +411,4 @@ static int test_lcore_var(void)
return unit_test_suite_runner(&lcore_var_testsuite);
}
-REGISTER_FAST_TEST(lcore_var_autotest, true, false, test_lcore_var);
+REGISTER_FAST_TEST(lcore_var_autotest, NOHUGE, NOASAN, test_lcore_var);
@@ -422,4 +422,4 @@ test_lcores(void)
return TEST_SUCCESS;
}
-REGISTER_FAST_TEST(lcores_autotest, true, true, test_lcores);
+REGISTER_FAST_TEST(lcores_autotest, NOHUGE, ASAN, test_lcores);
@@ -158,4 +158,4 @@ test_logs(void)
return 0;
}
-REGISTER_FAST_TEST(logs_autotest, true, true, test_logs);
+REGISTER_FAST_TEST(logs_autotest, NOHUGE, ASAN, test_logs);
@@ -1584,4 +1584,4 @@ test_lpm(void)
return global_status;
}
-REGISTER_FAST_TEST(lpm_autotest, true, true, test_lpm);
+REGISTER_FAST_TEST(lpm_autotest, NOHUGE, ASAN, test_lpm);
@@ -1767,4 +1767,4 @@ test_lpm6(void)
return global_status;
}
-REGISTER_FAST_TEST(lpm6_autotest, true, true, test_lpm6);
+REGISTER_FAST_TEST(lpm6_autotest, NOHUGE, ASAN, test_lpm6);
@@ -1166,4 +1166,4 @@ test_malloc(void)
return unit_test_suite_runner(&test_suite);
}
-REGISTER_FAST_TEST(malloc_autotest, false, true, test_malloc);
+REGISTER_FAST_TEST(malloc_autotest, HUGEPAGES, ASAN, test_malloc);
@@ -2953,4 +2953,4 @@ test_mbuf(void)
}
#undef GOTO_FAIL
-REGISTER_FAST_TEST(mbuf_autotest, false, true, test_mbuf);
+REGISTER_FAST_TEST(mbuf_autotest, HUGEPAGES, ASAN, test_mbuf);
@@ -241,4 +241,4 @@ test_mcslock(void)
return ret;
}
-REGISTER_FAST_TEST(mcslock_autotest, false, true, test_mcslock);
+REGISTER_FAST_TEST(mcslock_autotest, HUGEPAGES, ASAN, test_mcslock);
@@ -996,4 +996,4 @@ test_member(void)
#endif /* !RTE_EXEC_ENV_WINDOWS */
-REGISTER_FAST_TEST(member_autotest, true, true, test_member);
+REGISTER_FAST_TEST(member_autotest, NOHUGE, ASAN, test_member);
@@ -129,4 +129,4 @@ test_memcpy(void)
return 0;
}
-REGISTER_FAST_TEST(memcpy_autotest, true, true, test_memcpy);
+REGISTER_FAST_TEST(memcpy_autotest, NOHUGE, ASAN, test_memcpy);
@@ -110,4 +110,4 @@ test_memory(void)
return 0;
}
-REGISTER_FAST_TEST(memory_autotest, false, true, test_memory);
+REGISTER_FAST_TEST(memory_autotest, HUGEPAGES, ASAN, test_memory);
@@ -1122,4 +1122,4 @@ test_mempool(void)
return ret;
}
-REGISTER_FAST_TEST(mempool_autotest, false, true, test_mempool);
+REGISTER_FAST_TEST(mempool_autotest, HUGEPAGES, ASAN, test_mempool);
@@ -1162,4 +1162,4 @@ test_memzone(void)
return 0;
}
-REGISTER_FAST_TEST(memzone_autotest, false, true, test_memzone);
+REGISTER_FAST_TEST(memzone_autotest, HUGEPAGES, ASAN, test_memzone);
@@ -713,4 +713,4 @@ test_meter(void)
}
-REGISTER_FAST_TEST(meter_autotest, true, true, test_meter);
+REGISTER_FAST_TEST(meter_autotest, NOHUGE, ASAN, test_meter);
@@ -326,4 +326,4 @@ test_metrics(void)
return unit_test_suite_runner(&metrics_testsuite);
}
-REGISTER_FAST_TEST(metrics_autotest, true, true, test_metrics);
+REGISTER_FAST_TEST(metrics_autotest, NOHUGE, ASAN, test_metrics);
@@ -222,4 +222,4 @@ test_mp_secondary(void)
#endif /* !RTE_EXEC_ENV_WINDOWS */
-REGISTER_FAST_TEST(multiprocess_autotest, false, false, test_mp_secondary);
+REGISTER_FAST_TEST(multiprocess_autotest, HUGEPAGES, NOASAN, test_mp_secondary);
@@ -162,4 +162,4 @@ test_net_ether(void)
return 0;
}
-REGISTER_FAST_TEST(net_ether_autotest, true, true, test_net_ether);
+REGISTER_FAST_TEST(net_ether_autotest, NOHUGE, ASAN, test_net_ether);
@@ -218,4 +218,4 @@ test_net_ipv6(void)
return TEST_SUCCESS;
}
-REGISTER_FAST_TEST(net_ipv6_autotest, true, true, test_net_ipv6);
+REGISTER_FAST_TEST(net_ipv6_autotest, NOHUGE, ASAN, test_net_ipv6);
@@ -464,4 +464,4 @@ test_pcapng(void)
return unit_test_suite_runner(&test_pcapng_suite);
}
-REGISTER_FAST_TEST(pcapng_autotest, true, true, test_pcapng);
+REGISTER_FAST_TEST(pcapng_autotest, NOHUGE, ASAN, test_pcapng);
@@ -2388,4 +2388,4 @@ test_pdcp(void)
return ret;
}
-REGISTER_FAST_TEST(pdcp_autotest, false, true, test_pdcp);
+REGISTER_FAST_TEST(pdcp_autotest, HUGEPAGES, ASAN, test_pdcp);
@@ -218,4 +218,4 @@ test_pdump(void)
return TEST_SUCCESS;
}
-REGISTER_FAST_TEST(pdump_autotest, true, false, test_pdump);
+REGISTER_FAST_TEST(pdump_autotest, NOHUGE, NOASAN, test_pdump);
@@ -118,4 +118,4 @@ test_per_lcore(void)
return 0;
}
-REGISTER_FAST_TEST(per_lcore_autotest, true, true, test_per_lcore);
+REGISTER_FAST_TEST(per_lcore_autotest, NOHUGE, ASAN, test_per_lcore);
@@ -194,4 +194,4 @@ test_pflock(void)
return 0;
}
-REGISTER_FAST_TEST(pflock_autotest, true, true, test_pflock);
+REGISTER_FAST_TEST(pflock_autotest, NOHUGE, ASAN, test_pflock);
@@ -1082,6 +1082,6 @@ test_pie_all(void)
#endif /* !RTE_EXEC_ENV_WINDOWS */
-REGISTER_FAST_TEST(pie_autotest, true, true, test_pie);
+REGISTER_FAST_TEST(pie_autotest, NOHUGE, ASAN, test_pie);
REGISTER_PERF_TEST(pie_perf, test_pie_perf);
REGISTER_PERF_TEST(pie_all, test_pie_all);
@@ -593,4 +593,4 @@ test_pmd_ring(void)
return unit_test_suite_runner(&test_pmd_ring_suite);
}
-REGISTER_FAST_TEST(ring_pmd_autotest, true, true, test_pmd_ring);
+REGISTER_FAST_TEST(ring_pmd_autotest, NOHUGE, ASAN, test_pmd_ring);
@@ -53,5 +53,5 @@ test_pmu(void)
}
/* disabled because of reported failures, waiting for a fix
- * REGISTER_FAST_TEST(pmu_autotest, true, true, test_pmu);
+ * REGISTER_FAST_TEST(pmu_autotest, NOHUGE, ASAN, test_pmu);
*/
@@ -78,4 +78,4 @@ test_power(void)
}
#endif
-REGISTER_FAST_TEST(power_autotest, true, true, test_power);
+REGISTER_FAST_TEST(power_autotest, NOHUGE, ASAN, test_power);
@@ -678,5 +678,5 @@ test_power_caps(void)
#endif
-REGISTER_FAST_TEST(power_cpufreq_autotest, false, true, test_power_cpufreq);
+REGISTER_FAST_TEST(power_cpufreq_autotest, HUGEPAGES, ASAN, test_power_cpufreq);
REGISTER_TEST_COMMAND(power_caps_autotest, test_power_caps);
@@ -303,4 +303,4 @@ test_power_intel_uncore(void)
}
#endif
-REGISTER_FAST_TEST(power_intel_uncore_autotest, true, true, test_power_intel_uncore);
+REGISTER_FAST_TEST(power_intel_uncore_autotest, NOHUGE, ASAN, test_power_intel_uncore);
@@ -263,4 +263,4 @@ test_power_kvm_vm(void)
}
#endif
-REGISTER_FAST_TEST(power_kvm_vm_autotest, false, true, test_power_kvm_vm);
+REGISTER_FAST_TEST(power_kvm_vm_autotest, HUGEPAGES, ASAN, test_power_kvm_vm);
@@ -35,4 +35,4 @@ test_prefetch(void)
return 0;
}
-REGISTER_FAST_TEST(prefetch_autotest, true, true, test_prefetch);
+REGISTER_FAST_TEST(prefetch_autotest, NOHUGE, ASAN, test_prefetch);
@@ -190,4 +190,4 @@ test_ptr_compress(void)
return 0;
}
-REGISTER_FAST_TEST(ptr_compress_autotest, true, true, test_ptr_compress);
+REGISTER_FAST_TEST(ptr_compress_autotest, NOHUGE, ASAN, test_ptr_compress);
@@ -74,4 +74,4 @@ test_rawdev_selftests(void)
#endif /* !RTE_EXEC_ENV_WINDOWS */
-REGISTER_FAST_TEST(rawdev_autotest, true, true, test_rawdev_selftests);
+REGISTER_FAST_TEST(rawdev_autotest, NOHUGE, ASAN, test_rawdev_selftests);
@@ -1418,4 +1418,4 @@ test_rcu_qsbr_main(void)
return -1;
}
-REGISTER_FAST_TEST(rcu_qsbr_autotest, true, true, test_rcu_qsbr_main);
+REGISTER_FAST_TEST(rcu_qsbr_autotest, NOHUGE, ASAN, test_rcu_qsbr_main);
@@ -1872,6 +1872,6 @@ test_red_all(void)
#endif /* !RTE_EXEC_ENV_WINDOWS */
-REGISTER_FAST_TEST(red_autotest, true, true, test_red);
+REGISTER_FAST_TEST(red_autotest, NOHUGE, ASAN, test_red);
REGISTER_PERF_TEST(red_perf, test_red_perf);
REGISTER_PERF_TEST(red_all, test_red_all);
@@ -552,4 +552,4 @@ test_reorder(void)
}
-REGISTER_FAST_TEST(reorder_autotest, true, true, test_reorder);
+REGISTER_FAST_TEST(reorder_autotest, NOHUGE, ASAN, test_reorder);
@@ -363,5 +363,5 @@ test_slow_rib(void)
return unit_test_suite_runner(&rib_slow_tests);
}
-REGISTER_FAST_TEST(rib_autotest, true, true, test_rib);
+REGISTER_FAST_TEST(rib_autotest, NOHUGE, ASAN, test_rib);
REGISTER_PERF_TEST(rib_slow_autotest, test_slow_rib);
@@ -362,5 +362,5 @@ test_slow_rib6(void)
return unit_test_suite_runner(&rib6_slow_tests);
}
-REGISTER_FAST_TEST(rib6_autotest, true, true, test_rib6);
+REGISTER_FAST_TEST(rib6_autotest, NOHUGE, ASAN, test_rib6);
REGISTER_PERF_TEST(rib6_slow_autotest, test_slow_rib6);
@@ -1248,4 +1248,4 @@ test_ring(void)
return -1;
}
-REGISTER_FAST_TEST(ring_autotest, true, true, test_ring);
+REGISTER_FAST_TEST(ring_autotest, NOHUGE, ASAN, test_ring);
@@ -507,7 +507,7 @@ try_rwlock_test_rde_wro(void)
return process_try_lcore_stats();
}
-REGISTER_FAST_TEST(rwlock_test1_autotest, true, true, rwlock_test1);
-REGISTER_FAST_TEST(rwlock_rda_autotest, true, true, try_rwlock_test_rda);
-REGISTER_FAST_TEST(rwlock_rds_wrm_autotest, true, true, try_rwlock_test_rds_wrm);
-REGISTER_FAST_TEST(rwlock_rde_wro_autotest, true, true, try_rwlock_test_rde_wro);
+REGISTER_FAST_TEST(rwlock_test1_autotest, NOHUGE, ASAN, rwlock_test1);
+REGISTER_FAST_TEST(rwlock_rda_autotest, NOHUGE, ASAN, try_rwlock_test_rda);
+REGISTER_FAST_TEST(rwlock_rds_wrm_autotest, NOHUGE, ASAN, try_rwlock_test_rds_wrm);
+REGISTER_FAST_TEST(rwlock_rde_wro_autotest, NOHUGE, ASAN, try_rwlock_test_rde_wro);
@@ -215,4 +215,4 @@ test_sched(void)
#endif /* !RTE_EXEC_ENV_WINDOWS */
-REGISTER_FAST_TEST(sched_autotest, true, true, test_sched);
+REGISTER_FAST_TEST(sched_autotest, NOHUGE, ASAN, test_sched);
@@ -2314,4 +2314,4 @@ test_security(void)
return unit_test_suite_runner(&security_testsuite);
}
-REGISTER_FAST_TEST(security_autotest, false, true, test_security);
+REGISTER_FAST_TEST(security_autotest, HUGEPAGES, ASAN, test_security);
@@ -187,4 +187,4 @@ test_seqlock(void)
return rc;
}
-REGISTER_FAST_TEST(seqlock_autotest, true, true, test_seqlock);
+REGISTER_FAST_TEST(seqlock_autotest, NOHUGE, ASAN, test_seqlock);
@@ -1081,7 +1081,7 @@ test_service_common(void)
return unit_test_suite_runner(&service_tests);
}
-REGISTER_FAST_TEST(service_autotest, true, true, test_service_common);
+REGISTER_FAST_TEST(service_autotest, NOHUGE, ASAN, test_service_common);
static struct unit_test_suite service_perf_tests = {
.suite_name = "service core performance test suite",
@@ -438,4 +438,4 @@ test_soring(void)
return -1;
}
-REGISTER_FAST_TEST(soring_autotest, true, true, test_soring);
+REGISTER_FAST_TEST(soring_autotest, NOHUGE, ASAN, test_soring);
@@ -303,4 +303,4 @@ test_spinlock(void)
return ret;
}
-REGISTER_FAST_TEST(spinlock_autotest, true, true, test_spinlock);
+REGISTER_FAST_TEST(spinlock_autotest, NOHUGE, ASAN, test_spinlock);
@@ -379,5 +379,5 @@ test_lf_stack(void)
#endif
}
-REGISTER_FAST_TEST(stack_autotest, false, true, test_stack);
-REGISTER_FAST_TEST(stack_lf_autotest, false, true, test_lf_stack);
+REGISTER_FAST_TEST(stack_autotest, HUGEPAGES, ASAN, test_stack);
+REGISTER_FAST_TEST(stack_lf_autotest, HUGEPAGES, ASAN, test_lf_stack);
@@ -328,4 +328,4 @@ test_string_fns(void)
return 0;
}
-REGISTER_FAST_TEST(string_autotest, true, true, test_string_fns);
+REGISTER_FAST_TEST(string_autotest, NOHUGE, ASAN, test_string_fns);
@@ -206,4 +206,4 @@ test_table(void)
#endif /* !RTE_EXEC_ENV_WINDOWS */
-REGISTER_FAST_TEST(table_autotest, true, true, test_table);
+REGISTER_FAST_TEST(table_autotest, NOHUGE, ASAN, test_table);
@@ -125,4 +125,4 @@ test_tailq(void)
return ret;
}
-REGISTER_FAST_TEST(tailq_autotest, true, true, test_tailq);
+REGISTER_FAST_TEST(tailq_autotest, NOHUGE, ASAN, test_tailq);
@@ -615,4 +615,4 @@ telemetry_data_autotest(void)
}
#endif /* !RTE_EXEC_ENV_WINDOWS */
-REGISTER_FAST_TEST(telemetry_data_autotest, true, true, telemetry_data_autotest);
+REGISTER_FAST_TEST(telemetry_data_autotest, NOHUGE, ASAN, telemetry_data_autotest);
@@ -213,4 +213,4 @@ test_telemetry_json(void)
return 0;
}
-REGISTER_FAST_TEST(telemetry_json_autotest, true, true, test_telemetry_json);
+REGISTER_FAST_TEST(telemetry_json_autotest, NOHUGE, ASAN, test_telemetry_json);
@@ -1060,4 +1060,4 @@ test_thash(void)
return unit_test_suite_runner(&thash_tests);
}
-REGISTER_FAST_TEST(thash_autotest, true, true, test_thash);
+REGISTER_FAST_TEST(thash_autotest, NOHUGE, ASAN, test_thash);
@@ -280,4 +280,4 @@ test_threads(void)
return unit_test_suite_runner(&threads_test_suite);
}
-REGISTER_FAST_TEST(threads_autotest, true, true, test_threads);
+REGISTER_FAST_TEST(threads_autotest, NOHUGE, ASAN, test_threads);
@@ -315,4 +315,4 @@ test_ticketlock(void)
return ret;
}
-REGISTER_FAST_TEST(ticketlock_autotest, true, true, test_ticketlock);
+REGISTER_FAST_TEST(ticketlock_autotest, NOHUGE, ASAN, test_ticketlock);
@@ -601,4 +601,4 @@ test_timer(void)
return TEST_SUCCESS;
}
-REGISTER_FAST_TEST(timer_autotest, false, true, test_timer);
+REGISTER_FAST_TEST(timer_autotest, HUGEPAGES, ASAN, test_timer);
@@ -224,4 +224,4 @@ test_timer_secondary(void)
#endif /* !RTE_EXEC_ENV_WINDOWS */
-REGISTER_FAST_TEST(timer_secondary_autotest, false, true, test_timer_secondary);
+REGISTER_FAST_TEST(timer_secondary_autotest, HUGEPAGES, ASAN, test_timer_secondary);
@@ -254,4 +254,4 @@ test_trace(void)
#endif /* !RTE_EXEC_ENV_WINDOWS */
-REGISTER_FAST_TEST(trace_autotest, true, true, test_trace);
+REGISTER_FAST_TEST(trace_autotest, NOHUGE, ASAN, test_trace);
@@ -166,4 +166,4 @@ test_vdev(void)
return 0;
}
-REGISTER_FAST_TEST(vdev_autotest, true, true, test_vdev);
+REGISTER_FAST_TEST(vdev_autotest, NOHUGE, ASAN, test_vdev);
@@ -25,4 +25,4 @@ test_version(void)
return 0;
}
-REGISTER_FAST_TEST(version_autotest, true, true, test_version);
+REGISTER_FAST_TEST(version_autotest, NOHUGE, ASAN, test_version);
@@ -18,7 +18,7 @@ def get_fast_test_params(test_name, ln):
"Extract the extra fast-test parameters from the line"
(_, rest_of_line) = ln.split(test_name, 1)
(_, nohuge, asan, _func) = rest_of_line.split(',', 3)
- return f":{nohuge.strip().lower()}:{asan.strip().lower()}"
+ return f":{nohuge.strip()}:{asan.strip()}"
for fname in input_list:
with open(fname, "r", encoding="utf-8") as f:
@@ -188,9 +188,11 @@ There are two important functions for interacting with the test harness:
The test is automatically added to the Meson test suite `<MESON_SUITE>` by this macro.
Examples would be ``REGISTER_DRIVER_TEST``, or ``REGISTER_PERF_TEST``.
**NOTE:** The ``REGISTER_FAST_TEST`` macro is slightly different,
- in that it takes two additional parameters,
- specifying whether the test can be run using ``--no-huge``,
- and whether the test can be run using Address Sanitization (ASAN)
+ in that it takes two additional parameters before the function name:
+ the hugepage requirement (``NOHUGE`` if the test can run without hugepages,
+ or ``HUGEPAGES`` if hugepages are required),
+ and Address Sanitizer compatibility (``ASAN`` if the test can run with ASan enabled,
+ or ``NOASAN`` if it cannot).
``unit_test_suite_runner(struct unit_test_suite *)``
Returns a runner for a full test suite object,
@@ -318,7 +320,7 @@ of the unit test suite structure, for example:
return ret;
}
- REGISTER_FAST_TEST(example_autotest, true /*no-huge*/, false /*ASan*/, example_tests);
+ REGISTER_FAST_TEST(example_autotest, NOHUGE, ASAN, example_tests);
Designing a test