[v5,02/10] app/test: tag tests with the test type

Message ID 20230815151053.996469-3-bruce.richardson@intel.com (mailing list archive)
State New
Headers
Series expand list of optional libraries |

Commit Message

Bruce Richardson Aug. 15, 2023, 3:10 p.m. UTC
  Rather than having the test types called out in the meson.build file, we
can use macros to identify the test type in the C file itself and then
dynamically build up the tests lists at config time.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
---
 app/test/test_acl.c                      |  2 +-
 app/test/test_atomic.c                   |  2 +-
 app/test/test_barrier.c                  |  2 +-
 app/test/test_bitmap.c                   |  2 +-
 app/test/test_bitops.c                   |  2 +-
 app/test/test_bpf.c                      |  4 +--
 app/test/test_byteorder.c                |  2 +-
 app/test/test_cksum.c                    |  2 +-
 app/test/test_cmdline.c                  |  2 +-
 app/test/test_common.c                   |  2 +-
 app/test/test_cpuflags.c                 |  2 +-
 app/test/test_crc.c                      |  2 +-
 app/test/test_cryptodev.c                | 38 ++++++++++++------------
 app/test/test_cryptodev_asym.c           |  2 +-
 app/test/test_cycles.c                   |  2 +-
 app/test/test_debug.c                    |  2 +-
 app/test/test_devargs.c                  |  2 +-
 app/test/test_distributor.c              |  2 +-
 app/test/test_distributor_perf.c         |  2 +-
 app/test/test_dmadev.c                   |  2 +-
 app/test/test_eal_flags.c                | 24 +++++++--------
 app/test/test_eal_fs.c                   |  2 +-
 app/test/test_efd.c                      |  2 +-
 app/test/test_efd_perf.c                 |  2 +-
 app/test/test_errno.c                    |  2 +-
 app/test/test_ethdev_link.c              |  2 +-
 app/test/test_event_ring.c               |  2 +-
 app/test/test_eventdev.c                 |  2 +-
 app/test/test_fbarray.c                  |  2 +-
 app/test/test_fib.c                      |  4 +--
 app/test/test_fib6.c                     |  4 +--
 app/test/test_fib6_perf.c                |  2 +-
 app/test/test_fib_perf.c                 |  2 +-
 app/test/test_func_reentrancy.c          |  2 +-
 app/test/test_hash.c                     |  2 +-
 app/test/test_hash_functions.c           |  2 +-
 app/test/test_hash_multiwriter.c         |  2 +-
 app/test/test_hash_perf.c                |  2 +-
 app/test/test_hash_readwrite.c           |  4 +--
 app/test/test_hash_readwrite_lf_perf.c   |  2 +-
 app/test/test_interrupts.c               |  2 +-
 app/test/test_ipfrag.c                   |  2 +-
 app/test/test_ipsec.c                    |  2 +-
 app/test/test_ipsec_perf.c               |  2 +-
 app/test/test_kvargs.c                   |  2 +-
 app/test/test_lcores.c                   |  2 +-
 app/test/test_logs.c                     |  2 +-
 app/test/test_lpm.c                      |  2 +-
 app/test/test_lpm6.c                     |  2 +-
 app/test/test_lpm6_perf.c                |  2 +-
 app/test/test_lpm_perf.c                 |  2 +-
 app/test/test_malloc.c                   |  2 +-
 app/test/test_malloc_perf.c              |  2 +-
 app/test/test_mbuf.c                     |  2 +-
 app/test/test_mcslock.c                  |  2 +-
 app/test/test_member.c                   |  2 +-
 app/test/test_member_perf.c              |  2 +-
 app/test/test_memcpy.c                   |  2 +-
 app/test/test_memcpy_perf.c              |  2 +-
 app/test/test_memory.c                   |  2 +-
 app/test/test_mempool.c                  |  2 +-
 app/test/test_mempool_perf.c             |  2 +-
 app/test/test_memzone.c                  |  2 +-
 app/test/test_meter.c                    |  2 +-
 app/test/test_mp_secondary.c             |  2 +-
 app/test/test_per_lcore.c                |  2 +-
 app/test/test_pflock.c                   |  2 +-
 app/test/test_pie.c                      |  6 ++--
 app/test/test_pmd_perf.c                 |  2 +-
 app/test/test_power.c                    |  2 +-
 app/test/test_power_cpufreq.c            |  2 +-
 app/test/test_power_intel_uncore.c       |  2 +-
 app/test/test_power_kvm_vm.c             |  2 +-
 app/test/test_prefetch.c                 |  2 +-
 app/test/test_rand_perf.c                |  2 +-
 app/test/test_rcu_qsbr.c                 |  2 +-
 app/test/test_rcu_qsbr_perf.c            |  2 +-
 app/test/test_reassembly_perf.c          |  2 +-
 app/test/test_reciprocal_division.c      |  2 +-
 app/test/test_reciprocal_division_perf.c |  2 +-
 app/test/test_red.c                      |  4 +--
 app/test/test_reorder.c                  |  2 +-
 app/test/test_rib.c                      |  4 +--
 app/test/test_rib6.c                     |  4 +--
 app/test/test_ring.c                     |  2 +-
 app/test/test_ring_perf.c                |  2 +-
 app/test/test_rwlock.c                   |  8 ++---
 app/test/test_sched.c                    |  2 +-
 app/test/test_security.c                 |  2 +-
 app/test/test_seqlock.c                  |  2 +-
 app/test/test_service_cores.c            |  4 +--
 app/test/test_spinlock.c                 |  2 +-
 app/test/test_stack.c                    |  4 +--
 app/test/test_stack_perf.c               |  4 +--
 app/test/test_string_fns.c               |  2 +-
 app/test/test_tailq.c                    |  2 +-
 app/test/test_thash.c                    |  2 +-
 app/test/test_thash_perf.c               |  2 +-
 app/test/test_threads.c                  |  2 +-
 app/test/test_ticketlock.c               |  2 +-
 app/test/test_timer.c                    |  2 +-
 app/test/test_timer_perf.c               |  2 +-
 app/test/test_timer_racecond.c           |  2 +-
 app/test/test_trace.c                    |  2 +-
 app/test/test_trace_perf.c               |  2 +-
 app/test/test_version.c                  |  2 +-
 106 files changed, 150 insertions(+), 150 deletions(-)
  

Comments

David Marchand Aug. 16, 2023, 2:56 p.m. UTC | #1
On Tue, Aug 15, 2023 at 5:23 PM Bruce Richardson
<bruce.richardson@intel.com> wrote:
> diff --git a/app/test/test_acl.c b/app/test/test_acl.c
> index 623f34682e..bf1466fe11 100644
> --- a/app/test/test_acl.c
> +++ b/app/test/test_acl.c
> @@ -1749,4 +1749,4 @@ test_acl(void)
>
>  #endif /* !RTE_EXEC_ENV_WINDOWS */
>
> -REGISTER_TEST_COMMAND(acl_autotest, test_acl);
> +REGISTER_FAST_TEST(acl_autotest, True, True, test_acl);

A bit surprising to read "True" and not "true" in some C code.
I see meson supports both forms.
Do you have a reason to go with "True"?
Maybe you prefer to keep it like this so it is not confused with the C
boolean keyword?
  
Bruce Richardson Aug. 16, 2023, 3:05 p.m. UTC | #2
On Wed, Aug 16, 2023 at 04:56:23PM +0200, David Marchand wrote:
> On Tue, Aug 15, 2023 at 5:23 PM Bruce Richardson
> <bruce.richardson@intel.com> wrote:
> > diff --git a/app/test/test_acl.c b/app/test/test_acl.c
> > index 623f34682e..bf1466fe11 100644
> > --- a/app/test/test_acl.c
> > +++ b/app/test/test_acl.c
> > @@ -1749,4 +1749,4 @@ test_acl(void)
> >
> >  #endif /* !RTE_EXEC_ENV_WINDOWS */
> >
> > -REGISTER_TEST_COMMAND(acl_autotest, test_acl);
> > +REGISTER_FAST_TEST(acl_autotest, True, True, test_acl);
> 
> A bit surprising to read "True" and not "true" in some C code.
> I see meson supports both forms.
> Do you have a reason to go with "True"?
> Maybe you prefer to keep it like this so it is not confused with the C
> boolean keyword?
> 
This info is pulled out by python script, so I believe it is capitalized so
I can process them as boolean values there.
However, looking at the script, it doesn't actually ever convert to boolean
right now, so this may be a holdover from earlier versions. When we pass
the values to meson, they are all forced to lowercase.

/Bruce
  

Patch

diff --git a/app/test/test_acl.c b/app/test/test_acl.c
index 623f34682e..bf1466fe11 100644
--- a/app/test/test_acl.c
+++ b/app/test/test_acl.c
@@ -1749,4 +1749,4 @@  test_acl(void)
 
 #endif /* !RTE_EXEC_ENV_WINDOWS */
 
