diff --git a/test/validation/atomic/atomic.c b/test/validation/atomic/atomic.c
index 0dfd651..c4e9345 100644
--- a/test/validation/atomic/atomic.c
+++ b/test/validation/atomic/atomic.c
@@ -866,10 +866,14 @@ odp_suiteinfo_t atomic_suites[] = {
 	ODP_SUITE_INFO_NULL
 };
 
-int atomic_main(void)
+int atomic_main(int argc, char *argv[])
 {
 	int ret;
 
+	/* parse common options: */
+	if (odp_cunit_parse_options(argc, argv))
+		return -1;
+
 	odp_cunit_register_global_init(atomic_init);
 
 	ret = odp_cunit_register(atomic_suites);
diff --git a/test/validation/atomic/atomic.h b/test/validation/atomic/atomic.h
index f30d61f..4ea837b 100644
--- a/test/validation/atomic/atomic.h
+++ b/test/validation/atomic/atomic.h
@@ -33,6 +33,6 @@ extern odp_suiteinfo_t atomic_suites[];
 int atomic_init(odp_instance_t *inst);
 
 /* main test program: */
-int atomic_main(void);
+int atomic_main(int argc, char *argv[]);
 
 #endif
diff --git a/test/validation/atomic/atomic_main.c b/test/validation/atomic/atomic_main.c
index 377bdd5..db03537 100644
--- a/test/validation/atomic/atomic_main.c
+++ b/test/validation/atomic/atomic_main.c
@@ -6,7 +6,7 @@
 
 #include "atomic.h"
 
-int main(void)
+int main(int argc, char *argv[])
 {
-	return atomic_main();
+	return atomic_main(argc, argv);
 }
diff --git a/test/validation/barrier/barrier.c b/test/validation/barrier/barrier.c
index 2a533dc..d458388 100644
--- a/test/validation/barrier/barrier.c
+++ b/test/validation/barrier/barrier.c
@@ -378,10 +378,14 @@ odp_suiteinfo_t barrier_suites[] = {
 	ODP_SUITE_INFO_NULL
 };
 
-int barrier_main(void)
+int barrier_main(int argc, char *argv[])
 {
 	int ret;
 
+	/* parse common options: */
+	if (odp_cunit_parse_options(argc, argv))
+		return -1;
+
 	odp_cunit_register_global_init(barrier_init);
 
 	ret = odp_cunit_register(barrier_suites);
diff --git a/test/validation/barrier/barrier.h b/test/validation/barrier/barrier.h
index 040df29..e4890e0 100644
--- a/test/validation/barrier/barrier.h
+++ b/test/validation/barrier/barrier.h
@@ -24,6 +24,6 @@ extern odp_suiteinfo_t barrier_suites[];
 int barrier_init(odp_instance_t *inst);
 
 /* main test program: */
-int barrier_main(void);
+int barrier_main(int argc, char *argv[]);
 
 #endif
diff --git a/test/validation/barrier/barrier_main.c b/test/validation/barrier/barrier_main.c
index 88c9b3e..064decf 100644
--- a/test/validation/barrier/barrier_main.c
+++ b/test/validation/barrier/barrier_main.c
@@ -6,7 +6,7 @@
 
 #include "barrier.h"
 
-int main(void)
+int main(int argc, char *argv[])
 {
-	return barrier_main();
+	return barrier_main(argc, argv);
 }
diff --git a/test/validation/buffer/buffer.c b/test/validation/buffer/buffer.c
index c336ac3..d26d5e8 100644
--- a/test/validation/buffer/buffer.c
+++ b/test/validation/buffer/buffer.c
@@ -257,9 +257,15 @@ odp_suiteinfo_t buffer_suites[] = {
 	ODP_SUITE_INFO_NULL,
 };
 
-int buffer_main(void)
+int buffer_main(int argc, char *argv[])
 {
-	int ret = odp_cunit_register(buffer_suites);
+	int ret;
+
+	/* parse common options: */
+	if (odp_cunit_parse_options(argc, argv))
+		return -1;
+
+	ret = odp_cunit_register(buffer_suites);
 
 	if (ret == 0)
 		odp_cunit_run();
diff --git a/test/validation/buffer/buffer.h b/test/validation/buffer/buffer.h
index b50bcc8..48331e3 100644
--- a/test/validation/buffer/buffer.h
+++ b/test/validation/buffer/buffer.h
@@ -27,6 +27,6 @@ int buffer_suite_term(void);
 extern odp_suiteinfo_t buffer_suites[];
 
 /* main test program: */
-int buffer_main(void);
+int buffer_main(int argc, char *argv[]);
 
 #endif
diff --git a/test/validation/buffer/buffer_main.c b/test/validation/buffer/buffer_main.c
index b9b5146..47168f8 100644
--- a/test/validation/buffer/buffer_main.c
+++ b/test/validation/buffer/buffer_main.c
@@ -5,7 +5,7 @@
  */
 #include "buffer.h"
 
-int main(void)
+int main(int argc, char *argv[])
 {
-	return buffer_main();
+	return buffer_main(argc, argv);
 }
diff --git a/test/validation/classification/classification.c b/test/validation/classification/classification.c
index a266c56..1032e7f 100644
--- a/test/validation/classification/classification.c
+++ b/test/validation/classification/classification.c
@@ -26,9 +26,15 @@ odp_suiteinfo_t classification_suites[] = {
 	ODP_SUITE_INFO_NULL,
 };
 
-int classification_main(void)
+int classification_main(int argc, char *argv[])
 {
-	int ret = odp_cunit_register(classification_suites);
+	int ret;
+
+	/* parse common options: */
+	if (odp_cunit_parse_options(argc, argv))
+		return -1;
+
+	ret = odp_cunit_register(classification_suites);
 
 	if (ret == 0)
 		ret = odp_cunit_run();
diff --git a/test/validation/classification/classification.h b/test/validation/classification/classification.h
index 1c442ce..d73c821 100644
--- a/test/validation/classification/classification.h
+++ b/test/validation/classification/classification.h
@@ -90,6 +90,6 @@ int classification_suite_term(void);
 extern odp_suiteinfo_t classification_suites[];
 
 /* main test program: */
-int classification_main(void);
+int classification_main(int argc, char *argv[]);
 
 #endif
diff --git a/test/validation/classification/classification_main.c b/test/validation/classification/classification_main.c
index 712fada..8902463 100644
--- a/test/validation/classification/classification_main.c
+++ b/test/validation/classification/classification_main.c
@@ -6,7 +6,7 @@
 
 #include "classification.h"
 
-int main(void)
+int main(int argc, char *argv[])
 {
-	return classification_main();
+	return classification_main(argc, argv);
 }
diff --git a/test/validation/cpumask/cpumask.c b/test/validation/cpumask/cpumask.c
index 24e67b0..a0cb559 100644
--- a/test/validation/cpumask/cpumask.c
+++ b/test/validation/cpumask/cpumask.c
@@ -99,9 +99,15 @@ odp_suiteinfo_t cpumask_suites[] = {
 	ODP_SUITE_INFO_NULL,
 };
 
-int cpumask_main(void)
+int cpumask_main(int argc, char *argv[])
 {
-	int ret = odp_cunit_register(cpumask_suites);
+	int ret;
+
+	/* parse common options: */
+	if (odp_cunit_parse_options(argc, argv))
+		return -1;
+
+	ret = odp_cunit_register(cpumask_suites);
 
 	if (ret == 0)
 		ret = odp_cunit_run();
diff --git a/test/validation/cpumask/cpumask.h b/test/validation/cpumask/cpumask.h
index 2019f7a..87a4512 100644
--- a/test/validation/cpumask/cpumask.h
+++ b/test/validation/cpumask/cpumask.h
@@ -23,6 +23,6 @@ extern odp_testinfo_t cpumask_suite[];
 extern odp_suiteinfo_t cpumask_suites[];
 
 /* main test program: */
-int cpumask_main(void);
+int cpumask_main(int argc, char *argv[]);
 
 #endif
diff --git a/test/validation/cpumask/cpumask_main.c b/test/validation/cpumask/cpumask_main.c
index ceac674..39e3171 100644
--- a/test/validation/cpumask/cpumask_main.c
+++ b/test/validation/cpumask/cpumask_main.c
@@ -5,7 +5,7 @@
  */
 #include "cpumask.h"
 
-int main(void)
+int main(int argc, char *argv[])
 {
-	return cpumask_main();
+	return cpumask_main(argc, argv);
 }
diff --git a/test/validation/crypto/crypto.c b/test/validation/crypto/crypto.c
index be1fd3f..8946cde 100644
--- a/test/validation/crypto/crypto.c
+++ b/test/validation/crypto/crypto.c
@@ -101,10 +101,14 @@ int crypto_term(odp_instance_t inst)
 	return 0;
 }
 
-int crypto_main(void)
+int crypto_main(int argc, char *argv[])
 {
 	int ret;
 
+	/* parse common options: */
+	if (odp_cunit_parse_options(argc, argv))
+		return -1;
+
 	odp_cunit_register_global_init(crypto_init);
 	odp_cunit_register_global_term(crypto_term);
 
diff --git a/test/validation/crypto/crypto.h b/test/validation/crypto/crypto.h
index 91e2e33..9b909aa 100644
--- a/test/validation/crypto/crypto.h
+++ b/test/validation/crypto/crypto.h
@@ -40,6 +40,6 @@ int crypto_init(odp_instance_t *inst);
 int crypto_term(odp_instance_t inst);
 
 /* main test program: */
-int crypto_main(void);
+int crypto_main(int argc, char *argv[]);
 
 #endif
diff --git a/test/validation/crypto/crypto_main.c b/test/validation/crypto/crypto_main.c
index 644e666..d8c26fa 100644
--- a/test/validation/crypto/crypto_main.c
+++ b/test/validation/crypto/crypto_main.c
@@ -6,7 +6,7 @@
 
 #include "crypto.h"
 
-int main(void)
+int main(int argc, char *argv[])
 {
-	return crypto_main();
+	return crypto_main(argc, argv);
 }
diff --git a/test/validation/errno/errno.c b/test/validation/errno/errno.c
index 9dd1be6..e3b6ced 100644
--- a/test/validation/errno/errno.c
+++ b/test/validation/errno/errno.c
@@ -29,9 +29,15 @@ odp_suiteinfo_t errno_suites[] = {
 	ODP_SUITE_INFO_NULL,
 };
 
-int errno_main(void)
+int errno_main(int argc, char *argv[])
 {
-	int ret = odp_cunit_register(errno_suites);
+	int ret;
+
+	/* parse common options: */
+	if (odp_cunit_parse_options(argc, argv))
+		return -1;
+
+	ret = odp_cunit_register(errno_suites);
 
 	if (ret == 0)
 		ret = odp_cunit_run();
diff --git a/test/validation/errno/errno.h b/test/validation/errno/errno.h
index 3e217b5..7203851 100644
--- a/test/validation/errno/errno.h
+++ b/test/validation/errno/errno.h
@@ -19,6 +19,6 @@ extern odp_testinfo_t errno_suite[];
 extern odp_suiteinfo_t errno_suites[];
 
 /* main test program: */
-int errno_main(void);
+int errno_main(int argc, char *argv[]);
 
 #endif
diff --git a/test/validation/errno/errno_main.c b/test/validation/errno/errno_main.c
index 0e82422..0138279 100644
--- a/test/validation/errno/errno_main.c
+++ b/test/validation/errno/errno_main.c
@@ -6,7 +6,7 @@
 
 #include "errno.h"
 
-int main(void)
+int main(int argc, char *argv[])
 {
-	return errno_main();
+	return errno_main(argc, argv);
 }
diff --git a/test/validation/hash/hash.c b/test/validation/hash/hash.c
index faba0b6..feaa6ae 100644
--- a/test/validation/hash/hash.c
+++ b/test/validation/hash/hash.c
@@ -37,9 +37,15 @@ odp_suiteinfo_t hash_suites[] = {
 	ODP_SUITE_INFO_NULL
 };
 
-int hash_main(void)
+int hash_main(int argc, char *argv[])
 {
-	int ret = odp_cunit_register(hash_suites);
+	int ret;
+
+	/* parse common options: */
+	if (odp_cunit_parse_options(argc, argv))
+		return -1;
+
+	ret = odp_cunit_register(hash_suites);
 
 	if (ret == 0)
 		ret = odp_cunit_run();
diff --git a/test/validation/hash/hash.h b/test/validation/hash/hash.h
index 46c7466..936571e 100644
--- a/test/validation/hash/hash.h
+++ b/test/validation/hash/hash.h
@@ -19,6 +19,6 @@ extern odp_testinfo_t hash_suite[];
 extern odp_suiteinfo_t hash_suites[];
 
 /* main test program: */
-int hash_main(void);
+int hash_main(int argc, char *argv[]);
 
 #endif
diff --git a/test/validation/hash/hash_main.c b/test/validation/hash/hash_main.c
index 4f7765c..f9818b7 100644
--- a/test/validation/hash/hash_main.c
+++ b/test/validation/hash/hash_main.c
@@ -6,7 +6,7 @@
 
 #include "hash.h"
 
-int main(void)
+int main(int argc, char *argv[])
 {
-	return hash_main();
+	return hash_main(argc, argv);
 }
diff --git a/test/validation/init/init_main_ok.c b/test/validation/init/init_main_ok.c
index 285c747..6053ec1 100644
--- a/test/validation/init/init_main_ok.c
+++ b/test/validation/init/init_main_ok.c
@@ -5,7 +5,7 @@
  */
 #include "init.h"
 
-int main(void)
+int main(int argc, char *argv[])
 {
-	return init_main_ok();
+	return init_main_ok(argc, argv);
 }
diff --git a/test/validation/lock/lock.c b/test/validation/lock/lock.c
index fb69261..a668a31 100644
--- a/test/validation/lock/lock.c
+++ b/test/validation/lock/lock.c
@@ -1205,10 +1205,14 @@ odp_suiteinfo_t lock_suites[] = {
 	ODP_SUITE_INFO_NULL
 };
 
-int lock_main(void)
+int lock_main(int argc, char *argv[])
 {
 	int ret;
 
+	/* parse common options: */
+	if (odp_cunit_parse_options(argc, argv))
+		return -1;
+
 	odp_cunit_register_global_init(lock_init);
 
 	ret = odp_cunit_register(lock_suites);
diff --git a/test/validation/lock/lock.h b/test/validation/lock/lock.h
index 9640bf6..5adc633 100644
--- a/test/validation/lock/lock.h
+++ b/test/validation/lock/lock.h
@@ -40,6 +40,6 @@ extern odp_suiteinfo_t lock_suites[];
 int lock_init(odp_instance_t *inst);
 
 /* main test program: */
-int lock_main(void);
+int lock_main(int argc, char *argv[]);
 
 #endif
diff --git a/test/validation/lock/lock_main.c b/test/validation/lock/lock_main.c
index c12c2b5..5a30f02 100644
--- a/test/validation/lock/lock_main.c
+++ b/test/validation/lock/lock_main.c
@@ -6,7 +6,7 @@
 
 #include "lock.h"
 
-int main(void)
+int main(int argc, char *argv[])
 {
-	return lock_main();
+	return lock_main(argc, argv);
 }
diff --git a/test/validation/packet/packet.c b/test/validation/packet/packet.c
index 7c9622f..0937259 100644
--- a/test/validation/packet/packet.c
+++ b/test/validation/packet/packet.c
@@ -1279,9 +1279,15 @@ odp_suiteinfo_t packet_suites[] = {
 	ODP_SUITE_INFO_NULL,
 };
 
-int packet_main(void)
+int packet_main(int argc, char *argv[])
 {
-	int ret = odp_cunit_register(packet_suites);
+	int ret;
+
+	/* parse common options: */
+	if (odp_cunit_parse_options(argc, argv))
+		return -1;
+
+	ret = odp_cunit_register(packet_suites);
 
 	if (ret == 0)
 		ret = odp_cunit_run();
diff --git a/test/validation/packet/packet.h b/test/validation/packet/packet.h
index 142502b..10a377c 100644
--- a/test/validation/packet/packet.h
+++ b/test/validation/packet/packet.h
@@ -44,6 +44,6 @@ int packet_suite_term(void);
 extern odp_suiteinfo_t packet_suites[];
 
 /* main test program: */
-int packet_main(void);
+int packet_main(int argc, char *argv[]);
 
 #endif
diff --git a/test/validation/packet/packet_main.c b/test/validation/packet/packet_main.c
index 90972fd..511bb10 100644
--- a/test/validation/packet/packet_main.c
+++ b/test/validation/packet/packet_main.c
@@ -6,7 +6,7 @@
 
 #include "packet.h"
 
-int main(void)
+int main(int argc, char *argv[])
 {
-	return packet_main();
+	return packet_main(argc, argv);
 }
diff --git a/test/validation/pool/pool.c b/test/validation/pool/pool.c
index 7f32991..d48ac2a 100644
--- a/test/validation/pool/pool.c
+++ b/test/validation/pool/pool.c
@@ -114,9 +114,15 @@ odp_suiteinfo_t pool_suites[] = {
 	ODP_SUITE_INFO_NULL,
 };
 
-int pool_main(void)
+int pool_main(int argc, char *argv[])
 {
-	int ret = odp_cunit_register(pool_suites);
+	int ret;
+
+	/* parse common options: */
+	if (odp_cunit_parse_options(argc, argv))
+		return -1;
+
+	ret = odp_cunit_register(pool_suites);
 
 	if (ret == 0)
 		ret = odp_cunit_run();
diff --git a/test/validation/pool/pool.h b/test/validation/pool/pool.h
index 6a83a2e..29e5176 100644
--- a/test/validation/pool/pool.h
+++ b/test/validation/pool/pool.h
@@ -23,6 +23,6 @@ extern odp_testinfo_t pool_suite[];
 extern odp_suiteinfo_t pool_suites[];
 
 /* main test program: */
-int pool_main(void);
+int pool_main(int argc, char *argv[]);
 
 #endif
diff --git a/test/validation/pool/pool_main.c b/test/validation/pool/pool_main.c
index 5ef739e..bf06585 100644
--- a/test/validation/pool/pool_main.c
+++ b/test/validation/pool/pool_main.c
@@ -6,7 +6,7 @@
 
 #include "pool.h"
 
-int main(void)
+int main(int argc, char *argv[])
 {
-	return pool_main();
+	return pool_main(argc, argv);
 }
diff --git a/test/validation/queue/queue.c b/test/validation/queue/queue.c
index 96d21fa..1e60cd7 100644
--- a/test/validation/queue/queue.c
+++ b/test/validation/queue/queue.c
@@ -199,9 +199,15 @@ odp_suiteinfo_t queue_suites[] = {
 	ODP_SUITE_INFO_NULL,
 };
 
-int queue_main(void)
+int queue_main(int argc, char *argv[])
 {
-	int ret = odp_cunit_register(queue_suites);
+	int ret;
+
+	/* parse common options: */
+	if (odp_cunit_parse_options(argc, argv))
+		return -1;
+
+	ret = odp_cunit_register(queue_suites);
 
 	if (ret == 0)
 		ret = odp_cunit_run();
diff --git a/test/validation/queue/queue.h b/test/validation/queue/queue.h
index 813fe1e..4ef52f5 100644
--- a/test/validation/queue/queue.h
+++ b/test/validation/queue/queue.h
@@ -24,6 +24,6 @@ int queue_suite_term(void);
 extern odp_suiteinfo_t queue_suites[];
 
 /* main test program: */
-int queue_main(void);
+int queue_main(int argc, char *argv[]);
 
 #endif
diff --git a/test/validation/queue/queue_main.c b/test/validation/queue/queue_main.c
index 326f131..b461b86 100644
--- a/test/validation/queue/queue_main.c
+++ b/test/validation/queue/queue_main.c
@@ -6,7 +6,7 @@
 
 #include "queue.h"
 
-int main(void)
+int main(int argc, char *argv[])
 {
-	return queue_main();
+	return queue_main(argc, argv);
 }
diff --git a/test/validation/random/random.c b/test/validation/random/random.c
index 7f899e8..7572366 100644
--- a/test/validation/random/random.c
+++ b/test/validation/random/random.c
@@ -27,9 +27,15 @@ odp_suiteinfo_t random_suites[] = {
 	ODP_SUITE_INFO_NULL,
 };
 
-int random_main(void)
+int random_main(int argc, char *argv[])
 {
-	int ret = odp_cunit_register(random_suites);
+	int ret;
+
+	/* parse common options: */
+	if (odp_cunit_parse_options(argc, argv))
+		return -1;
+
+	ret = odp_cunit_register(random_suites);
 
 	if (ret == 0)
 		ret = odp_cunit_run();
diff --git a/test/validation/random/random.h b/test/validation/random/random.h
index 4101ef1..26202cc 100644
--- a/test/validation/random/random.h
+++ b/test/validation/random/random.h
@@ -19,6 +19,6 @@ extern odp_testinfo_t random_suite[];
 extern odp_suiteinfo_t random_suites[];
 
 /* main test program: */
-int random_main(void);
+int random_main(int argc, char *argv[]);
 
 #endif
diff --git a/test/validation/random/random_main.c b/test/validation/random/random_main.c
index 36b32f7..8f38a84 100644
--- a/test/validation/random/random_main.c
+++ b/test/validation/random/random_main.c
@@ -6,7 +6,7 @@
 
 #include "random.h"
 
-int main(void)
+int main(int argc, char *argv[])
 {
-	return random_main();
+	return random_main(argc, argv);
 }
diff --git a/test/validation/scheduler/scheduler.c b/test/validation/scheduler/scheduler.c
index c459698..ca04591 100644
--- a/test/validation/scheduler/scheduler.c
+++ b/test/validation/scheduler/scheduler.c
@@ -1628,9 +1628,15 @@ odp_suiteinfo_t scheduler_suites[] = {
 	ODP_SUITE_INFO_NULL,
 };
 
-int scheduler_main(void)
+int scheduler_main(int argc, char *argv[])
 {
-	int ret = odp_cunit_register(scheduler_suites);
+	int ret;
+
+	/* parse common options: */
+	if (odp_cunit_parse_options(argc, argv))
+		return -1;
+
+	ret = odp_cunit_register(scheduler_suites);
 
 	if (ret == 0)
 		ret = odp_cunit_run();
diff --git a/test/validation/scheduler/scheduler.h b/test/validation/scheduler/scheduler.h
index cd69e92..a619d89 100644
--- a/test/validation/scheduler/scheduler.h
+++ b/test/validation/scheduler/scheduler.h
@@ -57,6 +57,6 @@ int scheduler_suite_term(void);
 extern odp_suiteinfo_t scheduler_suites[];
 
 /* main test program: */
-int scheduler_main(void);
+int scheduler_main(int argc, char *argv[]);
 
 #endif
diff --git a/test/validation/scheduler/scheduler_main.c b/test/validation/scheduler/scheduler_main.c
index 1f6f32f..57cfa5f 100644
--- a/test/validation/scheduler/scheduler_main.c
+++ b/test/validation/scheduler/scheduler_main.c
@@ -6,7 +6,7 @@
 
 #include "scheduler.h"
 
-int main(void)
+int main(int argc, char *argv[])
 {
-	return scheduler_main();
+	return scheduler_main(argc, argv);
 }
diff --git a/test/validation/std_clib/std_clib.c b/test/validation/std_clib/std_clib.c
index 5d5beab..7f089ea 100644
--- a/test/validation/std_clib/std_clib.c
+++ b/test/validation/std_clib/std_clib.c
@@ -93,9 +93,15 @@ odp_suiteinfo_t std_clib_suites[] = {
 	ODP_SUITE_INFO_NULL
 };
 
-int std_clib_main(void)
+int std_clib_main(int argc, char *argv[])
 {
-	int ret = odp_cunit_register(std_clib_suites);
+	int ret;
+
+	/* parse common options: */
+	if (odp_cunit_parse_options(argc, argv))
+		return -1;
+
+	ret = odp_cunit_register(std_clib_suites);
 
 	if (ret == 0)
 		ret = odp_cunit_run();
diff --git a/test/validation/std_clib/std_clib.h b/test/validation/std_clib/std_clib.h
index eab6872..2804f27 100644
--- a/test/validation/std_clib/std_clib.h
+++ b/test/validation/std_clib/std_clib.h
@@ -16,6 +16,6 @@ extern odp_testinfo_t std_clib_suite[];
 extern odp_suiteinfo_t std_clib_suites[];
 
 /* main test program: */
-int std_clib_main(void);
+int std_clib_main(int argc, char *argv[]);
 
 #endif
diff --git a/test/validation/std_clib/std_clib_main.c b/test/validation/std_clib/std_clib_main.c
index 010c1c6..ef6f273 100644
--- a/test/validation/std_clib/std_clib_main.c
+++ b/test/validation/std_clib/std_clib_main.c
@@ -6,7 +6,7 @@
 
 #include "std_clib.h"
 
-int main(void)
+int main(int argc, char *argv[])
 {
-	return std_clib_main();
+	return std_clib_main(argc, argv);
 }
diff --git a/test/validation/system/system.c b/test/validation/system/system.c
index 7520d16..57ff34e 100644
--- a/test/validation/system/system.c
+++ b/test/validation/system/system.c
@@ -327,9 +327,15 @@ odp_suiteinfo_t system_suites[] = {
 	ODP_SUITE_INFO_NULL,
 };
 
-int system_main(void)
+int system_main(int argc, char *argv[])
 {
-	int ret = odp_cunit_register(system_suites);
+	int ret;
+
+	/* parse common options: */
+	if (odp_cunit_parse_options(argc, argv))
+		return -1;
+
+	ret = odp_cunit_register(system_suites);
 
 	if (ret == 0)
 		ret = odp_cunit_run();
diff --git a/test/validation/system/system.h b/test/validation/system/system.h
index cf585a7..cbb994e 100644
--- a/test/validation/system/system.h
+++ b/test/validation/system/system.h
@@ -38,6 +38,6 @@ extern odp_testinfo_t system_suite[];
 extern odp_suiteinfo_t system_suites[];
 
 /* main test program: */
-int system_main(void);
+int system_main(int argc, char *argv[]);
 
 #endif
diff --git a/test/validation/system/system_main.c b/test/validation/system/system_main.c
index 5293dc0..50d202a 100644
--- a/test/validation/system/system_main.c
+++ b/test/validation/system/system_main.c
@@ -6,7 +6,7 @@
 
 #include "system.h"
 
-int main(void)
+int main(int argc, char *argv[])
 {
-	return system_main();
+	return system_main(argc, argv);
 }
diff --git a/test/validation/thread/thread.c b/test/validation/thread/thread.c
index 29ada26..24f1c45 100644
--- a/test/validation/thread/thread.c
+++ b/test/validation/thread/thread.c
@@ -123,9 +123,15 @@ odp_suiteinfo_t thread_suites[] = {
 	ODP_SUITE_INFO_NULL,
 };
 
-int thread_main(void)
+int thread_main(int argc, char *argv[])
 {
-	int ret = odp_cunit_register(thread_suites);
+	int ret;
+
+	/* parse common options: */
+	if (odp_cunit_parse_options(argc, argv))
+		return -1;
+
+	ret = odp_cunit_register(thread_suites);
 
 	if (ret == 0)
 		ret = odp_cunit_run();
diff --git a/test/validation/thread/thread.h b/test/validation/thread/thread.h
index f8ea710..d511c92 100644
--- a/test/validation/thread/thread.h
+++ b/test/validation/thread/thread.h
@@ -28,6 +28,6 @@ extern odp_testinfo_t thread_suite[];
 extern odp_suiteinfo_t thread_suites[];
 
 /* main test program: */
-int thread_main(void);
+int thread_main(int argc, char *argv[]);
 
 #endif
diff --git a/test/validation/thread/thread_main.c b/test/validation/thread/thread_main.c
index 1751b01..53c7565 100644
--- a/test/validation/thread/thread_main.c
+++ b/test/validation/thread/thread_main.c
@@ -6,7 +6,7 @@
 
 #include "thread.h"
 
-int main(void)
+int main(int argc, char *argv[])
 {
-	return thread_main();
+	return thread_main(argc, argv);
 }
diff --git a/test/validation/time/time.c b/test/validation/time/time.c
index da456ea..321b00d 100644
--- a/test/validation/time/time.c
+++ b/test/validation/time/time.c
@@ -440,9 +440,15 @@ odp_suiteinfo_t time_suites[] = {
 		ODP_SUITE_INFO_NULL
 };
 
-int time_main(void)
+int time_main(int argc, char *argv[])
 {
-	int ret = odp_cunit_register(time_suites);
+	int ret;
+
+	/* parse common options: */
+	if (odp_cunit_parse_options(argc, argv))
+		return -1;
+
+	ret = odp_cunit_register(time_suites);
 
 	if (ret == 0)
 		ret = odp_cunit_run();
diff --git a/test/validation/time/time.h b/test/validation/time/time.h
index 3911814..e5132a4 100644
--- a/test/validation/time/time.h
+++ b/test/validation/time/time.h
@@ -35,6 +35,6 @@ extern odp_testinfo_t time_suite_time[];
 extern odp_suiteinfo_t time_suites[];
 
 /* main test program: */
-int time_main(void);
+int time_main(int argc, char *argv[]);
 
 #endif
diff --git a/test/validation/time/time_main.c b/test/validation/time/time_main.c
index 36cc1dc..f86d638 100644
--- a/test/validation/time/time_main.c
+++ b/test/validation/time/time_main.c
@@ -6,7 +6,7 @@
 
 #include "time.h"
 
-int main(void)
+int main(int argc, char *argv[])
 {
-	return time_main();
+	return time_main(argc, argv);
 }
diff --git a/test/validation/timer/timer.c b/test/validation/timer/timer.c
index 1b325c6..6a2694a 100644
--- a/test/validation/timer/timer.c
+++ b/test/validation/timer/timer.c
@@ -563,8 +563,12 @@ odp_suiteinfo_t timer_suites[] = {
 	ODP_SUITE_INFO_NULL,
 };
 
-int timer_main(void)
+int timer_main(int argc, char *argv[])
 {
+	/* parse common options: */
+	if (odp_cunit_parse_options(argc, argv))
+		return -1;
+
 	int ret = odp_cunit_register(timer_suites);
 
 	if (ret == 0)
diff --git a/test/validation/timer/timer.h b/test/validation/timer/timer.h
index 46ea8d7..bd304ff 100644
--- a/test/validation/timer/timer.h
+++ b/test/validation/timer/timer.h
@@ -22,6 +22,6 @@ extern odp_testinfo_t timer_suite[];
 extern odp_suiteinfo_t timer_suites[];
 
 /* main test program: */
-int timer_main(void);
+int timer_main(int argc, char *argv[]);
 
 #endif
diff --git a/test/validation/timer/timer_main.c b/test/validation/timer/timer_main.c
index 24eb77b..c318763 100644
--- a/test/validation/timer/timer_main.c
+++ b/test/validation/timer/timer_main.c
@@ -6,7 +6,7 @@
 
 #include "timer.h"
 
-int main(void)
+int main(int argc, char *argv[])
 {
-	return timer_main();
+	return timer_main(argc, argv);
 }
diff --git a/test/validation/traffic_mngr/traffic_mngr.c b/test/validation/traffic_mngr/traffic_mngr.c
index 305b91a..d2ed3e1 100644
--- a/test/validation/traffic_mngr/traffic_mngr.c
+++ b/test/validation/traffic_mngr/traffic_mngr.c
@@ -3836,8 +3836,12 @@ odp_suiteinfo_t traffic_mngr_suites[] = {
 	ODP_SUITE_INFO_NULL
 };
 
-int traffic_mngr_main(void)
+int traffic_mngr_main(int argc, char *argv[])
 {
+	/* parse common options: */
+	if (odp_cunit_parse_options(argc, argv))
+		return -1;
+
 	int ret = odp_cunit_register(traffic_mngr_suites);
 
 	if (ret == 0)
diff --git a/test/validation/traffic_mngr/traffic_mngr.h b/test/validation/traffic_mngr/traffic_mngr.h
index 0d50751..7817bac 100644
--- a/test/validation/traffic_mngr/traffic_mngr.h
+++ b/test/validation/traffic_mngr/traffic_mngr.h
@@ -37,6 +37,6 @@ int traffic_mngr_suite_term(void);
 extern odp_suiteinfo_t traffic_mngr_suites[];
 
 /* main test program: */
-int traffic_mngr_main(void);
+int traffic_mngr_main(int argc, char *argv[]);
 
 #endif
diff --git a/test/validation/traffic_mngr/traffic_mngr_main.c b/test/validation/traffic_mngr/traffic_mngr_main.c
index 0cf042a..1fc1f78 100644
--- a/test/validation/traffic_mngr/traffic_mngr_main.c
+++ b/test/validation/traffic_mngr/traffic_mngr_main.c
@@ -6,7 +6,7 @@
 
 #include "traffic_mngr.h"
 
-int main(void)
+int main(int argc, char *argv[])
 {
-	return traffic_mngr_main();
+	return traffic_mngr_main(argc, argv);
 }
