diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 28e8e185..a6f3715a 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -33,9 +33,10 @@ jobs:
         submodules: recursive
     - run: sudo gem install apt-spy2 && sudo apt-spy2 fix
     - run: sudo apt-get update -y
-    - run: sudo apt-get install -o Acquire::Retries=5 -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
+    - run: sudo apt-get install -o Acquire::Retries=5 -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu qemu-user-static
     - run: cmake -DCMAKE_TOOLCHAIN_FILE=CMakeARM64Cross.txt
     - run: make -j4 VERBOSE=1
+    - run: make -j4 test ARGS=-V
   armv7:
     runs-on: ubuntu-latest
     steps:
@@ -45,9 +46,10 @@ jobs:
         submodules: recursive
     - run: sudo gem install apt-spy2 && sudo apt-spy2 fix
     - run: sudo apt-get update -y
-    - run: sudo apt-get install -o Acquire::Retries=5 -y gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf
+    - run: sudo apt-get install -o Acquire::Retries=5 -y gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf qemu-user-static
     - run: cmake -DCMAKE_TOOLCHAIN_FILE=CMakeARMCross.txt
     - run: make -j4 VERBOSE=1
+    - run: make -j4 test ARGS=-V
   macOS:
     name: macOS
     runs-on: macOS-latest
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 75f2744d..8b0913de 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -759,7 +759,15 @@ SET(exectargets ${exectargets} SMHasher)
 #
 # target_link_libraries( bittest SMHasherSupport ${CMAKE_THREAD_LIBS_INIT} )
 
-if(NOT (CMAKE_CROSSCOMPILING))
+set(QEMU_TESTING FALSE)
+if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
+  exec_program(cat ARGS "/proc/sys/fs/binfmt_misc/qemu-${CMAKE_SYSTEM_PROCESSOR}" OUTPUT_VARIABLE QEMU)
+  if(QEMU MATCHES "^enabled\n")
+    set(QEMU_TESTING TRUE)
+  endif()
+endif()
+
+if(NOT (CMAKE_CROSSCOMPILING) OR QEMU_TESTING)
   enable_testing()
   add_test(List SMHasher --list)
   add_test(VerifyAll SMHasher --test=VerifyAll)