-REGISTER_TEST_COMMAND(acl_autotest, test_acl);
+REGISTER_FAST_TEST(acl_autotest, True, True, test_acl);
diff --git a/app/test/test_atomic.c b/app/test/test_atomic.c
index e4b997827e..b52420c10b 100644
--- a/app/test/test_atomic.c
+++ b/app/test/test_atomic.c
@@ -631,4 +631,4 @@  test_atomic(void)
 
 	return 0;
 }
-REGISTER_TEST_COMMAND(atomic_autotest, test_atomic);
+REGISTER_FAST_TEST(atomic_autotest, False, True, test_atomic);
diff --git a/app/test/test_barrier.c b/app/test/test_barrier.c
index ec69af25bf..925a88b68a 100644
--- a/app/test/test_barrier.c
+++ b/app/test/test_barrier.c
@@ -285,4 +285,4 @@  test_barrier(void)
 	return ret;
 }
 
-REGISTER_TEST_COMMAND(barrier_autotest, test_barrier);
+REGISTER_PERF_TEST(barrier_autotest, test_barrier);
diff --git a/app/test/test_bitmap.c b/app/test/test_bitmap.c
index e9c61590ae..2014d2682c 100644
--- a/app/test/test_bitmap.c
+++ b/app/test/test_bitmap.c
@@ -269,4 +269,4 @@  test_bitmap(void)
 	return test_bitmap_all_set();
 }
 
-REGISTER_TEST_COMMAND(bitmap_autotest, test_bitmap);
+REGISTER_FAST_TEST(bitmap_autotest, True, True, test_bitmap);
diff --git a/app/test/test_bitops.c b/app/test/test_bitops.c
index c21426bf2f..dac466602b 100644
--- a/app/test/test_bitops.c
+++ b/app/test/test_bitops.c
@@ -135,4 +135,4 @@  test_bitops(void)
 	return TEST_SUCCESS;
 }
 
-REGISTER_TEST_COMMAND(bitops_autotest, test_bitops);
+REGISTER_FAST_TEST(bitops_autotest, True, True, test_bitops);
diff --git a/app/test/test_bpf.c b/app/test/test_bpf.c
index f5af5e8a3f..5fef17fbc2 100644
--- a/app/test/test_bpf.c
+++ b/app/test/test_bpf.c
@@ -3262,7 +3262,7 @@  test_bpf(void)
 
 #endif /* !RTE_LIB_BPF */
 
-REGISTER_TEST_COMMAND(bpf_autotest, test_bpf);
+REGISTER_FAST_TEST(bpf_autotest, True, True, test_bpf);
 
 #ifndef RTE_HAS_LIBPCAP
 
@@ -3473,4 +3473,4 @@  test_bpf_convert(void)
 
 #endif /* RTE_HAS_LIBPCAP */
 
-REGISTER_TEST_COMMAND(bpf_convert_autotest, test_bpf_convert);
+REGISTER_FAST_TEST(bpf_convert_autotest, True, True, test_bpf_convert);
diff --git a/app/test/test_byteorder.c b/app/test/test_byteorder.c
index de14ed539e..2189f94744 100644
--- a/app/test/test_byteorder.c
+++ b/app/test/test_byteorder.c
@@ -63,4 +63,4 @@  test_byteorder(void)
 	return 0;
 }
 
-REGISTER_TEST_COMMAND(byteorder_autotest, test_byteorder);
+REGISTER_FAST_TEST(byteorder_autotest, True, True, test_byteorder);
diff --git a/app/test/test_cksum.c b/app/test/test_cksum.c
index 6c15de9a93..c04fae800e 100644
--- a/app/test/test_cksum.c
+++ b/app/test/test_cksum.c
@@ -267,4 +267,4 @@  test_cksum(void)
 }
 #undef GOTO_FAIL
 
-REGISTER_TEST_COMMAND(cksum_autotest, test_cksum);
+REGISTER_FAST_TEST(cksum_autotest, True, True, test_cksum);
diff --git a/app/test/test_cmdline.c b/app/test/test_cmdline.c
index 115bee966d..c2a375ac1c 100644
--- a/app/test/test_cmdline.c
+++ b/app/test/test_cmdline.c
@@ -60,4 +60,4 @@  test_cmdline(void)
 	return 0;
 }
 
-REGISTER_TEST_COMMAND(cmdline_autotest, test_cmdline);
+REGISTER_FAST_TEST(cmdline_autotest, True, True, test_cmdline);
diff --git a/app/test/test_common.c b/app/test/test_common.c
index f89e1eb7ee..c7b41a3f0e 100644
--- a/app/test/test_common.c
+++ b/app/test/test_common.c
@@ -350,4 +350,4 @@  test_common(void)
 	return ret;
 }
 
-REGISTER_TEST_COMMAND(common_autotest, test_common);
+REGISTER_FAST_TEST(common_autotest, True, True, test_common);
diff --git a/app/test/test_cpuflags.c b/app/test/test_cpuflags.c
index a0e342ae48..c3417dda24 100644
--- a/app/test/test_cpuflags.c
+++ b/app/test/test_cpuflags.c
@@ -334,4 +334,4 @@  test_cpuflags(void)
 	return 0;
 }
 
-REGISTER_TEST_COMMAND(cpuflags_autotest, test_cpuflags);
+REGISTER_FAST_TEST(cpuflags_autotest, True, True, test_cpuflags);
diff --git a/app/test/test_crc.c b/app/test/test_crc.c
index 5edc8fb13b..b267bdde9f 100644
--- a/app/test/test_crc.c
+++ b/app/test/test_crc.c
@@ -171,4 +171,4 @@  test_crc(void)
 	return 0;
 }
 
-REGISTER_TEST_COMMAND(crc_autotest, test_crc);
+REGISTER_FAST_TEST(crc_autotest, True, True, test_crc);
diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c
index fb2af40b99..956268bfcd 100644
--- a/app/test/test_cryptodev.c
+++ b/app/test/test_cryptodev.c
@@ -17535,33 +17535,33 @@  REGISTER_TEST_COMMAND(cryptodev_dpaa2_sec_raw_api_autotest,
 		test_cryptodev_dpaa2_sec_raw_api);
 REGISTER_TEST_COMMAND(cryptodev_dpaa_sec_raw_api_autotest,
 		test_cryptodev_dpaa_sec_raw_api);
