diff --git a/tests/crypto/cmac_mode/prj.conf b/tests/crypto/cmac_mode/prj.conf
index 9c9fd73..1cfa374 100644
--- a/tests/crypto/cmac_mode/prj.conf
+++ b/tests/crypto/cmac_mode/prj.conf
@@ -1,3 +1,4 @@
 CONFIG_TINYCRYPT=y
 CONFIG_TINYCRYPT_AES=y
 CONFIG_TINYCRYPT_AES_CMAC=y
+CONFIG_ZTEST=y
diff --git a/tests/crypto/cmac_mode/src/Makefile b/tests/crypto/cmac_mode/src/Makefile
index 54d7d2e..e92809f 100644
--- a/tests/crypto/cmac_mode/src/Makefile
+++ b/tests/crypto/cmac_mode/src/Makefile
@@ -1,3 +1,4 @@
+include ${ZEPHYR_BASE}/tests/Makefile.test
 ccflags-y += -I$(ZEPHYR_BASE)/tests/include
 
-obj-y = test_cmac_mode.o
+obj-y = main.o cmac_mode.o
diff --git a/tests/crypto/cmac_mode/src/test_cmac_mode.c b/tests/crypto/cmac_mode/src/cmac_mode.c
similarity index 92%
rename from tests/crypto/cmac_mode/src/test_cmac_mode.c
rename to tests/crypto/cmac_mode/src/cmac_mode.c
index 93e18ab..4a6e8c8 100644
--- a/tests/crypto/cmac_mode/src/test_cmac_mode.c
+++ b/tests/crypto/cmac_mode/src/cmac_mode.c
@@ -48,6 +48,7 @@
 
 #include <stdio.h>
 #include <string.h>
+#include <ztest.h>
 
 #define BUF_LEN 16
 
@@ -250,7 +251,7 @@
  * Main task to test CMAC
  */
 
-void main(void)
+void test_cmac_mode(void)
 {
 
 	u32_t result = TC_PASS;
@@ -268,38 +269,33 @@
 
 	(void) tc_cmac_setup(&state, key, &sched);
 	result = verify_gf_2_128_double(K1, K2, state);
-	if (result == TC_FAIL) { /* terminate test */
-		TC_ERROR("CMAC test #1 (128 double) failed.\n");
-		goto exitTest;
-	}
+
+	/**TESTPOINT: Check result - test 1*/
+	zassert_false(result, "CMAC test #1 (128 double) failed");
+
 	(void) tc_cmac_setup(&state, key, &sched);
 	result = verify_cmac_null_msg(&state);
-	if (result == TC_FAIL) { /* terminate test */
-		TC_ERROR("CMAC test #2 (null msg) failed.\n");
-		goto exitTest;
-	}
+
+	/**TESTPOINT: Check result - test 2*/
+	zassert_false(result, "CMAC test #2 (null msg) failed");
+
 	(void) tc_cmac_setup(&state, key, &sched);
 	result = verify_cmac_1_block_msg(&state);
-	if (result == TC_FAIL) { /* terminate test */
-		TC_ERROR("CMAC test #3 (1 block msg)failed.\n");
-		goto exitTest;
-	}
+
+	/**TESTPOINT: Check result - test 3*/
+	zassert_false(result, "CMAC test #1 (1 block msg) failed");
+
 	(void) tc_cmac_setup(&state, key, &sched);
 	result = verify_cmac_320_bit_msg(&state);
-	if (result == TC_FAIL) { /* terminate test */
-		TC_ERROR("CMAC test #4 (320 bit msg) failed.\n");
-		goto exitTest;
-	}
+
+	/**TESTPOINT: Check result - test 4*/
+	zassert_false(result, "CMAC test #1 (320 bit msg) failed");
+
 	(void) tc_cmac_setup(&state, key, &sched);
 	result = verify_cmac_512_bit_msg(&state);
-	if (result == TC_FAIL) { /* terminate test */
-		TC_ERROR("CMAC test #5  (512 bit msg)failed.\n");
-		goto exitTest;
-	}
+
+	/**TESTPOINT: Check result - test 5*/
+	zassert_false(result, "CMAC test #1 (512 bit msg) failed");
 
 	TC_PRINT("All CMAC tests succeeded!\n");
-
-exitTest:
-	TC_END_RESULT(result);
-	TC_END_REPORT(result);
 }
diff --git a/tests/crypto/cmac_mode/src/main.c b/tests/crypto/cmac_mode/src/main.c
new file mode 100644
index 0000000..2134929
--- /dev/null
+++ b/tests/crypto/cmac_mode/src/main.c
@@ -0,0 +1,16 @@
+/*
+ * Copyright (c) 2017 Intel Corporation
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+#include <ztest.h>
+extern void test_cmac_mode(void);
+
+/**test case main entry*/
+void test_main(void *p1, void *p2, void *p3)
+{
+	ztest_test_suite(test_cmac_fn,
+		ztest_unit_test(test_cmac_mode));
+	ztest_run_test_suite(test_cmac_fn);
+}
