diff --git a/ci/run_verilator_pytest.sh b/ci/run_verilator_pytest.sh
index 4d0217b..d18313e 100755
--- a/ci/run_verilator_pytest.sh
+++ b/ci/run_verilator_pytest.sh
@@ -16,7 +16,7 @@
 
 TEST_TARGETS=(
   "examples/hello_usbdev/hello_usbdev_sim_verilator.elf"
-  "tests/aes/aes_test_sim_verilator.elf"
+  "tests/aes_test_sim_verilator.elf"
   "tests/consecutive_irqs/consecutive_irqs_test_sim_verilator.elf"
   "tests/flash_ctrl/flash_test_sim_verilator.elf"
   "tests/hmac/sha256_test_sim_verilator.elf"
diff --git a/sw/device/tests/aes/meson.build b/sw/device/tests/aes/meson.build
deleted file mode 100644
index 8ec3494..0000000
--- a/sw/device/tests/aes/meson.build
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright lowRISC contributors.
-# Licensed under the Apache License, Version 2.0, see LICENSE for details.
-# SPDX-License-Identifier: Apache-2.0
-
-foreach device_name, device_lib : sw_lib_arch_core_devices
-  aes_test_elf = executable(
-    'aes_test_' + device_name,
-    sources: ['aes_test.c'],
-    name_suffix: 'elf',
-    dependencies: [
-      sw_lib_aes,
-      sw_lib_uart,
-      sw_lib_mem,
-      riscv_crt,
-      device_lib,
-    ],
-  )
-
-  aes_test_embedded = custom_target(
-    'aes_test_' + device_name,
-    command: make_embedded_target,
-    input: aes_test_elf,
-    output: make_embedded_target_outputs,
-    build_by_default: true,
-  )
-
-  custom_target(
-    'aes_test_export_' + device_name,
-    command: export_embedded_target,
-    input: [aes_test_elf, aes_test_embedded],
-    output: 'aes_test_export_' + device_name,
-    build_always_stale: true,
-    build_by_default: true,
-  )
-endforeach
diff --git a/sw/device/tests/aes/aes_test.c b/sw/device/tests/aes_test.c
similarity index 76%
rename from sw/device/tests/aes/aes_test.c
rename to sw/device/tests/aes_test.c
index e7602f3..9c611df 100644
--- a/sw/device/tests/aes/aes_test.c
+++ b/sw/device/tests/aes_test.c
@@ -4,9 +4,9 @@
 
 #include "sw/device/lib/aes.h"
 
-#include "sw/device/lib/arch/device.h"
-#include "sw/device/lib/common.h"
-#include "sw/device/lib/uart.h"
+#include "sw/device/lib/base/log.h"
+#include "sw/device/lib/runtime/check.h"
+#include "sw/device/lib/testing/test_main.h"
 
 // The following plaintext, key and ciphertext are extracted from Appendix C of
 // the Advanced Encryption Standard (AES) FIPS Publication 197 available at
@@ -25,17 +25,14 @@
     0x8e, 0xa2, 0xb7, 0xca, 0x51, 0x67, 0x45, 0xbf,
     0xea, 0xfc, 0x49, 0x90, 0x4b, 0x49, 0x60, 0x89};
 
-int main(int argc, char **argv) {
-  bool has_error = false;
-
+bool test_main(void) {
   // Wait for AES unit being idle
   while (!aes_idle()) {
   }
 
   uint8_t buffer[16];
 
-  uart_init(kUartBaudrate);
-  uart_send_str("Running AES test\r\n");
+  LOG_INFO("Running AES test");
 
   // Setup AES config
   aes_cfg_t aes_cfg = {
@@ -52,9 +49,9 @@
 
   // Check against golden cipher text
   for (int i = 0; i < 16; i++) {
-    if (cipher_text_gold_32_1[i] != buffer[i]) {
-      has_error = true;
-    }
+    CHECK(cipher_text_gold_32_1[i] == buffer[i],
+          "Encoded cipher_text[%d] mismatched: exp = %x, actual = %x", i,
+          cipher_text_gold_32_1[i], buffer[i]);
   }
 
   // Decode
@@ -65,19 +62,13 @@
 
   // Check against input plain text
   for (int i = 0; i < 16; i++) {
-    if (plain_text_1[i] != buffer[i]) {
-      has_error = true;
-    }
+    CHECK(plain_text_1[i] == buffer[i],
+          "Decoded plain_text[%d] mismatched: exp = %x, actual = %x", i,
+          plain_text_1[i], buffer[i]);
   }
 
   // Clear
   aes_clear();
 
-  if (has_error) {
-    uart_send_str("FAIL!\r\n");
-  } else {
-    uart_send_str("PASS!\r\n");
-  }
-
-  return 0;
+  return true;
 }