-REGISTER_TEST_COMMAND(cryptodev_qat_raw_api_autotest,
+REGISTER_DRIVER_TEST(cryptodev_qat_raw_api_autotest,
 		test_cryptodev_qat_raw_api);
-REGISTER_TEST_COMMAND(cryptodev_qat_autotest, test_cryptodev_qat);
-REGISTER_TEST_COMMAND(cryptodev_aesni_mb_autotest, test_cryptodev_aesni_mb);
-REGISTER_TEST_COMMAND(cryptodev_cpu_aesni_mb_autotest,
+REGISTER_DRIVER_TEST(cryptodev_qat_autotest, test_cryptodev_qat);
+REGISTER_DRIVER_TEST(cryptodev_aesni_mb_autotest, test_cryptodev_aesni_mb);
+REGISTER_DRIVER_TEST(cryptodev_cpu_aesni_mb_autotest,
 	test_cryptodev_cpu_aesni_mb);
-REGISTER_TEST_COMMAND(cryptodev_chacha_poly_mb_autotest,
+REGISTER_DRIVER_TEST(cryptodev_chacha_poly_mb_autotest,
 	test_cryptodev_chacha_poly_mb);
-REGISTER_TEST_COMMAND(cryptodev_openssl_autotest, test_cryptodev_openssl);
-REGISTER_TEST_COMMAND(cryptodev_aesni_gcm_autotest, test_cryptodev_aesni_gcm);
-REGISTER_TEST_COMMAND(cryptodev_cpu_aesni_gcm_autotest,
+REGISTER_DRIVER_TEST(cryptodev_openssl_autotest, test_cryptodev_openssl);
+REGISTER_DRIVER_TEST(cryptodev_aesni_gcm_autotest, test_cryptodev_aesni_gcm);
+REGISTER_DRIVER_TEST(cryptodev_cpu_aesni_gcm_autotest,
 	test_cryptodev_cpu_aesni_gcm);
 REGISTER_TEST_COMMAND(cryptodev_mlx5_autotest, test_cryptodev_mlx5);
-REGISTER_TEST_COMMAND(cryptodev_null_autotest, test_cryptodev_null);
-REGISTER_TEST_COMMAND(cryptodev_sw_snow3g_autotest, test_cryptodev_sw_snow3g);
-REGISTER_TEST_COMMAND(cryptodev_sw_kasumi_autotest, test_cryptodev_sw_kasumi);
-REGISTER_TEST_COMMAND(cryptodev_sw_zuc_autotest, test_cryptodev_sw_zuc);
-REGISTER_TEST_COMMAND(cryptodev_sw_armv8_autotest, test_cryptodev_armv8);
-REGISTER_TEST_COMMAND(cryptodev_sw_mvsam_autotest, test_cryptodev_mrvl);
-REGISTER_TEST_COMMAND(cryptodev_dpaa2_sec_autotest, test_cryptodev_dpaa2_sec);
-REGISTER_TEST_COMMAND(cryptodev_dpaa_sec_autotest, test_cryptodev_dpaa_sec);
+REGISTER_DRIVER_TEST(cryptodev_null_autotest, test_cryptodev_null);
+REGISTER_DRIVER_TEST(cryptodev_sw_snow3g_autotest, test_cryptodev_sw_snow3g);
+REGISTER_DRIVER_TEST(cryptodev_sw_kasumi_autotest, test_cryptodev_sw_kasumi);
+REGISTER_DRIVER_TEST(cryptodev_sw_zuc_autotest, test_cryptodev_sw_zuc);
+REGISTER_DRIVER_TEST(cryptodev_sw_armv8_autotest, test_cryptodev_armv8);
+REGISTER_DRIVER_TEST(cryptodev_sw_mvsam_autotest, test_cryptodev_mrvl);
+REGISTER_DRIVER_TEST(cryptodev_dpaa2_sec_autotest, test_cryptodev_dpaa2_sec);
+REGISTER_DRIVER_TEST(cryptodev_dpaa_sec_autotest, test_cryptodev_dpaa_sec);
 REGISTER_TEST_COMMAND(cryptodev_ccp_autotest, test_cryptodev_ccp);
-REGISTER_TEST_COMMAND(cryptodev_uadk_autotest, test_cryptodev_uadk);
+REGISTER_DRIVER_TEST(cryptodev_uadk_autotest, test_cryptodev_uadk);
 REGISTER_TEST_COMMAND(cryptodev_virtio_autotest, test_cryptodev_virtio);
 REGISTER_TEST_COMMAND(cryptodev_octeontx_autotest, test_cryptodev_octeontx);
 REGISTER_TEST_COMMAND(cryptodev_caam_jr_autotest, test_cryptodev_caam_jr);
 REGISTER_TEST_COMMAND(cryptodev_nitrox_autotest, test_cryptodev_nitrox);
 REGISTER_TEST_COMMAND(cryptodev_bcmfs_autotest, test_cryptodev_bcmfs);
-REGISTER_TEST_COMMAND(cryptodev_cn9k_autotest, test_cryptodev_cn9k);
-REGISTER_TEST_COMMAND(cryptodev_cn10k_autotest, test_cryptodev_cn10k);
+REGISTER_DRIVER_TEST(cryptodev_cn9k_autotest, test_cryptodev_cn9k);
+REGISTER_DRIVER_TEST(cryptodev_cn10k_autotest, test_cryptodev_cn10k);
diff --git a/app/test/test_cryptodev_asym.c b/app/test/test_cryptodev_asym.c
index 0ef2642fdd..3d5a73bf89 100644
--- a/app/test/test_cryptodev_asym.c
+++ b/app/test/test_cryptodev_asym.c
@@ -2828,7 +2828,7 @@  test_cryptodev_cn10k_asym(void)
 REGISTER_TEST_COMMAND(cryptodev_openssl_asym_autotest,
 					  test_cryptodev_openssl_asym);
 
-REGISTER_TEST_COMMAND(cryptodev_qat_asym_autotest, test_cryptodev_qat_asym);
+REGISTER_DRIVER_TEST(cryptodev_qat_asym_autotest, test_cryptodev_qat_asym);
 
 REGISTER_TEST_COMMAND(cryptodev_octeontx_asym_autotest,
 					  test_cryptodev_octeontx_asym);
diff --git a/app/test/test_cycles.c b/app/test/test_cycles.c
index 66d11e6db8..08c91cef78 100644
--- a/app/test/test_cycles.c
+++ b/app/test/test_cycles.c
@@ -53,4 +53,4 @@  test_user_delay_us(void)
 	return 0;
 }
 
-REGISTER_TEST_COMMAND(user_delay_us, test_user_delay_us);
+REGISTER_FAST_TEST(user_delay_us, True, True, test_user_delay_us);
diff --git a/app/test/test_debug.c b/app/test/test_debug.c
index 2704f5b927..acd9542257 100644
--- a/app/test/test_debug.c
+++ b/app/test/test_debug.c
@@ -140,4 +140,4 @@  test_debug(void)
 
 #endif /* !RTE_EXEC_ENV_WINDOWS */
 
-REGISTER_TEST_COMMAND(debug_autotest, test_debug);
+REGISTER_FAST_TEST(debug_autotest, True, True, test_debug);
diff --git a/app/test/test_devargs.c b/app/test/test_devargs.c
index 0a4c34a1ad..59ec04957e 100644
--- a/app/test/test_devargs.c
+++ b/app/test/test_devargs.c
@@ -213,4 +213,4 @@  test_devargs(void)
 	return 0;
 }
 
-REGISTER_TEST_COMMAND(devargs_autotest, test_devargs);
+REGISTER_FAST_TEST(devargs_autotest, True, True, test_devargs);
diff --git a/app/test/test_distributor.c b/app/test/test_distributor.c
index 3efa4af104..ee263a7fee 100644
--- a/app/test/test_distributor.c
+++ b/app/test/test_distributor.c
@@ -952,4 +952,4 @@  test_distributor(void)
 
 #endif /* !RTE_EXEC_ENV_WINDOWS */
 
-REGISTER_TEST_COMMAND(distributor_autotest, test_distributor);
+REGISTER_FAST_TEST(distributor_autotest, False, True, test_distributor);
diff --git a/app/test/test_distributor_perf.c b/app/test/test_distributor_perf.c
index ee4321486d..ca868451d7 100644
--- a/app/test/test_distributor_perf.c
+++ b/app/test/test_distributor_perf.c
@@ -277,4 +277,4 @@  test_distributor_perf(void)
 
 #endif /* !RTE_EXEC_ENV_WINDOWS */
 
-REGISTER_TEST_COMMAND(distributor_perf_autotest, test_distributor_perf);
+REGISTER_PERF_TEST(distributor_perf_autotest, test_distributor_perf);
diff --git a/app/test/test_dmadev.c b/app/test/test_dmadev.c
index 0736ff2a18..6ef875e545 100644
--- a/app/test/test_dmadev.c
+++ b/app/test/test_dmadev.c
@@ -941,4 +941,4 @@  test_dma(void)
 	return 0;
 }
 
-REGISTER_TEST_COMMAND(dmadev_autotest, test_dma);
+REGISTER_DRIVER_TEST(dmadev_autotest, test_dma);
diff --git a/app/test/test_eal_flags.c b/app/test/test_eal_flags.c
index 148e9098e8..3b7af7405d 100644
--- a/app/test/test_eal_flags.c
+++ b/app/test/test_eal_flags.c
@@ -1644,15 +1644,15 @@  test_memory_flags(void)
 
 #endif /* !RTE_EXEC_ENV_WINDOWS */
 
-REGISTER_TEST_COMMAND(eal_flags_c_opt_autotest, test_missing_c_flag);
-REGISTER_TEST_COMMAND(eal_flags_main_opt_autotest, test_main_lcore_flag);
-REGISTER_TEST_COMMAND(eal_flags_n_opt_autotest, test_invalid_n_flag);
-REGISTER_TEST_COMMAND(eal_flags_hpet_autotest, test_no_hpet_flag);
-REGISTER_TEST_COMMAND(eal_flags_no_huge_autotest, test_no_huge_flag);
-REGISTER_TEST_COMMAND(eal_flags_a_opt_autotest, test_allow_flag);
-REGISTER_TEST_COMMAND(eal_flags_b_opt_autotest, test_invalid_b_flag);
-REGISTER_TEST_COMMAND(eal_flags_vdev_opt_autotest, test_invalid_vdev_flag);
-REGISTER_TEST_COMMAND(eal_flags_r_opt_autotest, test_invalid_r_flag);
-REGISTER_TEST_COMMAND(eal_flags_mem_autotest, test_memory_flags);
-REGISTER_TEST_COMMAND(eal_flags_file_prefix_autotest, test_file_prefix);
-REGISTER_TEST_COMMAND(eal_flags_misc_autotest, test_misc_flags);
+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);
diff --git a/app/test/test_eal_fs.c b/app/test/test_eal_fs.c
index b3686edcb4..a4bdc1236d 100644
--- a/app/test/test_eal_fs.c
+++ b/app/test/test_eal_fs.c
@@ -185,4 +185,4 @@  test_eal_fs(void)
 
 #endif /* !RTE_EXEC_ENV_WINDOWS */
 
-REGISTER_TEST_COMMAND(eal_fs_autotest, test_eal_fs);
+REGISTER_FAST_TEST(eal_fs_autotest, True, True, test_eal_fs);
diff --git a/app/test/test_efd.c b/app/test/test_efd.c
index fa29e8f97a..1c0986b9bc 100644
--- a/app/test/test_efd.c
+++ b/app/test/test_efd.c
@@ -473,4 +473,4 @@  test_efd(void)
 
 #endif /* !RTE_EXEC_ENV_WINDOWS */
 
-REGISTER_TEST_COMMAND(efd_autotest, test_efd);
+REGISTER_PERF_TEST(efd_autotest, test_efd);
diff --git a/app/test/test_efd_perf.c b/app/test/test_efd_perf.c
index 4d04ed93e3..b212e96767 100644
--- a/app/test/test_efd_perf.c
+++ b/app/test/test_efd_perf.c
@@ -393,4 +393,4 @@  test_efd_perf(void)
 
 #endif /* !RTE_EXEC_ENV_WINDOWS */
 
-REGISTER_TEST_COMMAND(efd_perf_autotest, test_efd_perf);
+REGISTER_PERF_TEST(efd_perf_autotest, test_efd_perf);
diff --git a/app/test/test_errno.c b/app/test/test_errno.c
index 0db4fbc8b3..1082299665 100644
--- a/app/test/test_errno.c
+++ b/app/test/test_errno.c
@@ -94,4 +94,4 @@  test_errno(void)
 	return 0;
 }
 
-REGISTER_TEST_COMMAND(errno_autotest, test_errno);
+REGISTER_FAST_TEST(errno_autotest, True, True, test_errno);
diff --git a/app/test/test_ethdev_link.c b/app/test/test_ethdev_link.c
index ab52385a12..d73e18065d 100644
--- a/app/test/test_ethdev_link.c
+++ b/app/test/test_ethdev_link.c
@@ -167,4 +167,4 @@  test_link_status(void)
 	return unit_test_suite_runner(&link_status_testsuite);
 }
 
-REGISTER_TEST_COMMAND(ethdev_link_status, test_link_status);
+REGISTER_FAST_TEST(ethdev_link_status, True, True, test_link_status);
diff --git a/app/test/test_event_ring.c b/app/test/test_event_ring.c
index bc4a6e73f5..d5c8499cfd 100644
--- a/app/test/test_event_ring.c
+++ b/app/test/test_event_ring.c
@@ -256,4 +256,4 @@  test_event_ring(void)
 
 #endif /* !RTE_EXEC_ENV_WINDOWS */
 
-REGISTER_TEST_COMMAND(event_ring_autotest, test_event_ring);
+REGISTER_FAST_TEST(event_ring_autotest, True, True, test_event_ring);
diff --git a/app/test/test_eventdev.c b/app/test/test_eventdev.c
index 336529038e..e65d893781 100644
--- a/app/test/test_eventdev.c
+++ b/app/test/test_eventdev.c
@@ -1256,7 +1256,7 @@  test_eventdev_selftest_cn10k(void)
 
 #endif /* !RTE_EXEC_ENV_WINDOWS */
 
-REGISTER_TEST_COMMAND(eventdev_common_autotest, test_eventdev_common);
+REGISTER_FAST_TEST(eventdev_common_autotest, True, True, test_eventdev_common);
 
 #ifndef RTE_EXEC_ENV_WINDOWS
 REGISTER_TEST_COMMAND(eventdev_selftest_sw, test_eventdev_selftest_sw);
diff --git a/app/test/test_fbarray.c b/app/test/test_fbarray.c
index a691bf4458..03428a45fe 100644
--- a/app/test/test_fbarray.c
+++ b/app/test/test_fbarray.c
@@ -733,4 +733,4 @@  test_fbarray(void)
 	return unit_test_suite_runner(&fbarray_test_suite);
 }
 
-REGISTER_TEST_COMMAND(fbarray_autotest, test_fbarray);
+REGISTER_FAST_TEST(fbarray_autotest, True, True, test_fbarray);
diff --git a/app/test/test_fib.c b/app/test/test_fib.c
index eb69d6e2fd..2a8404db61 100644
--- a/app/test/test_fib.c
+++ b/app/test/test_fib.c
@@ -415,5 +415,5 @@  test_slow_fib(void)
 	return unit_test_suite_runner(&fib_slow_tests);
 }
 
-REGISTER_TEST_COMMAND(fib_autotest, test_fib);
-REGISTER_TEST_COMMAND(fib_slow_autotest, test_slow_fib);
+REGISTER_FAST_TEST(fib_autotest, True, True, test_fib);
+REGISTER_PERF_TEST(fib_slow_autotest, test_slow_fib);
diff --git a/app/test/test_fib6.c b/app/test/test_fib6.c
index 15ad09178a..9b1c0ac8c7 100644
--- a/app/test/test_fib6.c
+++ b/app/test/test_fib6.c
@@ -424,5 +424,5 @@  test_slow_fib6(void)
 	return unit_test_suite_runner(&fib6_slow_tests);
 }
 
-REGISTER_TEST_COMMAND(fib6_autotest, test_fib6);
-REGISTER_TEST_COMMAND(fib6_slow_autotest, test_slow_fib6);
+REGISTER_FAST_TEST(fib6_autotest, True, True, test_fib6);
+REGISTER_PERF_TEST(fib6_slow_autotest, test_slow_fib6);
diff --git a/app/test/test_fib6_perf.c b/app/test/test_fib6_perf.c
index add20c2331..a7abc46af9 100644
--- a/app/test/test_fib6_perf.c
+++ b/app/test/test_fib6_perf.c
@@ -156,4 +156,4 @@  test_fib6_perf(void)
 	return 0;
 }
 
-REGISTER_TEST_COMMAND(fib6_perf_autotest, test_fib6_perf);
+REGISTER_PERF_TEST(fib6_perf_autotest, test_fib6_perf);
diff --git a/app/test/test_fib_perf.c b/app/test/test_fib_perf.c
index b56293e64f..a9119c1bb0 100644
--- a/app/test/test_fib_perf.c
+++ b/app/test/test_fib_perf.c
@@ -409,4 +409,4 @@  test_fib_perf(void)
 	return 0;
 }
 
-REGISTER_TEST_COMMAND(fib_perf_autotest, test_fib_perf);
+REGISTER_PERF_TEST(fib_perf_autotest, test_fib_perf);
diff --git a/app/test/test_func_reentrancy.c b/app/test/test_func_reentrancy.c
index ae9de6f93d..63b00009b5 100644
--- a/app/test/test_func_reentrancy.c
+++ b/app/test/test_func_reentrancy.c
@@ -507,4 +507,4 @@  test_func_reentrancy(void)
 	return 0;
 }
 
-REGISTER_TEST_COMMAND(func_reentrancy_autotest, test_func_reentrancy);
+REGISTER_FAST_TEST(func_reentrancy_autotest, False, True, test_func_reentrancy);
diff --git a/app/test/test_hash.c b/app/test/test_hash.c
index 3e45afaa67..e160b27b4c 100644
--- a/app/test/test_hash.c
+++ b/app/test/test_hash.c
@@ -2264,4 +2264,4 @@  test_hash(void)
 	return 0;
 }
 
-REGISTER_TEST_COMMAND(hash_autotest, test_hash);
+REGISTER_FAST_TEST(hash_autotest, True, True, test_hash);
diff --git a/app/test/test_hash_functions.c b/app/test/test_hash_functions.c
index 76d51b6e71..70820d1f19 100644
--- a/app/test/test_hash_functions.c
+++ b/app/test/test_hash_functions.c
@@ -290,4 +290,4 @@  test_hash_functions(void)
 	return 0;
 }
 
-REGISTER_TEST_COMMAND(hash_functions_autotest, test_hash_functions);
+REGISTER_PERF_TEST(hash_functions_autotest, test_hash_functions);
diff --git a/app/test/test_hash_multiwriter.c b/app/test/test_hash_multiwriter.c
index 0c5a8ca186..dd5ca677b9 100644
--- a/app/test/test_hash_multiwriter.c
+++ b/app/test/test_hash_multiwriter.c
@@ -287,4 +287,4 @@  test_hash_multiwriter_main(void)
 	return 0;
 }
 
-REGISTER_TEST_COMMAND(hash_multiwriter_autotest, test_hash_multiwriter_main);
+REGISTER_PERF_TEST(hash_multiwriter_autotest, test_hash_multiwriter_main);
diff --git a/app/test/test_hash_perf.c b/app/test/test_hash_perf.c
index 14a1283aba..d66b96e5ce 100644
--- a/app/test/test_hash_perf.c
+++ b/app/test/test_hash_perf.c
@@ -757,4 +757,4 @@  test_hash_perf(void)
 	return 0;
 }
 
-REGISTER_TEST_COMMAND(hash_perf_autotest, test_hash_perf);
+REGISTER_PERF_TEST(hash_perf_autotest, test_hash_perf);
diff --git a/app/test/test_hash_readwrite.c b/app/test/test_hash_readwrite.c
index 6373e62d33..9c33b49878 100644
--- a/app/test/test_hash_readwrite.c
+++ b/app/test/test_hash_readwrite.c
@@ -760,5 +760,5 @@  test_hash_rw_func_main(void)
 	return 0;
 }
 
-REGISTER_TEST_COMMAND(hash_readwrite_func_autotest, test_hash_rw_func_main);
-REGISTER_TEST_COMMAND(hash_readwrite_perf_autotest, test_hash_rw_perf_main);
+REGISTER_FAST_TEST(hash_readwrite_func_autotest, False, True, test_hash_rw_func_main);
+REGISTER_PERF_TEST(hash_readwrite_perf_autotest, test_hash_rw_perf_main);
diff --git a/app/test/test_hash_readwrite_lf_perf.c b/app/test/test_hash_readwrite_lf_perf.c
index cf86046a2f..5d18850e19 100644
--- a/app/test/test_hash_readwrite_lf_perf.c
+++ b/app/test/test_hash_readwrite_lf_perf.c
@@ -1579,5 +1579,5 @@  test_hash_readwrite_lf_perf_main(void)
 	return 0;
 }
 
-REGISTER_TEST_COMMAND(hash_readwrite_lf_perf_autotest,
+REGISTER_PERF_TEST(hash_readwrite_lf_perf_autotest,
 	test_hash_readwrite_lf_perf_main);
diff --git a/app/test/test_interrupts.c b/app/test/test_interrupts.c
index b59ab42699..cf6b5a6a8e 100644
--- a/app/test/test_interrupts.c
+++ b/app/test/test_interrupts.c
@@ -594,4 +594,4 @@  test_interrupt(void)
 	return ret;
 }
 
-REGISTER_TEST_COMMAND(interrupt_autotest, test_interrupt);
+REGISTER_FAST_TEST(interrupt_autotest, True, True, test_interrupt);
diff --git a/app/test/test_ipfrag.c b/app/test/test_ipfrag.c
index 402ce361c1..264825634d 100644
--- a/app/test/test_ipfrag.c
+++ b/app/test/test_ipfrag.c
@@ -510,4 +510,4 @@  test_ipfrag(void)
 }
 
 
-REGISTER_TEST_COMMAND(ipfrag_autotest, test_ipfrag);
+REGISTER_FAST_TEST(ipfrag_autotest, False, True, test_ipfrag);
diff --git a/app/test/test_ipsec.c b/app/test/test_ipsec.c
index c2a52ec305..629580bc21 100644
--- a/app/test/test_ipsec.c
+++ b/app/test/test_ipsec.c
@@ -2532,4 +2532,4 @@  test_ipsec(void)
 
 #endif /* !RTE_EXEC_ENV_WINDOWS */
 
-REGISTER_TEST_COMMAND(ipsec_autotest, test_ipsec);
+REGISTER_FAST_TEST(ipsec_autotest, True, True, test_ipsec);
diff --git a/app/test/test_ipsec_perf.c b/app/test/test_ipsec_perf.c
index b221b7fc32..a32a2086e9 100644
--- a/app/test/test_ipsec_perf.c
+++ b/app/test/test_ipsec_perf.c
@@ -631,4 +631,4 @@  test_libipsec_perf(void)
 
 #endif /* !RTE_EXEC_ENV_WINDOWS */
 
-REGISTER_TEST_COMMAND(ipsec_perf_autotest, test_libipsec_perf);
+REGISTER_PERF_TEST(ipsec_perf_autotest, test_libipsec_perf);
diff --git a/app/test/test_kvargs.c b/app/test/test_kvargs.c
index b7b97a0dd9..d0f05a55c7 100644
--- a/app/test/test_kvargs.c
+++ b/app/test/test_kvargs.c
@@ -292,4 +292,4 @@  test_kvargs(void)
 	return 0;
 }
 
-REGISTER_TEST_COMMAND(kvargs_autotest, test_kvargs);
+REGISTER_FAST_TEST(kvargs_autotest, True, True, test_kvargs);
diff --git a/app/test/test_lcores.c b/app/test/test_lcores.c
index 2c945b0136..b86629c0db 100644
--- a/app/test/test_lcores.c
+++ b/app/test/test_lcores.c
@@ -412,4 +412,4 @@  test_lcores(void)
 	return TEST_SUCCESS;
 }
 
-REGISTER_TEST_COMMAND(lcores_autotest, test_lcores);
+REGISTER_FAST_TEST(lcores_autotest, True, True, test_lcores);
diff --git a/app/test/test_logs.c b/app/test/test_logs.c
index 8da8824bee..38052910e9 100644
--- a/app/test/test_logs.c
+++ b/app/test/test_logs.c
@@ -158,4 +158,4 @@  test_logs(void)
 	return 0;
 }
 
-REGISTER_TEST_COMMAND(logs_autotest, test_logs);
+REGISTER_FAST_TEST(logs_autotest, True, True, test_logs);
diff --git a/app/test/test_lpm.c b/app/test/test_lpm.c
index 37b460af3a..85a75ccec0 100644
--- a/app/test/test_lpm.c
+++ b/app/test/test_lpm.c
@@ -1584,4 +1584,4 @@  test_lpm(void)
 	return global_status;
 }
 
-REGISTER_TEST_COMMAND(lpm_autotest, test_lpm);
+REGISTER_FAST_TEST(lpm_autotest, True, True, test_lpm);
diff --git a/app/test/test_lpm6.c b/app/test/test_lpm6.c
index b6b6f8615e..4a9eddf276 100644
--- a/app/test/test_lpm6.c
+++ b/app/test/test_lpm6.c
@@ -1793,4 +1793,4 @@  test_lpm6(void)
 	return global_status;
 }
 
-REGISTER_TEST_COMMAND(lpm6_autotest, test_lpm6);
+REGISTER_FAST_TEST(lpm6_autotest, True, True, test_lpm6);
diff --git a/app/test/test_lpm6_perf.c b/app/test/test_lpm6_perf.c
index 5b684686a6..8a49f74c84 100644
--- a/app/test/test_lpm6_perf.c
+++ b/app/test/test_lpm6_perf.c
@@ -161,4 +161,4 @@  test_lpm6_perf(void)
 	return 0;
 }
 
-REGISTER_TEST_COMMAND(lpm6_perf_autotest, test_lpm6_perf);
+REGISTER_PERF_TEST(lpm6_perf_autotest, test_lpm6_perf);
diff --git a/app/test/test_lpm_perf.c b/app/test/test_lpm_perf.c
index e72437ba38..15ff396dd0 100644
--- a/app/test/test_lpm_perf.c
+++ b/app/test/test_lpm_perf.c
@@ -760,4 +760,4 @@  test_lpm_perf(void)
 	return 0;
 }
 
-REGISTER_TEST_COMMAND(lpm_perf_autotest, test_lpm_perf);
+REGISTER_PERF_TEST(lpm_perf_autotest, test_lpm_perf);
diff --git a/app/test/test_malloc.c b/app/test/test_malloc.c
index ff081dd931..6057623473 100644
--- a/app/test/test_malloc.c
+++ b/app/test/test_malloc.c
@@ -1091,4 +1091,4 @@  test_malloc(void)
 	return 0;
 }
 
-REGISTER_TEST_COMMAND(malloc_autotest, test_malloc);
+REGISTER_FAST_TEST(malloc_autotest, False, True, test_malloc);
diff --git a/app/test/test_malloc_perf.c b/app/test/test_malloc_perf.c
index 9bd1662981..a99bfd8531 100644
--- a/app/test/test_malloc_perf.c
+++ b/app/test/test_malloc_perf.c
@@ -171,4 +171,4 @@  test_malloc_perf(void)
 	return 0;
 }
 
-REGISTER_TEST_COMMAND(malloc_perf_autotest, test_malloc_perf);
+REGISTER_PERF_TEST(malloc_perf_autotest, test_malloc_perf);
diff --git a/app/test/test_mbuf.c b/app/test/test_mbuf.c
index efac01806b..2eeed268af 100644
--- a/app/test/test_mbuf.c
+++ b/app/test/test_mbuf.c
@@ -2955,4 +2955,4 @@  test_mbuf(void)
 }
 #undef GOTO_FAIL
 
-REGISTER_TEST_COMMAND(mbuf_autotest, test_mbuf);
+REGISTER_FAST_TEST(mbuf_autotest, False, True, test_mbuf);
diff --git a/app/test/test_mcslock.c b/app/test/test_mcslock.c
index 52e45e7e2a..a3753a4397 100644
--- a/app/test/test_mcslock.c
+++ b/app/test/test_mcslock.c
@@ -241,4 +241,4 @@  test_mcslock(void)
 	return ret;
 }
 
-REGISTER_TEST_COMMAND(mcslock_autotest, test_mcslock);
+REGISTER_FAST_TEST(mcslock_autotest, False, True, test_mcslock);
diff --git a/app/test/test_member.c b/app/test/test_member.c
index 4a93f8bff4..e17a8f3190 100644
--- a/app/test/test_member.c
+++ b/app/test/test_member.c
@@ -996,4 +996,4 @@  test_member(void)
 
 #endif /* !RTE_EXEC_ENV_WINDOWS */
 
-REGISTER_TEST_COMMAND(member_autotest, test_member);
+REGISTER_FAST_TEST(member_autotest, True, True, test_member);
diff --git a/app/test/test_member_perf.c b/app/test/test_member_perf.c
index 2f79888fbd..db6b8a18ef 100644
--- a/app/test/test_member_perf.c
+++ b/app/test/test_member_perf.c
@@ -780,4 +780,4 @@  test_member_perf(void)
 
 #endif /* !RTE_EXEC_ENV_WINDOWS */
 
-REGISTER_TEST_COMMAND(member_perf_autotest, test_member_perf);
+REGISTER_PERF_TEST(member_perf_autotest, test_member_perf);
diff --git a/app/test/test_memcpy.c b/app/test/test_memcpy.c
index 1ab86f4967..c81efb85c2 100644
--- a/app/test/test_memcpy.c
+++ b/app/test/test_memcpy.c
@@ -129,4 +129,4 @@  test_memcpy(void)
 	return 0;
 }
 
-REGISTER_TEST_COMMAND(memcpy_autotest, test_memcpy);
+REGISTER_FAST_TEST(memcpy_autotest, True, True, test_memcpy);
diff --git a/app/test/test_memcpy_perf.c b/app/test/test_memcpy_perf.c
index 3727c160e6..5c05a84619 100644
--- a/app/test/test_memcpy_perf.c
+++ b/app/test/test_memcpy_perf.c
@@ -348,4 +348,4 @@  test_memcpy_perf(void)
 	return 0;
 }
 
-REGISTER_TEST_COMMAND(memcpy_perf_autotest, test_memcpy_perf);
+REGISTER_PERF_TEST(memcpy_perf_autotest, test_memcpy_perf);
diff --git a/app/test/test_memory.c b/app/test/test_memory.c
index 440e5ef838..13ae9569c2 100644
--- a/app/test/test_memory.c
+++ b/app/test/test_memory.c
@@ -110,4 +110,4 @@  test_memory(void)
 	return 0;
 }
 
-REGISTER_TEST_COMMAND(memory_autotest, test_memory);
+REGISTER_FAST_TEST(memory_autotest, False, True, test_memory);
diff --git a/app/test/test_mempool.c b/app/test/test_mempool.c
index 8e493eda47..03047e5b14 100644
--- a/app/test/test_mempool.c
+++ b/app/test/test_mempool.c
@@ -1043,4 +1043,4 @@  test_mempool(void)
 	return ret;
 }
 
-REGISTER_TEST_COMMAND(mempool_autotest, test_mempool);
+REGISTER_FAST_TEST(mempool_autotest, False, True, test_mempool);
diff --git a/app/test/test_mempool_perf.c b/app/test/test_mempool_perf.c
index ce7c6241ab..96de347f04 100644
--- a/app/test/test_mempool_perf.c
+++ b/app/test/test_mempool_perf.c
@@ -437,4 +437,4 @@  test_mempool_perf(void)
 	return ret;
 }
 
-REGISTER_TEST_COMMAND(mempool_perf_autotest, test_mempool_perf);
+REGISTER_PERF_TEST(mempool_perf_autotest, test_mempool_perf);
diff --git a/app/test/test_memzone.c b/app/test/test_memzone.c
index f10f4fd9cd..85b5839034 100644
--- a/app/test/test_memzone.c
+++ b/app/test/test_memzone.c
@@ -1163,4 +1163,4 @@  test_memzone(void)
 	return 0;
 }
 
-REGISTER_TEST_COMMAND(memzone_autotest, test_memzone);
+REGISTER_FAST_TEST(memzone_autotest, False, True, test_memzone);
diff --git a/app/test/test_meter.c b/app/test/test_meter.c
index 15d5a4839b..3016681bbc 100644
--- a/app/test/test_meter.c
+++ b/app/test/test_meter.c
@@ -713,4 +713,4 @@  test_meter(void)
 
 }
 
-REGISTER_TEST_COMMAND(meter_autotest, test_meter);
+REGISTER_FAST_TEST(meter_autotest, True, True, test_meter);
diff --git a/app/test/test_mp_secondary.c b/app/test/test_mp_secondary.c
index ad47d578f2..502b0235a7 100644
--- a/app/test/test_mp_secondary.c
+++ b/app/test/test_mp_secondary.c
@@ -223,4 +223,4 @@  test_mp_secondary(void)
 
 #endif /* !RTE_EXEC_ENV_WINDOWS */
 
-REGISTER_TEST_COMMAND(multiprocess_autotest, test_mp_secondary);
+REGISTER_FAST_TEST(multiprocess_autotest, False, False, test_mp_secondary);
diff --git a/app/test/test_per_lcore.c b/app/test/test_per_lcore.c
index 129578d1a3..50011366a7 100644
--- a/app/test/test_per_lcore.c
+++ b/app/test/test_per_lcore.c
@@ -105,4 +105,4 @@  test_per_lcore(void)
 	return 0;
 }
 
-REGISTER_TEST_COMMAND(per_lcore_autotest, test_per_lcore);
+REGISTER_FAST_TEST(per_lcore_autotest, True, True, test_per_lcore);
diff --git a/app/test/test_pflock.c b/app/test/test_pflock.c
index 38da6bce27..07e4a68c2c 100644
--- a/app/test/test_pflock.c
+++ b/app/test/test_pflock.c
@@ -193,4 +193,4 @@  test_pflock(void)
 	return 0;
 }
 
-REGISTER_TEST_COMMAND(pflock_autotest, test_pflock);
+REGISTER_FAST_TEST(pflock_autotest, True, True, test_pflock);
diff --git a/app/test/test_pie.c b/app/test/test_pie.c
index a3c0f97c9d..5674602b69 100644
--- a/app/test/test_pie.c
+++ b/app/test/test_pie.c
@@ -1087,6 +1087,6 @@  test_pie_all(void)
 
 #endif /* !RTE_EXEC_ENV_WINDOWS */
 
-REGISTER_TEST_COMMAND(pie_autotest, test_pie);
-REGISTER_TEST_COMMAND(pie_perf, test_pie_perf);
-REGISTER_TEST_COMMAND(pie_all, test_pie_all);
+REGISTER_FAST_TEST(pie_autotest, True, True, test_pie);
+REGISTER_PERF_TEST(pie_perf, test_pie_perf);
+REGISTER_PERF_TEST(pie_all, test_pie_all);
diff --git a/app/test/test_pmd_perf.c b/app/test/test_pmd_perf.c
index 3ef590cb51..f6d97f21c9 100644
--- a/app/test/test_pmd_perf.c
+++ b/app/test/test_pmd_perf.c
@@ -899,4 +899,4 @@  test_set_rxtx_sc(cmdline_fixed_string_t type)
 	return -1;
 }
 
-REGISTER_TEST_COMMAND(pmd_perf_autotest, test_pmd_perf);
+REGISTER_PERF_TEST(pmd_perf_autotest, test_pmd_perf);
diff --git a/app/test/test_power.c b/app/test/test_power.c
index b7b5561348..d4f622ff2f 100644
--- a/app/test/test_power.c
+++ b/app/test/test_power.c
@@ -172,4 +172,4 @@  test_power(void)
 }
 #endif
 
-REGISTER_TEST_COMMAND(power_autotest, test_power);
+REGISTER_FAST_TEST(power_autotest, True, True, test_power);
diff --git a/app/test/test_power_cpufreq.c b/app/test/test_power_cpufreq.c
index 4d013cd7bb..f56053ac10 100644
--- a/app/test/test_power_cpufreq.c
+++ b/app/test/test_power_cpufreq.c
@@ -703,5 +703,5 @@  test_power_caps(void)
 
 #endif
 
-REGISTER_TEST_COMMAND(power_cpufreq_autotest, test_power_cpufreq);
+REGISTER_FAST_TEST(power_cpufreq_autotest, False, True, test_power_cpufreq);
 REGISTER_TEST_COMMAND(power_caps_autotest, test_power_caps);
diff --git a/app/test/test_power_intel_uncore.c b/app/test/test_power_intel_uncore.c
index 31163af84e..c8a8621e44 100644
--- a/app/test/test_power_intel_uncore.c
+++ b/app/test/test_power_intel_uncore.c
@@ -298,4 +298,4 @@  test_power_intel_uncore(void)
 }
 #endif
 
-REGISTER_TEST_COMMAND(power_intel_uncore_autotest, test_power_intel_uncore);
+REGISTER_FAST_TEST(power_intel_uncore_autotest, True, True, test_power_intel_uncore);
diff --git a/app/test/test_power_kvm_vm.c b/app/test/test_power_kvm_vm.c
index cc66b7a8a0..4919df8b62 100644
--- a/app/test/test_power_kvm_vm.c
+++ b/app/test/test_power_kvm_vm.c
@@ -299,4 +299,4 @@  test_power_kvm_vm(void)
 }
 #endif
 
-REGISTER_TEST_COMMAND(power_kvm_vm_autotest, test_power_kvm_vm);
+REGISTER_FAST_TEST(power_kvm_vm_autotest, False, True, test_power_kvm_vm);
diff --git a/app/test/test_prefetch.c b/app/test/test_prefetch.c
index 7b4a8e4144..a72ae80557 100644
--- a/app/test/test_prefetch.c
+++ b/app/test/test_prefetch.c
@@ -35,4 +35,4 @@  test_prefetch(void)
 	return 0;
 }
 
-REGISTER_TEST_COMMAND(prefetch_autotest, test_prefetch);
+REGISTER_FAST_TEST(prefetch_autotest, True, True, test_prefetch);
diff --git a/app/test/test_rand_perf.c b/app/test/test_rand_perf.c
index 26fb1d9a58..30204e12c0 100644
--- a/app/test/test_rand_perf.c
+++ b/app/test/test_rand_perf.c
@@ -96,4 +96,4 @@  test_rand_perf(void)
 	return 0;
 }
 
-REGISTER_TEST_COMMAND(rand_perf_autotest, test_rand_perf);
+REGISTER_PERF_TEST(rand_perf_autotest, test_rand_perf);
diff --git a/app/test/test_rcu_qsbr.c b/app/test/test_rcu_qsbr.c
index 70404e89e6..16c24f58e7 100644
--- a/app/test/test_rcu_qsbr.c
+++ b/app/test/test_rcu_qsbr.c
@@ -1418,4 +1418,4 @@  test_rcu_qsbr_main(void)
 	return -1;
 }
 
-REGISTER_TEST_COMMAND(rcu_qsbr_autotest, test_rcu_qsbr_main);
+REGISTER_FAST_TEST(rcu_qsbr_autotest, True, True, test_rcu_qsbr_main);
diff --git a/app/test/test_rcu_qsbr_perf.c b/app/test/test_rcu_qsbr_perf.c
index b15e5cef88..ce88a7333c 100644
--- a/app/test/test_rcu_qsbr_perf.c
+++ b/app/test/test_rcu_qsbr_perf.c
@@ -690,4 +690,4 @@  test_rcu_qsbr_main(void)
 	return -1;
 }
 
-REGISTER_TEST_COMMAND(rcu_qsbr_perf_autotest, test_rcu_qsbr_main);
+REGISTER_PERF_TEST(rcu_qsbr_perf_autotest, test_rcu_qsbr_main);
diff --git a/app/test/test_reassembly_perf.c b/app/test/test_reassembly_perf.c
index c11b65291f..4b4929d777 100644
--- a/app/test/test_reassembly_perf.c
+++ b/app/test/test_reassembly_perf.c
@@ -1000,4 +1000,4 @@  test_reassembly_perf(void)
 	return TEST_SUCCESS;
 }
 
-REGISTER_TEST_COMMAND(reassembly_perf_autotest, test_reassembly_perf);
+REGISTER_PERF_TEST(reassembly_perf_autotest, test_reassembly_perf);
diff --git a/app/test/test_reciprocal_division.c b/app/test/test_reciprocal_division.c
index 8ea9b1d24d..fb52b2d5a1 100644
--- a/app/test/test_reciprocal_division.c
+++ b/app/test/test_reciprocal_division.c
@@ -164,4 +164,4 @@  test_reciprocal(void)
 	return result;
 }
 
-REGISTER_TEST_COMMAND(reciprocal_division, test_reciprocal);
+REGISTER_PERF_TEST(reciprocal_division, test_reciprocal);
diff --git a/app/test/test_reciprocal_division_perf.c b/app/test/test_reciprocal_division_perf.c
index 4f625873e5..cf96d46a22 100644
--- a/app/test/test_reciprocal_division_perf.c
+++ b/app/test/test_reciprocal_division_perf.c
@@ -205,4 +205,4 @@  test_reciprocal_division_perf(void)
 	return result;
 }
 
-REGISTER_TEST_COMMAND(reciprocal_division_perf, test_reciprocal_division_perf);
+REGISTER_PERF_TEST(reciprocal_division_perf, test_reciprocal_division_perf);
diff --git a/app/test/test_red.c b/app/test/test_red.c
index 84c292f8d8..aa7538d51a 100644
--- a/app/test/test_red.c
+++ b/app/test/test_red.c
@@ -1878,5 +1878,5 @@  test_red_all(void)
 #endif /* !RTE_EXEC_ENV_WINDOWS */
 
 REGISTER_TEST_COMMAND(red_autotest, test_red);
-REGISTER_TEST_COMMAND(red_perf, test_red_perf);
-REGISTER_TEST_COMMAND(red_all, test_red_all);
+REGISTER_PERF_TEST(red_perf, test_red_perf);
+REGISTER_PERF_TEST(red_all, test_red_all);
diff --git a/app/test/test_reorder.c b/app/test/test_reorder.c
index c188f6ce67..e66b4b05d4 100644
--- a/app/test/test_reorder.c
+++ b/app/test/test_reorder.c
@@ -548,4 +548,4 @@  test_reorder(void)
 }
 
 
-REGISTER_TEST_COMMAND(reorder_autotest, test_reorder);
+REGISTER_FAST_TEST(reorder_autotest, True, True, test_reorder);
diff --git a/app/test/test_rib.c b/app/test/test_rib.c
index 65b6856410..a8d60acc3a 100644
--- a/app/test/test_rib.c
+++ b/app/test/test_rib.c
@@ -363,5 +363,5 @@  test_slow_rib(void)
 	return unit_test_suite_runner(&rib_slow_tests);
 }
 
-REGISTER_TEST_COMMAND(rib_autotest, test_rib);
-REGISTER_TEST_COMMAND(rib_slow_autotest, test_slow_rib);
+REGISTER_FAST_TEST(rib_autotest, True, True, test_rib);
+REGISTER_PERF_TEST(rib_slow_autotest, test_slow_rib);
diff --git a/app/test/test_rib6.c b/app/test/test_rib6.c
index 336b779d2e..9bbd0f406d 100644
--- a/app/test/test_rib6.c
+++ b/app/test/test_rib6.c
@@ -367,5 +367,5 @@  test_slow_rib6(void)
 	return unit_test_suite_runner(&rib6_slow_tests);
 }
 
-REGISTER_TEST_COMMAND(rib6_autotest, test_rib6);
-REGISTER_TEST_COMMAND(rib6_slow_autotest, test_slow_rib6);
+REGISTER_FAST_TEST(rib6_autotest, True, True, test_rib6);
+REGISTER_PERF_TEST(rib6_slow_autotest, test_slow_rib6);
diff --git a/app/test/test_ring.c b/app/test/test_ring.c
index bde33ab4a1..d2accbabfa 100644
--- a/app/test/test_ring.c
+++ b/app/test/test_ring.c
@@ -1241,4 +1241,4 @@  test_ring(void)
 	return -1;
 }
 
-REGISTER_TEST_COMMAND(ring_autotest, test_ring);
+REGISTER_FAST_TEST(ring_autotest, True, True, test_ring);
diff --git a/app/test/test_ring_perf.c b/app/test/test_ring_perf.c
index 3972fd9db3..d7c5a4c30b 100644
--- a/app/test/test_ring_perf.c
+++ b/app/test/test_ring_perf.c
@@ -579,4 +579,4 @@  test_ring_perf(void)
 	return 0;
 }
 
-REGISTER_TEST_COMMAND(ring_perf_autotest, test_ring_perf);
+REGISTER_PERF_TEST(ring_perf_autotest, test_ring_perf);
diff --git a/app/test/test_rwlock.c b/app/test/test_rwlock.c
index 4ae0bf8deb..e8086888fe 100644
--- a/app/test/test_rwlock.c
+++ b/app/test/test_rwlock.c
@@ -506,7 +506,7 @@  try_rwlock_test_rde_wro(void)
 	return process_try_lcore_stats();
 }
 
-REGISTER_TEST_COMMAND(rwlock_test1_autotest, rwlock_test1);
-REGISTER_TEST_COMMAND(rwlock_rda_autotest, try_rwlock_test_rda);
-REGISTER_TEST_COMMAND(rwlock_rds_wrm_autotest, try_rwlock_test_rds_wrm);
-REGISTER_TEST_COMMAND(rwlock_rde_wro_autotest, try_rwlock_test_rde_wro);
+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);
diff --git a/app/test/test_sched.c b/app/test/test_sched.c
index ddec572447..385ca45136 100644
--- a/app/test/test_sched.c
+++ b/app/test/test_sched.c
@@ -215,4 +215,4 @@  test_sched(void)
 
 #endif /* !RTE_EXEC_ENV_WINDOWS */
 
-REGISTER_TEST_COMMAND(sched_autotest, test_sched);
+REGISTER_FAST_TEST(sched_autotest, True, True, test_sched);
diff --git a/app/test/test_security.c b/app/test/test_security.c
index 4783cd0663..a3b962750a 100644
--- a/app/test/test_security.c
+++ b/app/test/test_security.c
@@ -2314,4 +2314,4 @@  test_security(void)
 	return unit_test_suite_runner(&security_testsuite);
 }
 
-REGISTER_TEST_COMMAND(security_autotest, test_security);
+REGISTER_FAST_TEST(security_autotest, False, True, test_security);
diff --git a/app/test/test_seqlock.c b/app/test/test_seqlock.c
index d26d2c010e..325af38070 100644
--- a/app/test/test_seqlock.c
+++ b/app/test/test_seqlock.c
@@ -187,4 +187,4 @@  test_seqlock(void)
 	return rc;
 }
 
-REGISTER_TEST_COMMAND(seqlock_autotest, test_seqlock);
+REGISTER_FAST_TEST(seqlock_autotest, True, True, test_seqlock);
diff --git a/app/test/test_service_cores.c b/app/test/test_service_cores.c
index 422d2a83e8..6c000417d2 100644
--- a/app/test/test_service_cores.c
+++ b/app/test/test_service_cores.c
@@ -1040,7 +1040,7 @@  test_service_common(void)
 	return unit_test_suite_runner(&service_tests);
 }
 
-REGISTER_TEST_COMMAND(service_autotest, test_service_common);
+REGISTER_FAST_TEST(service_autotest, True, True, test_service_common);
 
 static struct unit_test_suite service_perf_tests  = {
 	.suite_name = "service core performance test suite",
@@ -1062,4 +1062,4 @@  test_service_perf(void)
 	return unit_test_suite_runner(&service_perf_tests);
 }
 
-REGISTER_TEST_COMMAND(service_perf_autotest, test_service_perf);
+REGISTER_PERF_TEST(service_perf_autotest, test_service_perf);
diff --git a/app/test/test_spinlock.c b/app/test/test_spinlock.c
index 3f59372300..d655b606f7 100644
--- a/app/test/test_spinlock.c
+++ b/app/test/test_spinlock.c
@@ -302,4 +302,4 @@  test_spinlock(void)
 	return ret;
 }
 
-REGISTER_TEST_COMMAND(spinlock_autotest, test_spinlock);
+REGISTER_FAST_TEST(spinlock_autotest, True, True, test_spinlock);
diff --git a/app/test/test_stack.c b/app/test/test_stack.c
index bc38961433..93bba18469 100644
--- a/app/test/test_stack.c
+++ b/app/test/test_stack.c
@@ -379,5 +379,5 @@  test_lf_stack(void)
 #endif
 }
 
-REGISTER_TEST_COMMAND(stack_autotest, test_stack);
-REGISTER_TEST_COMMAND(stack_lf_autotest, test_lf_stack);
+REGISTER_FAST_TEST(stack_autotest, False, True, test_stack);
+REGISTER_FAST_TEST(stack_lf_autotest, False, True, test_lf_stack);
diff --git a/app/test/test_stack_perf.c b/app/test/test_stack_perf.c
index 1eae00a334..c5e1caa036 100644
--- a/app/test/test_stack_perf.c
+++ b/app/test/test_stack_perf.c
@@ -354,5 +354,5 @@  test_lf_stack_perf(void)
 #endif
 }
 
-REGISTER_TEST_COMMAND(stack_perf_autotest, test_stack_perf);
-REGISTER_TEST_COMMAND(stack_lf_perf_autotest, test_lf_stack_perf);
+REGISTER_PERF_TEST(stack_perf_autotest, test_stack_perf);
+REGISTER_PERF_TEST(stack_lf_perf_autotest, test_lf_stack_perf);
diff --git a/app/test/test_string_fns.c b/app/test/test_string_fns.c
index 5e105d2bb9..07e72bf680 100644
--- a/app/test/test_string_fns.c
+++ b/app/test/test_string_fns.c
@@ -182,4 +182,4 @@  test_string_fns(void)
 	return 0;
 }
 
-REGISTER_TEST_COMMAND(string_autotest, test_string_fns);
+REGISTER_FAST_TEST(string_autotest, True, True, test_string_fns);
diff --git a/app/test/test_tailq.c b/app/test/test_tailq.c
index 9520219b0a..5598bcd12d 100644
--- a/app/test/test_tailq.c
+++ b/app/test/test_tailq.c
@@ -125,4 +125,4 @@  test_tailq(void)
 	return ret;
 }
 
-REGISTER_TEST_COMMAND(tailq_autotest, test_tailq);
+REGISTER_FAST_TEST(tailq_autotest, True, True, test_tailq);
diff --git a/app/test/test_thash.c b/app/test/test_thash.c
index 53d9611e18..dd6468eb56 100644
--- a/app/test/test_thash.c
+++ b/app/test/test_thash.c
@@ -966,4 +966,4 @@  test_thash(void)
 	return unit_test_suite_runner(&thash_tests);
 }
 
-REGISTER_TEST_COMMAND(thash_autotest, test_thash);
+REGISTER_FAST_TEST(thash_autotest, True, True, test_thash);
diff --git a/app/test/test_thash_perf.c b/app/test/test_thash_perf.c
index 687582aa32..9dfd5d3c21 100644
--- a/app/test/test_thash_perf.c
+++ b/app/test/test_thash_perf.c
@@ -135,4 +135,4 @@  test_thash_perf(void)
 	return 0;
 }
 
-REGISTER_TEST_COMMAND(thash_perf_autotest, test_thash_perf);
+REGISTER_PERF_TEST(thash_perf_autotest, test_thash_perf);
diff --git a/app/test/test_threads.c b/app/test/test_threads.c
index a4c4f651a4..6ed6b168d4 100644
--- a/app/test/test_threads.c
+++ b/app/test/test_threads.c
@@ -279,4 +279,4 @@  test_threads(void)
 	return unit_test_suite_runner(&threads_test_suite);
 }
 
-REGISTER_TEST_COMMAND(threads_autotest, test_threads);
+REGISTER_FAST_TEST(threads_autotest, True, True, test_threads);
diff --git a/app/test/test_ticketlock.c b/app/test/test_ticketlock.c
index 242c136478..25af697c0a 100644
--- a/app/test/test_ticketlock.c
+++ b/app/test/test_ticketlock.c
@@ -314,4 +314,4 @@  test_ticketlock(void)
 	return ret;
 }
 
-REGISTER_TEST_COMMAND(ticketlock_autotest, test_ticketlock);
+REGISTER_FAST_TEST(ticketlock_autotest, True, True, test_ticketlock);
diff --git a/app/test/test_timer.c b/app/test/test_timer.c
index 0c36dc9010..09608a1845 100644
--- a/app/test/test_timer.c
+++ b/app/test/test_timer.c
@@ -594,4 +594,4 @@  test_timer(void)
 	return TEST_SUCCESS;
 }
 
-REGISTER_TEST_COMMAND(timer_autotest, test_timer);
+REGISTER_FAST_TEST(timer_autotest, False, True, test_timer);
diff --git a/app/test/test_timer_perf.c b/app/test/test_timer_perf.c
index 0ede4b3e40..d2d74ebbc6 100644
--- a/app/test/test_timer_perf.c
+++ b/app/test/test_timer_perf.c
@@ -131,4 +131,4 @@  test_timer_perf(void)
 	return 0;
 }
 
-REGISTER_TEST_COMMAND(timer_perf_autotest, test_timer_perf);
+REGISTER_PERF_TEST(timer_perf_autotest, test_timer_perf);
diff --git a/app/test/test_timer_racecond.c b/app/test/test_timer_racecond.c
index bb56ae8324..6f8b448ff8 100644
--- a/app/test/test_timer_racecond.c
+++ b/app/test/test_timer_racecond.c
@@ -172,4 +172,4 @@  test_timer_racecond(void)
 	return TEST_SUCCESS;
 }
 
-REGISTER_TEST_COMMAND(timer_racecond_autotest, test_timer_racecond);
+REGISTER_PERF_TEST(timer_racecond_autotest, test_timer_racecond);
diff --git a/app/test/test_trace.c b/app/test/test_trace.c
index ad4a394a29..96829caed5 100644
--- a/app/test/test_trace.c
+++ b/app/test/test_trace.c
@@ -250,4 +250,4 @@  test_trace(void)
 
 #endif /* !RTE_EXEC_ENV_WINDOWS */
 
-REGISTER_TEST_COMMAND(trace_autotest, test_trace);
+REGISTER_FAST_TEST(trace_autotest, True, True, test_trace);
diff --git a/app/test/test_trace_perf.c b/app/test/test_trace_perf.c
index 46ae7d8074..a6dd075722 100644
--- a/app/test/test_trace_perf.c
+++ b/app/test/test_trace_perf.c
@@ -179,4 +179,4 @@  test_trace_perf(void)
 	return TEST_SUCCESS;
 }
 
-REGISTER_TEST_COMMAND(trace_perf_autotest, test_trace_perf);
+REGISTER_PERF_TEST(trace_perf_autotest, test_trace_perf);
diff --git a/app/test/test_version.c b/app/test/test_version.c
index 1e1ff18656..21016237bc 100644
--- a/app/test/test_version.c
+++ b/app/test/test_version.c
@@ -25,4 +25,4 @@  test_version(void)
 	return 0;
 }
 
-REGISTER_TEST_COMMAND(version_autotest, test_version);
+REGISTER_FAST_TEST(version_autotest, True, True, test_version);